Slide 2.6: Syntax diagrams Slide 2.8: Parse trees Home |
<exp> ::= <exp> <op> <exp> | ( <exp> ) | number <op> ::= + | – | *the following list shows two popular derivations, where the symbol
⇒
denotes the relation encompassing one step of a derivation and the square brackets enclose the production used in that step:
(1) <exp> ⇒ <exp> <op> <exp> [<exp> ⇒ <exp> <op> <exp>] (2) ⇒ ( <exp> ) <op> <exp> [<exp> ⇒ ( <exp> )] (3) ⇒ ( <exp> <op> <exp> ) <op> <exp> [<exp> ⇒ <exp> <op> <exp>] (4) ⇒ ( number <op> <exp> ) <op> <exp> [<exp> ⇒ number] (5) ⇒ ( number – <exp> ) <op> <exp> [<op> ⇒ –] (6) ⇒ ( number – number ) <op> <exp> [<exp> ⇒ number] (7) ⇒ ( number – number ) * <exp> [<op> ⇒ *] (8) ⇒ ( number – number ) * number [<exp> ⇒ number]
(1) <exp> ⇒ <exp> <op> <exp> [<exp> ⇒ <exp> <op> <exp>] (2) ⇒ <exp> <op> number [<exp> ⇒ number] (3) ⇒ <exp> * number [<op> ⇒ *] (4) ⇒ ( <exp> ) * number [<exp> ⇒ ( <exp> )] (5) ⇒ ( <exp> <op> <exp> ) * number [<exp> ⇒ <exp> <op> <exp>] (6) ⇒ ( <exp> <op> number ) * number [<exp> ⇒ number] (7) ⇒ ( <exp> – number ) * number [<op> ⇒ –] (8) ⇒ ( number – number ) – number [<exp> ⇒ number]