next up previous
Next: Relating Phrase Structure to Up: Disambiguating names Previous: Method names

Ambiguous names

Ambiguous names[14]:
RULE sambnm: pAmbiguousName ::= sAmbgIdUse END;
RULE qambnm: pAmbiguousName ::= pAmbiguousName qAmbgIdUse END;

RULE sambid: sAmbgIdUse ::= Identifier END;
RULE qambid: qAmbgIdUse ::= Identifier END;
This macro is invoked in definition 3.

Tree parsing rules[15]:
tpAmbiguousName ::= tpId(int): mksambnm;
tpAmbiguousName ::= tpDot(tpAmbiguousName,int): mkqambnm;
This macro is defined in definitions 5, 9, 12, 15, and 19.
This macro is invoked in definition 18.

Tree parsing actions[16]:
#define mksambnm(x)\
  Mksambnm(NoPosition,Mksambid(NoPosition,x))
#define mkqambnm(x,y)\
  Mkqambnm(NoPosition,x,Mkqambid(NoPosition,y))
This macro is defined in definitions 6, 10, 13, and 16.
This macro is invoked in definition 21.

Disambiguating names[17]:
ATTR tp: TPNode;

RULE: Name ::= Identifier COMPUTE
  Name.tp=TP_0_int(tpId,Identifier);
END;

RULE: Name ::= Name '.' Identifier COMPUTE
  Name[1].tp=TP_1_int(tpDot,Name[2].tp,Identifier);
END;
This macro is defined in definitions 3 and 17.
This macro is invoked in definition 2.

Tree.tp[18]:
Tree parsing rules[5]
tpAmbiguousName ::= tpNever(tpAmbiguousName,tpAmbiguousName): nop;
This macro is attached to a product file.

Tree parsing rules[19]:
tpTypeName, tpExpressionName, tpMethodName, tpPkgOrTypName,
tpAmbiguousName: NODEPTR;       "treecon.h"
This macro is defined in definitions 5, 9, 12, 15, and 19.
This macro is invoked in definition 18.

Tree.head[20]:
#include "Tree.h"
This macro is attached to a product file.

Tree.h[21]:
#ifndef TREE_H
#define TREE_H

#include "treecon.h"

#define nop(x,y)

Tree parsing actions[6]

#endif
This macro is attached to a product file.


next up previous
Next: Relating Phrase Structure to Up: Disambiguating names Previous: Method names
2008-09-11