Skip to content

25DanielG/pascal-compiler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Run with: javac */*/*.java && java src/parser/ParserTester && rm -rf */*/*.class

Language grammar: program → VAR ids ; program | VAR ids ; PROCEDURE id (maybeparms) ; stmt program | PROCEDURE id (maybeparms) ; stmt program | stmt .
stmt → VAR ids ; | WRITELN ( expr ) ; | BEGIN stmts END ; | id := expr ; | IF cond THEN stmt | WHILE cond DO stmt | FOR id := expr TO expr DO stmt | CONTINUE ; | BREAK ; | IF cond THEN stmt ELSE stmt | EXIT ;
ids → ids , id | id
maybeparms → parms | ε
parms → parms , id | id
stmts → stmts stmt | ε
expr → expr + term | expr - term | term
term → term * factor | term / factor | factor
factor → ( expr ) | - factor | num | id | id(maybeargs)
maybeargs → args | ε
args → args , expr | expr
cond → expr relop expr
relop → = | <> | < | > | <= | >=

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published