static public void SimplifyExpression(RusticExpr expression) { RusticExprBuilder builder = new RusticExprBuilder(); builder.expression = expression; builder.SimplifyExpression(); }
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]; }
public RusticExprBuilder(RusticExpr expression, RusticContext context, RusticToken[] tokenList) : this(expression, context) => PutTokens(tokenList);
public RusticExprBuilder(RusticExpr expression, RusticContext context, string expressionLine) : this(expression, context) => ParseAndPutTokens(expressionLine);