Single field/method grammar

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.