}
}
@Override
public void setNonLocalAttr(String expr, Token x, Token y, Token rhs) {
Rule r = g.getRule(x.getText());
if ( r==null ) {
errMgr.grammarError(ErrorType.UNDEFINED_RULE_IN_NONLOCAL_REF,
g.fileName, x, x.getText(), y.getText(), expr);
}
else if ( r.resolveToAttribute(y.getText(), null)==null ) {
errMgr.grammarError(ErrorType.UNKNOWN_RULE_ATTRIBUTE,
g.fileName, y, y.getText(), x.getText(), expr);
}
}