public SyntaxTreeIfStatementNode(FilePosition position, SyntaxTreeNode conditionNode, SyntaxTreeNode thenStatement, SyntaxTreeNode elseStatement) : base(position) { this._children.Add(conditionNode); this._children.Add(thenStatement); this._children.Add(elseStatement); }
public SyntaxTreeDyadicOpNode(FilePosition position, Symbol opCodeSymbol, SyntaxTreeNode leftHandOperand, SyntaxTreeNode rightHandOperand) : base(position) { this._children.Add(leftHandOperand); this._children.Add(rightHandOperand); this._opCodeSymbol = opCodeSymbol; }
public SyntaxTreeInlineIfNode(FilePosition position, SyntaxTreeNode boolExprNode, SyntaxTreeNode thenIntExprNode, SyntaxTreeNode elseIntExprNode) : base(position) { this._children.Add(boolExprNode); this._children.Add(thenIntExprNode); this._children.Add(elseIntExprNode); }
public SyntaxTreeForStatementNode(FilePosition position, SyntaxTreeNode variableInitialization, SyntaxTreeNode condition, SyntaxTreeNode variableAltering, SyntaxTreeNode statement) : base(position) { this._children.Add(variableInitialization); this._children.Add(condition); this._children.Add(variableAltering); this._children.Add(statement); }
public SyntaxTreeSequenceNode(FilePosition position, SyntaxTreeNode statementNode, SyntaxTreeNode prevSequenceNode) : base(position) { this._children.Add(statementNode); this._children.Add(prevSequenceNode); /* if (null != prevSequenceNode && prevSequenceNode is SyntaxTreeSequenceNode) { SyntaxTreeSequenceNode curNode = (SyntaxTreeSequenceNode)prevSequenceNode; while (curNode._children[1] != null) { curNode = (SyntaxTreeSequenceNode)curNode._children[1]; } curNode._children[1] = this; }*/ }
public SyntaxTreeAssignmentNode(FilePosition position, SyntaxTreeNode identNode, SyntaxTreeNode intExprNode) : base(position) { this._children.Add(identNode); this._children.Add(intExprNode); }
public SyntaxTreeParenthesisNode(FilePosition position, SyntaxTreeNode intExprNode) : base(position) { this._children.Add(intExprNode); }
public void SetDeclarationNodeLinkToSymbol(Symbol symbol, SyntaxTreeNode node) { foreach (var table in this._symbolTableStack) foreach (var entry in table) if (entry.symbol == symbol) { if (entry.nodeLink == null) { entry.nodeLink = node; } return; } throw new Exception("Symbol not found: " + symbol); }
public SyntaxTree(SyntaxTreeNode rootNode) { this._rootNode = rootNode; }
public SyntaxTreeReadNode(FilePosition position, SyntaxTreeNode identNode) : base(position) { this._children.Add(identNode); }
public SyntaxTreeMonadicOpNode(FilePosition position, Symbol opCodeSymbol, SyntaxTreeNode operand) : base(position) { this._children.Add(operand); this._opCodeSymbol = opCodeSymbol; }
public SyntaxTreeWhileStatementNode(FilePosition position, SyntaxTreeNode boolExpr, SyntaxTreeNode statement) : base(position) { this._children.Add(boolExpr); this._children.Add(statement); }