Difference between revisions of "PLC Laboratory 7"
Jump to navigation
Jump to search
(Created blank page) |
|||
Line 1: | Line 1: | ||
+ | == Interpreter of Arithmetic Expressions Using ANTLR == | ||
+ | Using ANTLR, implement an interpreter of arithmetic expressions. These expressions contain +, -, *, / operators (with common priorities and left associativity) and parentheses. To simplify the task, consider we have only binary operators. There are no unary operators in our language. | ||
+ | |||
+ | == Input specification == | ||
+ | |||
+ | In the input, there are expressions, they are writtent with free formatting. Each expression ends with semicolon. Numbers can be written similarly to C language constants. it can be either: decimal , octal (starting with zero) or hexadecimal (starting with characters 0x) number. | ||
+ | |||
+ | == Output specification == | ||
+ | |||
+ | For each expression write one line containing the result – the computed value of the expression. If there is any error in the input, you can stop the computation. | ||
+ | |||
+ | == Example == | ||
+ | * Input | ||
+ | <syntaxhighlight lang="haskell" > | ||
+ | 012-10; 2 * (0xff+5); | ||
+ | 0x23e5-0x201; | ||
+ | </syntaxhighlight > | ||
+ | |||
+ | * Output | ||
+ | <syntaxhighlight lang="haskell" > | ||
+ | 0 | ||
+ | 520 | ||
+ | 8676 | ||
+ | </syntaxhighlight > |
Revision as of 08:52, 27 January 2022
Contents
Interpreter of Arithmetic Expressions Using ANTLR
Using ANTLR, implement an interpreter of arithmetic expressions. These expressions contain +, -, *, / operators (with common priorities and left associativity) and parentheses. To simplify the task, consider we have only binary operators. There are no unary operators in our language.
Input specification
In the input, there are expressions, they are writtent with free formatting. Each expression ends with semicolon. Numbers can be written similarly to C language constants. it can be either: decimal , octal (starting with zero) or hexadecimal (starting with characters 0x) number.
Output specification
For each expression write one line containing the result – the computed value of the expression. If there is any error in the input, you can stop the computation.
Example
- Input
012-10; 2 * (0xff+5);
0x23e5-0x201;
- Output
0
520
8676