Skip to content

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