As a simple example:
Exp = Term | Exp, AddOp, Term Term = Factor | Term, MulOp, Factor Factor = Number | Ident | PreOp, Factor | (, Exp, ) | Factor, PostOp
You can use grammar to write translations:
Exp = Term -> Term | Exp, AddOp, Term -> (, Exp, AddOp, Term, ) Term = Factor -> Factor | Term, MulOp, Factor -> (, Term, MulOp, Factor, ) Factor = Number -> Number | Ident -> Ident | PreOp, Factor -> (, PreOp, Factor, ) | (, Exp, ) -> (, Exp, ) | Factor, PostOp -> (, Factor, PostOp, )
In this case:
a
Translated to:
((a
source share