Introduction to Syntax/Exercise 1: Difference between revisions
From Wiki**3
< Introduction to Syntax
(New page: == The Problem == Consider the following grammar: <text> bexpr -> bexpr or bexpr | bterm bterm -> bterm and bterm | bfactor bfactor -> not bfactor | ( bexpr ) | true | false </text>...) |
|||
Line 3: | Line 3: | ||
Consider the following grammar: | Consider the following grammar: | ||
<text> | <text> | ||
bexpr | bexpr -> bexpr or bexpr | bterm | ||
bterm | bterm -> bterm and bterm | bfactor | ||
bfactor | bfactor -> not bfactor | ( bexpr ) | true | false | ||
</text> | </text> | ||
Revision as of 11:04, 8 April 2008
The Problem
Consider the following grammar: <text> bexpr -> bexpr or bexpr | bterm bterm -> bterm and bterm | bfactor bfactor -> not bfactor | ( bexpr ) | true | false </text>
- Identify the terminal and non-terminal symbols of the grammar.
- Show that the grammar is ambiguous by deriving two different trees for the same input sequence.
- Write a non-ambiguous grammar for the same language.
- Build the tree corresponding to the analysis of the following input sequence: not ( true or false and true )