case ARG: chunks.add(new ArgRef(nodeContext,y.getText())); break; // has to be current rule case RET: chunks.add(new QRetValueRef(nodeContext, getRuleLabel(x.getText()), y.getText()));
case ARG: chunks.add(new ArgRef(nodeContext,y.getText())); break; // has to be current rule case RET: if ( factory.getCurrentRuleFunction()!=null &&
case ARG: chunks.add(new ArgRef(nodeContext,y.getText())); break; // has to be current rule case RET: chunks.add(new QRetValueRef(nodeContext, getRuleLabel(x.getText()), y.getText()));
case ARG: chunks.add(new ArgRef(nodeContext,y.getText())); break; // has to be current rule case RET: if ( factory.getCurrentRuleFunction()!=null &&
case ARG: chunks.add(new ArgRef(nodeContext,y.getText())); break; // has to be current rule case RET: chunks.add(new QRetValueRef(nodeContext, getRuleLabel(x.getText()), y.getText()));
@Override public void attr(String expr, Token x) { gen.g.tool.log("action-translator", "attr "+x); Attribute a = node.resolver.resolveToAttribute(x.getText(), node); if ( a!=null ) { switch ( a.dict.type ) { case ARG: chunks.add(new ArgRef(nodeContext,x.getText())); break; case RET: chunks.add(new RetValueRef(rf.ruleCtx, x.getText())); break; case LOCAL: chunks.add(new LocalRef(nodeContext,x.getText())); break; case PREDEFINED_RULE: chunks.add(getRulePropertyRef(x)); break; } } if ( node.resolver.resolvesToToken(x.getText(), node) ) { chunks.add(new TokenRef(nodeContext,getTokenLabel(x.getText()))); // $label return; } if ( node.resolver.resolvesToLabel(x.getText(), node) ) { chunks.add(new LabelRef(nodeContext,getTokenLabel(x.getText()))); // $x for x=ID etc... return; } if ( node.resolver.resolvesToListLabel(x.getText(), node) ) { chunks.add(new ListLabelRef(nodeContext,x.getText())); // $ids for ids+=ID etc... return; } Rule r = factory.getGrammar().getRule(x.getText()); if ( r!=null ) { chunks.add(new LabelRef(nodeContext,getRuleLabel(x.getText()))); // $r for r rule ref } }
@Override public void attr(String expr, Token x) { gen.g.tool.log("action-translator", "attr "+x); Attribute a = node.resolver.resolveToAttribute(x.getText(), node); if ( a!=null ) { switch ( a.dict.type ) { case ARG: chunks.add(new ArgRef(nodeContext,x.getText())); break; case RET: chunks.add(new RetValueRef(rf.ruleCtx, x.getText())); break; case LOCAL: chunks.add(new LocalRef(nodeContext,x.getText())); break; case PREDEFINED_RULE: chunks.add(getRulePropertyRef(x)); break; } } if ( node.resolver.resolvesToToken(x.getText(), node) ) { chunks.add(new TokenRef(nodeContext,getTokenLabel(x.getText()))); // $label return; } if ( node.resolver.resolvesToLabel(x.getText(), node) ) { chunks.add(new LabelRef(nodeContext,getTokenLabel(x.getText()))); // $x for x=ID etc... return; } if ( node.resolver.resolvesToListLabel(x.getText(), node) ) { chunks.add(new ListLabelRef(nodeContext,x.getText())); // $ids for ids+=ID etc... return; } Rule r = factory.getGrammar().getRule(x.getText()); if ( r!=null ) { chunks.add(new LabelRef(nodeContext,getRuleLabel(x.getText()))); // $r for r rule ref } }
@Override public void attr(String expr, Token x) { gen.g.tool.log("action-translator", "attr "+x); Attribute a = node.resolver.resolveToAttribute(x.getText(), node); if ( a!=null ) { switch ( a.dict.type ) { case ARG: chunks.add(new ArgRef(nodeContext,x.getText())); break; case RET: chunks.add(new RetValueRef(rf.ruleCtx, x.getText())); break; case LOCAL: chunks.add(new LocalRef(nodeContext,x.getText())); break; case PREDEFINED_RULE: chunks.add(getRulePropertyRef(x)); break; } } if ( node.resolver.resolvesToToken(x.getText(), node) ) { chunks.add(new TokenRef(nodeContext,getTokenLabel(x.getText()))); // $label return; } if ( node.resolver.resolvesToLabel(x.getText(), node) ) { chunks.add(new LabelRef(nodeContext,getTokenLabel(x.getText()))); // $x for x=ID etc... return; } if ( node.resolver.resolvesToListLabel(x.getText(), node) ) { chunks.add(new ListLabelRef(nodeContext,x.getText())); // $ids for ids+=ID etc... return; } Rule r = factory.getGrammar().getRule(x.getText()); if ( r!=null ) { chunks.add(new LabelRef(nodeContext,getRuleLabel(x.getText()))); // $r for r rule ref } }
@Override public void attr(String expr, Token x) { gen.g.tool.log("action-translator", "attr "+x); Attribute a = node.resolver.resolveToAttribute(x.getText(), node); if ( a!=null ) { switch ( a.dict.type ) { case ARG: chunks.add(new ArgRef(nodeContext,x.getText())); break; case RET: chunks.add(new RetValueRef(rf.ruleCtx, x.getText())); break; case LOCAL: chunks.add(new LocalRef(nodeContext,x.getText())); break; case PREDEFINED_RULE: chunks.add(getRulePropertyRef(x)); break; } } if ( node.resolver.resolvesToToken(x.getText(), node) ) { chunks.add(new TokenRef(nodeContext,getTokenLabel(x.getText()))); // $label return; } if ( node.resolver.resolvesToLabel(x.getText(), node) ) { chunks.add(new LabelRef(nodeContext,getTokenLabel(x.getText()))); // $x for x=ID etc... return; } if ( node.resolver.resolvesToListLabel(x.getText(), node) ) { chunks.add(new ListLabelRef(nodeContext,x.getText())); // $ids for ids+=ID etc... return; } Rule r = factory.getGrammar().getRule(x.getText()); if ( r!=null ) { chunks.add(new LabelRef(nodeContext,getRuleLabel(x.getText()))); // $r for r rule ref } }
@Override public void attr(String expr, Token x) { gen.g.tool.log("action-translator", "attr "+x); Attribute a = node.resolver.resolveToAttribute(x.getText(), node); if ( a!=null ) { switch ( a.dict.type ) { case ARG: chunks.add(new ArgRef(nodeContext,x.getText())); break; case RET: chunks.add(new RetValueRef(rf.ruleCtx, x.getText())); break; case LOCAL: chunks.add(new LocalRef(nodeContext,x.getText())); break; case PREDEFINED_RULE: chunks.add(getRulePropertyRef(x)); break; } } if ( node.resolver.resolvesToToken(x.getText(), node) ) { chunks.add(new TokenRef(nodeContext,getTokenLabel(x.getText()))); // $label return; } if ( node.resolver.resolvesToLabel(x.getText(), node) ) { chunks.add(new LabelRef(nodeContext,getTokenLabel(x.getText()))); // $x for x=ID etc... return; } if ( node.resolver.resolvesToListLabel(x.getText(), node) ) { chunks.add(new ListLabelRef(nodeContext,x.getText())); // $ids for ids+=ID etc... return; } Rule r = factory.getGrammar().getRule(x.getText()); if ( r!=null ) { chunks.add(new LabelRef(nodeContext,getRuleLabel(x.getText()))); // $r for r rule ref } }