Skip to content

gDuarteg/logica-compilador

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logica-compilador

git status

EBNF

BLOCK = "{", { COMMAND }, "}" ;

COMMAND = ( λ | ASSIGNMENT | PRINT | BLOCK | WHILE | IF, TYPE), ";" ;

WHILE = "while", "(", OREXPR ,")", COMMAND;

IF = "if", "(", OREXPR ,")", COMMAND, (("else", COMMAND) | λ );

ASSIGNMENT = IDENTIFIER, "=", EXPRESSION ;

TYPE = TYPES, IDENTIFIER ;

PRINT = "println", "(", OREXPR, ")" ;

OREXPR = ANDEXPR, { "||", ANDEXPR } ;

ANDEXPR = EQEXPR, { "&&", EQEXPR } ;

EQEXPR = RELEXPR, { "==", RELEXPR } ;

RELEXPR = EXPRESSION, { (">"|"<"), EXPRESSION }

EXPRESSION = TERM, { ("+" | "-"), TERM } ;

TERM = FACTOR, { ("*" | "/"), FACTOR } ;

FACTOR = (("+" | "-" | "!" ), FACTOR) | NUMBER | "(", OREXPR, ")" | IDENTIFIER | READLN;

READLN = "readln", "(",")";

IDENTIFIER = LETTER, { LETTER | DIGIT | "_" } ;

NUMBER = DIGIT, { DIGIT } ;

LETTER = ( a | ... | z | A | ... | Z ) ;

DIGIT = ( 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 ) ;

TYPES = ("int" | "bool", "string") ;

BOOL = ("true" | "false" )

Diagrama Sintático

alt text

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published