 
 
 
 
 
   
 Next: Expression names
 Up: Applied occurrences of names
 Previous: Applied occurrences of names
 RULE: TypeName ::= Name $pTypeName COMPUTE
  TypeName.Key=pTypeName.Key;
END;
TREE SYMBOL sTypeIdUse    INHERITS TypIdUseEnv,  IdentOcc END;
TREE SYMBOL qTypeIdUse    INHERITS TypQualIdUse, IdentOcc END;
TREE SYMBOL pPkgOrTypName INHERITS PkgIdUseEnv COMPUTE
  SYNT.Sym=FullyQualifiedName(THIS.Ids);
END;
TREE SYMBOL pTypeName COMPUTE
  SYNT.Sym=FullyQualifiedName(THIS.Ids);
END;
RULE: pTypeName ::= sTypeIdUse COMPUTE
  pTypeName.Ids=SingleintList(sTypeIdUse.Sym);
  pTypeName.Key=sTypeIdUse.TypKey;
END;
RULE: pTypeName ::= pPkgOrTypName qTypeIdUse COMPUTE
  pTypeName.Ids=ConsintList(qTypeIdUse.Sym,pPkgOrTypName.Ids);
  pTypeName.Key=qTypeIdUse.TypKey;
  qTypeIdUse.TypScopeKey=TransDefer(pPkgOrTypName.TypScopeKey);
END;
RULE: pPkgOrTypName ::= sTypeIdUse COMPUTE
  pPkgOrTypName.Ids=SingleintList(sTypeIdUse.Sym);
  pPkgOrTypName.TypScopeKey=
    IF(NE(sTypeIdUse.TypKey,NoKey),TransDefer(sTypeIdUse.TypKey),
    pPkgOrTypName.PkgKey);
END;
RULE: pPkgOrTypName ::= pPkgOrTypName qTypeIdUse COMPUTE
  pPkgOrTypName[1].Ids=ConsintList(qTypeIdUse.Sym,pPkgOrTypName[2].Ids);
  pPkgOrTypName[1].TypScopeKey=
    IF(NE(qTypeIdUse.TypKey,NoKey),TransDefer(qTypeIdUse.TypKey),
    pPkgOrTypName[1].PkgKey);
  qTypeIdUse.TypScopeKey=pPkgOrTypName[2].TypScopeKey;
END;
This macro is defined in definitions 22.
This macro is invoked in definition 21.
 
2008-09-11