A functional grammar machine