Esempio n. 1
0
        static public void SimplifyExpression(RusticExpr expression)
        {
            RusticExprBuilder builder = new RusticExprBuilder();

            builder.expression = expression;
            builder.SimplifyExpression();
        }
Esempio n. 2
0
        public RusticExprBuilder(RusticExpr expression, RusticContext context)
        {
            if (expression?.stacks.Count > 0)
            {
                throw new Exception("RusticExpr instance was already built and should not be built again. Did you intend to ResetExpression?");
            }

            this.expression = expression;
            this.context    = context;
            nextOperation   = new Operations.Set();
            priorityOffset  = 0;
            stacks?.Add(new RusticStack(0, null, 1));
            currentStack = stacks?[0];
        }
Esempio n. 3
0
 public RusticExprBuilder(RusticExpr expression, RusticContext context, RusticToken[] tokenList)
     : this(expression, context)
     => PutTokens(tokenList);
Esempio n. 4
0
 public RusticExprBuilder(RusticExpr expression, RusticContext context, string expressionLine)
     : this(expression, context)
     => ParseAndPutTokens(expressionLine);