Class VerilogCalculator


  • public final class VerilogCalculator
    extends java.lang.Object
    VerilogCalculator implements expression reduction and evaluation utilities.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static ru.ispras.fortress.data.Data evaluate​(ru.ispras.fortress.expression.Node node)
      Evaluates the expression.
      static ru.ispras.fortress.data.Data evaluate​(ru.ispras.fortress.expression.Node node, java.util.Map<java.lang.String,​ru.ispras.fortress.data.Data> context)
      Evaluates the expression.
      static ru.ispras.fortress.data.Data evaluate​(ru.ispras.fortress.expression.Node node, ru.ispras.fortress.transformer.ValueProvider valueProvider)
      Evaluates the expression.
      static java.lang.Integer evaluateInteger​(ru.ispras.fortress.expression.Node node)
      Evaluates the integer-value expression.
      static java.lang.Integer evaluateInteger​(ru.ispras.fortress.expression.Node node, java.util.Map<java.lang.String,​ru.ispras.fortress.data.Data> context)
      Evaluates the integer-value expression.
      static java.lang.Integer evaluateInteger​(ru.ispras.fortress.expression.Node node, ru.ispras.fortress.transformer.ValueProvider valueProvider)
      Evaluates the integer-value expression.
      static ru.ispras.fortress.expression.Node reduce​(ru.ispras.fortress.expression.Node node)
      Reduces the expression by folding constant subexpressions.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • reduce

        public static ru.ispras.fortress.expression.Node reduce​(ru.ispras.fortress.expression.Node node)
        Reduces the expression by folding constant subexpressions.
        Parameters:
        node - the expression to be reduced.
        Returns:
        the reduced expression.
      • evaluate

        public static ru.ispras.fortress.data.Data evaluate​(ru.ispras.fortress.expression.Node node,
                                                            ru.ispras.fortress.transformer.ValueProvider valueProvider)
        Evaluates the expression.
        Parameters:
        node - the expression to be evaluated.
        valueProvider - the variables' values provider.
        Returns:
        the expression value or null.
      • evaluate

        public static ru.ispras.fortress.data.Data evaluate​(ru.ispras.fortress.expression.Node node,
                                                            java.util.Map<java.lang.String,​ru.ispras.fortress.data.Data> context)
        Evaluates the expression.
        Parameters:
        node - the expression to be evaluated.
        context - the variables' values.
        Returns:
        the expression value or null.
      • evaluate

        public static ru.ispras.fortress.data.Data evaluate​(ru.ispras.fortress.expression.Node node)
        Evaluates the expression.
        Parameters:
        node - the expression to be evaluated.
        Returns:
        the expression value or null.
      • evaluateInteger

        public static java.lang.Integer evaluateInteger​(ru.ispras.fortress.expression.Node node)
        Evaluates the integer-value expression.
        Parameters:
        node - the expression to be evaluated.
        Returns:
        the expression value or null.
      • evaluateInteger

        public static java.lang.Integer evaluateInteger​(ru.ispras.fortress.expression.Node node,
                                                        ru.ispras.fortress.transformer.ValueProvider valueProvider)
        Evaluates the integer-value expression.
        Parameters:
        node - the expression to be evaluated.
        valueProvider - the variables' values provider.
        Returns:
        the expression value or null.
      • evaluateInteger

        public static java.lang.Integer evaluateInteger​(ru.ispras.fortress.expression.Node node,
                                                        java.util.Map<java.lang.String,​ru.ispras.fortress.data.Data> context)
        Evaluates the integer-value expression.
        Parameters:
        node - the expression to be evaluated.
        context - the variables' values.
        Returns:
        the expression value or null.