Gramática Abstracta de MLang
Especificación de los nodos del AST de MLang utilizando como metalenguaje una gramática abstracta:
java
program ⟶ varDefinition* statement*
varDefinition ⟶ type string
intType:type ⟶ ε
floatType:type ⟶ ε
print:statement ⟶ expression
assignment:statement ⟶ expression expression
arithmetic:expression ⟶ expression string expression
variable:expression ⟶ string
intLiteral:expression ⟶ int
floatLiteral:expression ⟶ float