Next: About this document ...
Up: The Assignment
Previous: Exercise 3
Use the lex program to write a very basic calculator.
It should read and evaluate arithmetic expressions
of the form
{int}({binop}{int})?
where int stands for an integer and binop
denotes +, - or *.
Observe that each of the above
arithmetic expressions contains at most one
arithmetic operation.
Here's a session with such a calculator
? -3
-> -3
? -3 + 4
-> 1
? 2 + 3
-> 5
? 2 + 3 + 4 + 5
-> 5
? 2 / 3
Invalid expression: /
? 1234567890 * 987654321
-> -671530190
Optionally your calculator can consider arithmetic expressions
of the form
({val} :=)? {val}({binop}{val})?
where val is either an integer
or an identifier.
In that case your calculator will manage a symbol table
for these identifiers.
Next: About this document ...
Up: The Assignment
Previous: Exercise 3
Marc Moreno Maza
2004-12-01