letsc
letsc

Reputation: 2115

Grammars in compilers

How to generate rules to translate 1 form of grammar into another??

for example:

GRAMMAR 1:

BLOCK: while ( id:=N) { BLOCK } | id:=N
N: 1 | 2 | 3 | 4 | 5

GRAMMAR 2:

BLOCK: while id:=N DO BLOCK END | id:=N
N: 1 | 2 | 3 | 4 | 5

I want 2 generate a translation such that I can translate a statement in Grammar 2 into the corresponding statement in Grammar 1...

Upvotes: 0

Views: 337

Answers (1)

Oliver Charlesworth
Oliver Charlesworth

Reputation: 272772

Umm, create a parser that converts a sentence from Grammar 1 into a syntax tree, and then convert the syntax tree back into a sentence in Grammar 2?

Upvotes: 1

Related Questions