The grammar (BNF) for single-field and single-method classes is given below:
<FEARCOW> ::= <num>
| {+ <FEARCOW> <FEARCOW>}
| {- <FEARCOW> <FEARCOW>}
| {* <FEARCOW> <FEARCOW>}
| {/ <FEARCOW> <FEARCOW>}
| <id>
| {if0 <FEARCOW> <FEARCOW> <FEARCOW>}
| {with {<id> <FEARCOW>} <FEARCOW>}
| {fun {<id>} <FEARCOW>}
| {<FEARCOW> <FEARCOW>}
;; ADDED BY THE PROF
| {seq <FEARCOW> ...}
| {change <id> <FEARCOW>}
;; FOR YOUR ENJOYMENT
| {blueprint {field {<id> <FEARCOW>}} {method {<id> <FEARCOW>}}}
| {create <id>}
| {invoke <id> <id> <FEARCOW>}
where an id is not +, -, *, /, with, if0, fun,
blueprint, create, or invoke.