Question: 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 15% 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 pretty-print 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 ill-formed 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 pretty-print and evaluator by using Antlr and Java.
The pretty-print should display the internal representation of parsed expressions in
an easily readable form, such as LISP-like text form (root children).
The evaluator should evaluate the value of given expressions.
Sensible error messages should be produced if ill-formed 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 floating-point 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

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!