Converting EBNF To BNF
Answer :
See this page. It contains instructions for each production that needs to be converted:
From EBNF to BNF
For building parsers (especially bottom-up) a BNF grammar is often better, than EBNF. But it's easy to convert an EBNF Grammar to BNF:
Convert every repetition
{ E }
to a fresh non-terminalX
and addX = ε | X E.
Convert every option
[ E ]
to a fresh non-terminalX
and addX = ε | E.
(We can convert
X = A [ E ] B.
toX = A E B | A B.
)Convert every group
( E )
to a fresh non-terminalX
and addX = E.
We can even do away with alternatives by having several productions with the same non-terminal.
X = E | E'.
becomesX = E. X = E'.
Comments
Post a Comment