Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Coursework One Infix expression to Prefix expression The coursework is worth 1 5 % of the total mark for this module. In this coursework, you
Coursework One
Infix expression to Prefix expression
The coursework is worth of the total mark for this module. In this coursework, you are
required to specify and build an expression converter that can convert Infix expression to
Prefix expression. You are also required to produce both prettyprint and evaluator by
using Antlr and Java. The main features of your expression analyser should support both
integer number and variable, hence support coursework statement. The final program should
produce sensible error messages given illformed expressions. Finally, you are required to
submit a report which describes the specification of the language, and the implementation of
main and extended features.
The Specification
Infix expression: The expression of the form a operator b a b When an operator is in
between every pair of operands.
Prefix expression: The expression of the form a b operator ab When an operator
precede the two operands that they work on
You are expected to provide a specification of the languages. The main features of your
expression language should support integer number and variable, and also support
coursework. These should include:
The tokens of the expression language.
The syntax of the expression language.
The Implementation
You need to produce both prettyprint and evaluator by using Antlr and Java.
The prettyprint should display the internal representation of parsed expressions in
an easily readable form, such as LISPlike text form root children
The evaluator should evaluate the value of given expressions.
Sensible error messages should be produced if illformed expressions are given.
Extended Features
Visual rendering of Abstract Syntax Tree AST using tools such as java swing or
graphviz or similar tools. You will be expected to select and learn about the tools by
yourself.
Handling of both integer and floatingpoint numbers.
Support for multiple statements and control flow for multiple statements with Boolean
expressions.
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