Augmented Transition Network Grammars
A grammar can be written in network form. Branches are labeled with parts of speech or phrase names. Actions, such as constructing a database query, can be taken as arcs are traversed.
ATN's are more readable than lists of productions; they can easily be coded in Lisp.