compiler design
$250-750 USD
Paid on delivery
translate a program with the following grammar
PROGRAM -> VAR_SECTION BODY
VAR_SECTION -> ID_LIST ';'
ID_LIST -> id ',' ID_LIST | id
BODY -> '{' STMT_LIST '}'
STMT_LIST -> STMT STMT_LIST | STMT
STMT -> ASSIGN_STMT | PRINT_SMT | WHILE_STMT | IF_STMT | SWITCH_STMT
ASSIGN_STMT -> id '=' PRIMARY ';'
ASSIGN_STMT -> id '=' EXPR ';'
EXPR -> PRIMARY OP PRIMARY
PRIMARY -> id | num
OP -> '+' | '-' | '*' | '/'
PRINT_STMT -> print id ';'
WHILE_STMT -> 'WHILE' CONDITION BODY
IF_STMT -> 'IF' CONDITION BODY
CONDITION -> PRIMARY RELOP PRIMARY
RELOP -> '>' | '<' | '!='
SWITCH_STMT -> 'SWITCH' id '{' CASE_LIST '}'
into intermediate code aka
The input file
a = 5;
while (a > 1) {
a = a - 1;
print a;
}
print a;
generates the following output file:
a
#e1=14, #e2=3
LIT 5, 0
STO a, 0
LOD a, 0
LIT 1, 0
OPR 11, 0
JMC #e1, false
LOD a, 0
LIT 1, 0
OPR 3, 0
STO a, 0
LOD a, 0
OPR 21, 0
JMP #e2, 0
LOD a, 0
OPR 21, 0
Project ID: #5877880
About the project
5 freelancers are bidding on average $387 for this job
Hi! I a professional C/C++/C#/Java programmer. I can do this with highest satisfaction! Best Regards, Szymszteinsl