Admittedly I have not heard of PEGs before, so I'm curious: Is
this powerful enough to parse a language such as C?
I've just read a few articles referenced from this page, and the
second link was by someone who had done java 1.5, the second link
http://bford.info/packrat/
http://www.romanredz.se/papers/FI2007.pdf
It is interesting but that article left me with some questions
about the implementation in order to make it useful for my needs.
I had done an experiment with mvel expression evaluation in java
and gotten good improvements relative to homebrew expression
evaluators.
However, the mvel expressions are missing the ability to express
array operations clearly, which is something that is very clear
in D, and my particular need is to enable the user to express
array operations.
With this pegged embedded parser, it appears to me you could
provide a group of context symbols as part of a language
definition, similar to providing a list of reserved words, so
that the parsing of the user's expression would also validate the
symbols used.
Also, I've been reading David Simcha's parallel_algorithm.d, here:
https://github.com/dsimcha/parallel_algorithm/blob/master/parallel_algorithm.d
and in the parallelArrayOp portion, he has presented a way to
turn the D array expressions into code that is executed in
parallel on multicore systems. That is something I'd want to use,
but the manual lexing requirement is a bit clunky, and the rules
are unclear to me, so it seems to me a combination with the
pegged parser could make that more accessible.
Thanks,
Jay