Exercise 10      Name    ____________________   Points __/22

Document last modified:                                                                                               

G4:                                                                                                        
    <exp> ::= <exp>+<exp> | <exp>*<exp> | (<exp>) |a|b|c

G5:
    <exp> ::= <exp> + <exp> | <mulexp>
    <mulexp> ::= <mulexp>*<mulexp> | (<exp>) |a|b|c

G6:
    <exp> ::= <mulexp> + <exp>  | <mulexp>
    <mulexp> ::=  <rootexp>*<mulexp> | <rootexp>
    <rootexp> ::= (<exp>) | a | b | c

  1. (9) Give the parse tree for a*b+c*a using:
    1. Grammar G4.
    2. Grammar G5.
    3. Grammar G6.
       
  2. (9) Give the ASTs for:
    1. 2a
                                      

 

 

  1. (4) Give the RPN for the two above ASTs.
    1. ab*c+
    2. ab*ca+*
  2.  (8) Modify G6 to include an operation called:
    1. some : precedence between * and +, right-associative.

          <exp> ::= <some> + <exp>  | <some>
          <some> ::= <mulesp> SOME <some> | <mulexp>
          <mulexp> ::=  <rootexp>*<mulexp> | <rootexp>
          <rootexp> ::= (<exp>) | a | b | c

       

    2. thing : lowest precedence, right-associative.

          <thing> ::= <exp> THING <thing> | <exp>
          <exp> ::= <mulexp> + <exp>  | <mulexp>
          <mulexp> ::=  <rootexp>*<mulexp> | <rootexp>
          <rootexp> ::= (<exp>) | a | b | c