The Simple Macros

For example, the macro for proper names looks like this:

clls.pl: View Download

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.


Aljoscha Burchardt, Stephan Walter, Alexander Koller, Michael Kohlhase, Patrick Blackburn and Johan Bos
Version 1.2.5 (20030212)