Answered step by step
Verified Expert Solution
Link Copied!

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

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database Concepts

Authors: David Kroenke, David Auer, Scott Vandenberg, Robert Yoder

9th Edition

0135188148, 978-0135188149, 9781642087611

More Books

Students also viewed these Databases questions