public override void Init(Irony.Parsing.ParsingContext context, Irony.Parsing.ParseTreeNode treeNode) { base.Init(context, treeNode); Iterator = (VariableAstNode)AddChild("iterator", treeNode.ChildNodes[0]); Set = (CollectionAstNode)AddChild("set", treeNode.ChildNodes[1]); StatementList = (StatementListNode)AddChild("statementList", treeNode.ChildNodes[2]); }
public override void Init(Irony.Parsing.ParsingContext context, Irony.Parsing.ParseTreeNode treeNode) { string type = treeNode.ChildNodes[0].FindTokenAndGetText(); switch (type.ToLower()) { case "string": _type = typeof(string); break; case "int": _type = typeof(int); break; case "decimal": _type = typeof(decimal); break; default: throw new Exception("Unhanled type: " + type); } _variable = AddChild("variable", treeNode.ChildNodes[1]) as VariableAstNode; _initialization = AddChild("initialization", treeNode.ChildNodes[2]) as ExpressionAstNode; }
public override void Init(Irony.Parsing.ParsingContext context, Irony.Parsing.ParseTreeNode treeNode) { base.Init(context, treeNode); _variable = AddChild("variable", treeNode.ChildNodes[0]) as VariableAstNode; _expression = AddChild("expression", treeNode.ChildNodes[1]) as ExpressionAstNode; }