Skip to content

AbstractGrammar.txt (VGen)

Fichero de VGen en el que se definen:

  • Los nodos del AST.
  • Los atributos que añade cada fase.
  • Las funciones de código de la especificación de código.

A partir de lo anterior, genera los esqueletos de las clases Java de todas esas etapas.

txt
CATEGORIES
type;
statement;
expression;

NODES
program -> varDefinition* statement*;

varDefinition -> type string;

intType:type -> ;
floatType:type -> ;

print:statement -> expression;
assignment:statement -> left:expression right:expression;

arithmetic:expression -> left:expression operator:string right:expression;
variable:expression -> string;
intLiteral:expression -> int;
floatLiteral:expression -> float;

// -----------------------
ATTRIBUTE GRAMMAR Identification
variable -> varDefinition;

// -----------------------
ATTRIBUTE GRAMMAR TypeChecking
expression -> type;
expression -> lvalue:boolean;

// -----------------------
ATTRIBUTE GRAMMAR MemoryAllocation
varDefinition -> [inh] address:int;    // Inherited attribute

// -----------------------
CODE SPECIFICATION Mapl
run[program]
execute[statement]
value[expression]
address[expression]
metadata[program]
metadata[varDefinition]