- Up - | Next >> |
For example, the macro for proper names looks like this:
For example, the macro for proper names looks like this:
pnSem(Symbol,usr([Root],[Root:Symbol],[],[]))
.
That is, the meaning of the word ``John'' (Symbol=john
) is a node labeled :
The macros for nouns, transitive and intransitive verbs, and prepositions are similar
nounSem(Symbol,usr([Root],[Root:Symbol],[],[])).
tvSem(Symbol,usr([Root],[Root:Symbol],[],[])).
ivSem(Symbol,usr([Root],[Root:Symbol],[],[])).
prepSem(Symbol,usr([Root],[Root:Symbol],[],[])).
Prolog Variables Again
Note that the general semantics construction framework requires us to use variables for the nodes -- called Root
in the macros mentioned above. On the other hand, in Section 6.3.1 we said that we want to represent nodes as atoms. This is the same trick we saw before when doing semantics construction with the -calculus. Again, we will undo this cheat by "atomizing" all Prolog variables (nodes) after the semantics construction is finished.
- Up - | Next >> |