Contents
Page-10
Prev
Next
Page+10
Index
Semantics Influences Parsing
Example: Operator Precedence:
|
| A + B * C |
|
means: | A + (B * C) |
|
not: | (A + B) * C
|
Possible solutions:
- Unambiguous operator precedence grammar.
Large, ugly grammar and parser.
In Pascal, the grammar is not large, but lack of precedence
forces the programmer to parenthesize:
if x > y and y > z then ...
generates errors; it must be written as:
if (x > y) and (y > z) then ...
- Ambiguous grammar; precedence guides parser.
Short, simple, clean grammar and parser.