public GrammarAST ParseArtificialRule(string ruleText)
{
ANTLRLexer lexer = new ANTLRLexer(new Antlr.Runtime.ANTLRStringStream(ruleText));
TokenStreamRewriteEngine tokbuf = new TokenStreamRewriteEngine(lexer);
tokbuf.Discard(ANTLRParser.WS, ANTLRParser.ML_COMMENT, ANTLRParser.COMMENT, ANTLRParser.SL_COMMENT);
ANTLRParser parser = new ANTLRParser(new Antlr.Runtime.CommonTokenStream(tokbuf));
parser.Grammar = this;
parser.GrammarType = this.type;
try
{
Antlr.Runtime.IAstRuleReturnScope<GrammarAST> result = parser.rule();
return result.Tree;
}
catch (Exception e)
{
ErrorManager.Error(ErrorManager.MSG_ERROR_CREATING_ARTIFICIAL_RULE, e);
return null;
}
}