Next: Method names
Up: Applied occurrences of names
Previous: Type names
RULE: Expression ::= Name $pExpressionName COMPUTE
END;
TREE SYMBOL sExprIdUse INHERITS VarIdUseEnv, FldIdUseEnv, IdentOcc END;
TREE SYMBOL qExprIdUse INHERITS FldQualIdUse, IdentOcc END;
TREE SYMBOL pExpressionName COMPUTE
SYNT.Sym=FullyQualifiedName(THIS.Ids);
END;
RULE: pExpressionName ::= COMPUTE
pExpressionName.Ids=SingleintList(NoStrIndex);
pExpressionName.Key=NoKey;
END;
RULE: pExpressionName ::= sExprIdUse COMPUTE
pExpressionName.Ids=SingleintList(sExprIdUse.Sym);
pExpressionName.Key=
IF(NE(sExprIdUse.VarKey,NoKey),sExprIdUse.VarKey,
IF(NE(sExprIdUse.FldKey,NoKey),sExprIdUse.FldKey,
NoKey));
END;
RULE: pExpressionName ::= pAmbiguousName qExprIdUse COMPUTE
pExpressionName.Ids=ConsintList(qExprIdUse.Sym,pAmbiguousName.Ids);
pExpressionName.Key=qExprIdUse.FldKey;
qExprIdUse.FldScopeKey=pAmbiguousName.TypScopeKey;
END;
This macro is defined in definitions 23.
This macro is invoked in definition 21.
2008-09-11