RulePropertyRef getRulePropertyRef(Token prop) { try { Class<? extends RulePropertyRef> c = thisRulePropToModelMap.get(prop.getText()); Constructor<? extends RulePropertyRef> ctor = c.getConstructor(StructDecl.class, String.class); RulePropertyRef ref = ctor.newInstance(nodeContext, getRuleLabel(prop.getText())); return ref; } catch (Exception e) { factory.getGrammar().tool.errMgr.toolError(ErrorType.INTERNAL_ERROR, e); } return null; }
RulePropertyRef getRulePropertyRef(Token prop) { try { Class<? extends RulePropertyRef> c = thisRulePropToModelMap.get(prop.getText()); Constructor<? extends RulePropertyRef> ctor = c.getConstructor(StructDecl.class, String.class); RulePropertyRef ref = ctor.newInstance(nodeContext, getRuleLabel(prop.getText())); return ref; } catch (Exception e) { factory.getGrammar().tool.errMgr.toolError(ErrorType.INTERNAL_ERROR, e); } return null; }
RulePropertyRef getRulePropertyRef(Token prop) { try { Class<? extends RulePropertyRef> c = thisRulePropToModelMap.get(prop.getText()); Constructor<? extends RulePropertyRef> ctor = c.getConstructor(StructDecl.class, String.class); RulePropertyRef ref = ctor.newInstance(nodeContext, getRuleLabel(prop.getText())); return ref; } catch (Exception e) { factory.getGrammar().tool.errMgr.toolError(ErrorType.INTERNAL_ERROR, e); } return null; }
RulePropertyRef getRulePropertyRef(Token prop) { try { Class<? extends RulePropertyRef> c = thisRulePropToModelMap.get(prop.getText()); Constructor<? extends RulePropertyRef> ctor = c.getConstructor(StructDecl.class, String.class); RulePropertyRef ref = ctor.newInstance(nodeContext, getRuleLabel(prop.getText())); return ref; } catch (Exception e) { factory.getGrammar().tool.errMgr.toolError(ErrorType.INTERNAL_ERROR, e); } return null; }
RulePropertyRef getRulePropertyRef(Token prop) { try { Class<? extends RulePropertyRef> c = thisRulePropToModelMap.get(prop.getText()); Constructor<? extends RulePropertyRef> ctor = c.getConstructor(StructDecl.class, String.class); RulePropertyRef ref = ctor.newInstance(nodeContext, getRuleLabel(prop.getText())); return ref; } catch (Exception e) { factory.getGrammar().tool.errMgr.toolError(ErrorType.INTERNAL_ERROR, e); } return null; }
RulePropertyRef getRulePropertyRef(Token x, Token prop) { Grammar g = factory.getGrammar(); try { Class<? extends RulePropertyRef> c = rulePropToModelMap.get(prop.getText()); Constructor<? extends RulePropertyRef> ctor = c.getConstructor(StructDecl.class, String.class); RulePropertyRef ref = ctor.newInstance(nodeContext, getRuleLabel(x.getText())); return ref; } catch (Exception e) { g.tool.errMgr.toolError(ErrorType.INTERNAL_ERROR, e, prop.getText()); } return null; }
RulePropertyRef getRulePropertyRef(Token x, Token prop) { Grammar g = factory.getGrammar(); try { Class<? extends RulePropertyRef> c = rulePropToModelMap.get(prop.getText()); Constructor<? extends RulePropertyRef> ctor = c.getConstructor(StructDecl.class, String.class); RulePropertyRef ref = ctor.newInstance(nodeContext, getRuleLabel(x.getText())); return ref; } catch (Exception e) { g.tool.errMgr.toolError(ErrorType.INTERNAL_ERROR, e, prop.getText()); } return null; }
RulePropertyRef getRulePropertyRef(Token x, Token prop) { Grammar g = factory.getGrammar(); try { Class<? extends RulePropertyRef> c = rulePropToModelMap.get(prop.getText()); Constructor<? extends RulePropertyRef> ctor = c.getConstructor(StructDecl.class, String.class); RulePropertyRef ref = ctor.newInstance(nodeContext, getRuleLabel(x.getText())); return ref; } catch (Exception e) { g.tool.errMgr.toolError(ErrorType.INTERNAL_ERROR, e, prop.getText()); } return null; }
RulePropertyRef getRulePropertyRef(Token x, Token prop) { Grammar g = factory.getGrammar(); try { Class<? extends RulePropertyRef> c = rulePropToModelMap.get(prop.getText()); Constructor<? extends RulePropertyRef> ctor = c.getConstructor(StructDecl.class, String.class); RulePropertyRef ref = ctor.newInstance(nodeContext, getRuleLabel(x.getText())); return ref; } catch (Exception e) { g.tool.errMgr.toolError(ErrorType.INTERNAL_ERROR, e, prop.getText()); } return null; }
RulePropertyRef getRulePropertyRef(Token x, Token prop) { Grammar g = factory.getGrammar(); try { Class<? extends RulePropertyRef> c = rulePropToModelMap.get(prop.getText()); Constructor<? extends RulePropertyRef> ctor = c.getConstructor(StructDecl.class, String.class); RulePropertyRef ref = ctor.newInstance(nodeContext, getRuleLabel(x.getText())); return ref; } catch (Exception e) { g.tool.errMgr.toolError(ErrorType.INTERNAL_ERROR, e, prop.getText()); } return 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())); break; case PREDEFINED_RULE:
chunks.add(new QRetValueRef(nodeContext, getRuleLabel(x.getText()), y.getText())); break;
@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 } }
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())); break; case PREDEFINED_RULE:
chunks.add(new QRetValueRef(nodeContext, getRuleLabel(x.getText()), y.getText())); break;
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())); break; case PREDEFINED_RULE:
@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 } }