public override ail.net.parser.AstNode Start(object xi_item) { ail.net.parser.AstNode result = null; if (((ail.net.parser.EarleyParser.Item)xi_item).CoreItem.Rule.Id == (int)ail.net.test.SssGrammar.EGrammar.eSSS) { result = new ail.net.test.SssAstNode((int)ail.net.test.SssAstNode.EType.eSSpS); result.Token = (ail.net.test.SssToken)((ail.net.parser.EarleyParser.Item)xi_item).MasterChart.Token.Clone(); } else if (((ail.net.parser.EarleyParser.Item)xi_item).CoreItem.Rule.Id == (int)ail.net.test.SssGrammar.EGrammar.eSS) { //?? result = new ail.net.test.SssAstNode((int)ail.net.test.SssAstNode.EType.eSS); } return(result); }
public override ail.net.parser.AstNode HandleNonTerminalBefore(ail.net.parser.AstNode xi_node, object xi_item) { ail.net.parser.AstNode result = null; if (((ail.net.parser.EarleyParser.Item)xi_item).CoreItem.Rule.Id == (int)ail.net.test.SssGrammar.EGrammar.eSSS) { result = new ail.net.test.SssAstNode((int)ail.net.test.SssAstNode.EType.eSn); xi_node.AddNode(result); } else if (((ail.net.parser.EarleyParser.Item)xi_item).CoreItem.Rule.Id == (int)ail.net.test.SssGrammar.EGrammar.eSS) { result = xi_node; } else if (((ail.net.parser.EarleyParser.Item)xi_item).CoreItem.Rule.Id == (int)ail.net.test.SssGrammar.EGrammar.eSn) { result = new ail.net.test.SssAstNode((int)ail.net.test.SssAstNode.EType.eSn); xi_node.AddNode(result); } return(result); }