public void setRuleAST(String ruleName, GrammarAST t) { Rule r = getLocallyDefinedRule(ruleName); if ( r!=null ) { r.tree = t; r.EORNode = t.getLastChild(); } }
public void setRuleAST(String ruleName, GrammarAST t) { Rule r = getLocallyDefinedRule(ruleName); if ( r!=null ) { r.tree = t; r.EORNode = t.getLastChild(); } }
public void setRuleAST(String ruleName, GrammarAST t) { Rule r = getLocallyDefinedRule(ruleName); if ( r!=null ) { r.tree = t; r.EORNode = t.getLastChild(); } }
public void setRuleAST(String ruleName, GrammarAST t) { Rule r = getLocallyDefinedRule(ruleName); if ( r!=null ) { r.tree = t; r.EORNode = t.getLastChild(); } }
public static GrammarAST createSimpleRuleAST( String name, GrammarAST block, boolean fragment ) { TreeAdaptor adaptor = new grammar_Adaptor(null); GrammarAST modifier = null; if ( fragment ) { modifier = (GrammarAST)adaptor.create( FRAGMENT, "fragment" ); } /* * EOBAST = block.getLastChild() * ^(RULE[block,"rule"] ID["name"] {modifier} ARG["ARG"] RET["RET"] SCOPE["scope"] {block} EOR[EOBAST,"<end-of-rule>"]) */ GrammarAST rule = (GrammarAST)adaptor.create( RULE, block.getToken(), "rule" ); adaptor.addChild( rule, adaptor.create( ID, name ) ); if ( modifier != null ) adaptor.addChild( rule, modifier ); adaptor.addChild( rule, adaptor.create( ARG, "ARG" ) ); adaptor.addChild( rule, adaptor.create( RET, "RET" ) ); adaptor.addChild( rule, adaptor.create( SCOPE, "scope" ) ); adaptor.addChild( rule, block ); adaptor.addChild( rule, adaptor.create( EOR, block.getLastChild().getToken(), "<end-of-rule>" ) ); return rule; }
public static GrammarAST createSimpleRuleAST( String name, GrammarAST block, boolean fragment ) { TreeAdaptor adaptor = new grammar_Adaptor(null); GrammarAST modifier = null; if ( fragment ) { modifier = (GrammarAST)adaptor.create( FRAGMENT, "fragment" ); } /* * EOBAST = block.getLastChild() * ^(RULE[block,"rule"] ID["name"] {modifier} ARG["ARG"] RET["RET"] SCOPE["scope"] {block} EOR[EOBAST,"<end-of-rule>"]) */ GrammarAST rule = (GrammarAST)adaptor.create( RULE, block.getToken(), "rule" ); adaptor.addChild( rule, adaptor.create( ID, name ) ); if ( modifier != null ) adaptor.addChild( rule, modifier ); adaptor.addChild( rule, adaptor.create( ARG, "ARG" ) ); adaptor.addChild( rule, adaptor.create( RET, "RET" ) ); adaptor.addChild( rule, adaptor.create( SCOPE, "scope" ) ); adaptor.addChild( rule, block ); adaptor.addChild( rule, adaptor.create( EOR, block.getLastChild().getToken(), "<end-of-rule>" ) ); return rule; }
GrammarAST eob = b.getLastChild(); // loops will use EOB DFA
GrammarAST eob = b.getLastChild(); // loops will use EOB DFA
GrammarAST eob = (GrammarAST)b.getLastChild(); // loops will use EOB DFA
blk = (GrammarAST)blk.getChild(0); GrammarAST eob = blk.getLastChild();
blk = (GrammarAST)blk.getChild(0); GrammarAST eob = blk.getLastChild();
blk = (GrammarAST)blk.getFirstChild(); GrammarAST eob = blk.getLastChild();