digitalmars.D.learn - D expression evaluator?
- Chad J <gamerChad _spamIsBad_gmail.com> Aug 29 2007
- BLS <nanali nospam-wanadoo.fr> Aug 30 2007
- Jascha Wetzel <"[firstname]" mainia.de> Sep 05 2007
- Don Clugston <dac nospam.com.au> Sep 05 2007
Has anyone written (in D, or something compilable to D like enki bnf) a D expression evaluator? Even a parser? For clarity, what I'm looking for is something that parses and evaluates D expressions like (a && foo(b)) This is related to my other post about a unittest helper module, since this is one component that would fulfill like 90% of the work for that project. Apparently Don has something close in BLADE that works at compile time, though I don't know what source files do the parsing or how to use it for simply evaluating expressions rather than codegen. Any help would be appreciated.
Aug 29 2007
I guess Jascha's APaged is all you need. On http://apaged.mainia.de/ you'll find an example grammar that does simple expression evaluation. HTH Bjoern Chad J schrieb:Has anyone written (in D, or something compilable to D like enki bnf) a D expression evaluator? Even a parser? For clarity, what I'm looking for is something that parses and evaluates D expressions like (a && foo(b)) This is related to my other post about a unittest helper module, since this is one component that would fulfill like 90% of the work for that project. Apparently Don has something close in BLADE that works at compile time, though I don't know what source files do the parsing or how to use it for simply evaluating expressions rather than codegen. Any help would be appreciated.
Aug 30 2007
BLS wrote:I guess Jascha's APaged is all you need. On http://apaged.mainia.de/ you'll find an example grammar that does simple expression evaluation. HTH Bjoern
the examples are very simplistic, but the D grammar from seatd has complete expression support: http://seatd.mainia.de/ it doesn't evaluate them yet, though.
Sep 05 2007
Chad J wrote:Has anyone written (in D, or something compilable to D like enki bnf) a D expression evaluator? Even a parser? For clarity, what I'm looking for is something that parses and evaluates D expressions like (a && foo(b)) This is related to my other post about a unittest helper module, since this is one component that would fulfill like 90% of the work for that project. Apparently Don has something close in BLADE that works at compile time, though I don't know what source files do the parsing or how to use it for simply evaluating expressions rather than codegen.
At present, my code doesn't cope with function calls, so it won't do what you want.Any help would be appreciated.
Sep 05 2007









Jascha Wetzel <"[firstname]" mainia.de> 