feat-struc := *top*. syn-struc := feat-struc & [ HEAD pos, SPR *list*, COMPS *list* ]. pernum := feat-struc. 3sing := pernum. non-3sing := pernum. pos := feat-struc & [ AGR pernum, MOD *list* ]. noun := pos & [MOD <>]. verb := pos & [MOD <>]. det := pos & [MOD <>]. prep := pos & [MOD < [COMPS <>, SPR < syn-struc >] >]. phrase := syn-struc & [ ARGS *list* ]. word := syn-struc & [ ORTH string ]. root := phrase & [ HEAD verb, SPR < >, COMPS < > ]. ;;;;;;;;;;;;;;;;;;;;;;; string := *top*. *list* := *top*. *ne-list* := *list* & [ FIRST *top*, REST *list* ]. *null* := *list*.