Presentation is loading. Please wait.

Presentation is loading. Please wait.

Assignment 3 Solution Background

Similar presentations


Presentation on theme: "Assignment 3 Solution Background"— Presentation transcript:

1 Assignment 3 Solution Background

2 Constant Expression : Infix to postfix
2 + 3 * 4 ( 2 + (3 * 4 ) ) * + Evaluating postfix expression using stack | 2 | | 2 | 3 | 4 | | 2 | 12 | |14|

3 Evaluating postfix expression using stack
| 2 | | 2 | 3 | 4 | | 2 | 12 | |14| Compiling constant expression for a stack machine Push 2 Push 3 Push 4 Mul Add

4 Generalizing to expressions with variables i + j * k
Push i Push j Push k Mul Add Conversion to abstract syntax tree + i * j k

5 Generalizing to expressions with variables i + j * k
Push i Push j Push k Mul Add Byte code generation for static f(int i,j,k) iload_0 iload_1 iload_2 imul iadd

6 Byte code for i + j + k for static f(int i,j,k)
Right associative “+” iload_0 iload_1 iload_2 iadd Left associative “+” iload_0 iload_1 iadd iload_2

7 Introducing numeric types with real variables a + b
Push a Push b Add Byte code generation for static f(double a,b) dload_0 dload_2 dadd

8 Mixing int and double variables (requiring coercion code) for static f(double a,int i, j)
i + j * a iload_2 i2d iload_3 dload_0 dmul dadd

9 Translation algorithm essence trans (e1 * e2) = trans(e1)
[type coercion code?] trans(e2) trans(*) Map grammar rules to control structures E.g., alternatives, while-loop, etc


Download ppt "Assignment 3 Solution Background"

Similar presentations


Ads by Google