previous | start | next

Question 1b answer

Give a left-most derivation of

B = C *(A * C + B)

for the grammar:
Rule Number       Rule
1                 <assign> -> <id> '=' <expr>
2,3,4             <id> -> 'A' | 'B' | 'C'
5                 <expr> -> <id> '+' <expr>
6                         | <id> '*' <expr>
7                         | '(' <expr> ')'
8                         | <id>



Left most derivation:
                                            Rule used

    1   <assign> => id = <expr>                     1
    2            => B = <expr>                      3
    3            => B = id * <expr>                 6
    4            => B = C * <expr>                  4
    5            => B = C * ( <expr> )              7
    6            => B = C * (id * <expr>)           6
    7            => B = C * (A * <expr>)            2
    8            => B = C * (A * id + <expr>)       5
    9            => B = C * (A * C + <expr>)        4
   10            => B = C * (A * C + id)            8
   11            => B = C * (A * C + B)             3


previous | start | next