module LESSON-03-A
syntax Boolean ::= "true" | "false"
| "!" Boolean [function]
| Boolean "&&" Boolean [function]
| Boolean "^" Boolean [function]
| Boolean "||" Boolean [function]
endmodule
module LESSON-03-B
syntax Color ::= Yellow() | Blue()
syntax Fruit ::= Banana() | Blueberry()
syntax Color ::= colorOf(Fruit) [function]
endmodule
module LESSON-03-C
syntax Color ::= "Yellow" "(" ")" | "Blue" "(" ")"
syntax Fruit ::= "Banana" "(" ")" | "Blueberrry" "(" ")"
syntax Color ::= "colorOf" "(" Fruit ")" [function]
endmodule
module LESSON-03-D
syntax Boolean ::= "true" | "false"
| "(" Boolean ")" [bracket]
| "!" Boolean [function]
| Boolean "&&" Boolean [function]
| Boolean "^" Boolean [function]
| Boolean "||" Boolean [function]
endmodule