Answered step by step
Verified Expert Solution
Question
1 Approved Answer
For this assignment, you will use FLex or Lex for the lexical part of the task and Yacc or Bison for writing a parser for
For this assignment, you will use FLex or Lex for the lexical part of the task and Yacc or Bison for writing a
parser for a simple language described as:
Consider the CFG that defines a simple expression.
E -> int + E | int * E | (E) | int
We want to read expressions and generate codes for this language using the MIPS processor's assembly
language, assuming a stack evaluation model. For example, the generated code for the expression 5+7 should
be
li $a0 5
sw $a0 0($sp)
addiu $sp $sp -4
li $a0 7
lw $t1 4($sp)
add $a0 $t1 $a0
addiu $sp $sp -4
Your work results in a C program that can take expressions written in the above language and produce the
relevant code. For example, for input 5+7, it generates the above MIPS code.
You will use FLex to capture the tokens of the language. And Yacc or Bison to parse and generate code for
valid expressions.
PS: you need to mention the commands needed to generate all needed files up to the file a.out
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started