Each production is handled as a two element list. The first element of the list is the name of a constituent or category (let's call it C) to be searched for in working memory. The first element of the list stands for the condition part of the production and could be expanded as:
IF the working memory contains (category) C
The second element of the list is a list of alternative rewrites of, or substitutions for the category C. If we call the substitution list SL, then this second element of the list stands for the action part of the production and might be expanded as:
THEN replace C in working memory by any one of the elements of SL
make
"rules
[
[np [[det n]
[det adj n] [propn]
[adj propn]]]
[vp [[vi] [vt np] [vs dep.s]]]
[vs [[hopes] [doubts] [denies]]]
[vt [[likes] [hates] [bites]]]
[vi [[smokes] [sleeps] [fights]]]
[n [[dog] [cat] [pig] [goat] [horse]
[chipmunk]]]
[det [[the] [my] [a]]]
[adj [[very adj] [stupid]
[big]
[hairy]]]
[propn [[john] [mary]]]
[adv [[on tuesdays] [today]
[sometimes]]]
[comp [[that]]]
[dep.s [[comp s]]]
[s [[np vp] [adv
s]]]
]
E-mail: ron.brasington@rdg.ac.uk