7,816 views
1 votes
1 votes

Translate the  following arithmetic expression into:

  1. $a=b[i]+c[j]$
  2. $a[i]=b\ast c-b\ast d$
  3. $x=f(y+1)+2$
  4. $x=\ast p + \&y$

 

  1. A Syntax tree
  2. Quadruples
  3. Triples
  4. Indirect triples

1 Answer

2 votes
2 votes

1. a=b[i]+c[j]

Quadruples

  Operator Argument1 Argument2 Result
0 =[] b i t1
1 =[] c j t2
2 + t1 t2 t3
3 = t3   a

Triples

  Operator Argument1 Argument2
0 =[] b i
1 =[] c j
2 + (0) (1)
3 = a (2)

Indirect Triples

0 (0)
1 (1)
2 (2)
3 (3)

 

2. a[i]=b∗c−b∗d

Quadruples

  Operator Argument1 Argument2 Result
0 * b c t1
1 * b d t2
2 - t1 t2 t3
3 []= a i t4
4 = t3   t4

Triples

  Operator Argument1 Argument2
0 * b c
1 * b d
2 - (0) (1)
3 []= a i
4 = (3) (2)
edited by

Related questions

0 votes
0 votes
1 answer
1
admin asked Sep 7, 2019
1,643 views
Show how to transform a three-address code sequence into one in which each defined variable gets a unique variable name.
0 votes
0 votes
1 answer
2