public override void Visit(LetStatementNode node) { // We need to visit the initializer first so that it can't refer to variables // introduced in the pattern. Visit(node.Initializer); Visit(node.Pattern); }
void LetStatement(ref StatementNode node) { ExpressionNode vnode = null; ExpressionNode enode = null; if (la.kind == 29) { Get(); } if (la.kind == 1) { NumericReference(ref vnode); Expect(23); NumericExpression(ref enode); } else if (la.kind == 9) { StringVariable(ref vnode); Expect(23); StringExpression(ref enode); } else { SynErr(57); } node = new LetStatementNode((ReferenceNode)vnode, enode); }