string := *top*. *list* := *top*. *ne-list* := *list* & [ FIRST *top*, REST *list* ]. *null* := *list*. synsem-struc := *top* & [ CATEGORY cat, NUMAGR agr ]. cat := *top*. s := cat. np := cat. vp := cat. det := cat. n := cat. agr := *top*. sg := agr. pl := agr. phrase := synsem-struc & [ ARGS *list* ]. lexeme := synsem-struc & [ ORTH string ]. sg-lexeme := lexeme & [ NUMAGR sg ]. pl-lexeme := lexeme & [ NUMAGR pl ]. root := phrase & [ CATEGORY s ].