On 10/7/07, Lowell Thomas <[EMAIL PROTECTED]> wrote:
> Hi, I'm new to the list and I can see by the member names that I am a novice
> venturing into expert waters. I am the developer of APG – an ABNF Parser
> Generator. It is a project that began as a learning curiosity but has
> improved with successive releases. I am about to release version 5.0, and in
> that release I am claiming that APG 5.0 parsers and PEG recognize the same
> set of languages. This result, if true, is surprising to me, since APG
> starts with a context-free grammar formalism and PEG makes a point of not.
> The argument is heuristic, not mathematical, but the result looks almost
> obvious on the face of it. I'm guessing this is either already known or I'm
> missing the point somewhere. I don't want to make false claims or erroneous
> representations of PEG, so your criticisms and comments would be welcome,
> should you be interested in taking a look at it. You can find the discussion
> and the software at the temporary locations:
>
> http://www.coasttocoastresearch.com/Temp/Apg5_0_description.htm
> http://www.coasttocoastresearch.com/Temp/Apg5_0.zip
>
> Thanks.
> Lowell Thomas

I had a similar observation with other recursive-descent libraries
such as Boost.Spirit. It seems to me that as soon as you add
disambiguation and zero-width parsing rules to a BNF you end up with a
PEG, but I suspect that this is too facile of an understanding. Can
anyone help clarify the difference?

However, the documentation of Boost.Spirit describes it as
non-deterministic. I am unsure exactly why they say this, but I
suspect that it is because the order of evaluation of arguments to a
function is not specified in the C++ standard. Does your library avoid
this problem Lowell?

I look forward to other people's insights into these issues.

Christopher Diggins
http://www.cdiggins.com

_______________________________________________
PEG mailing list
PEG@lists.csail.mit.edu
https://lists.csail.mit.edu/mailman/listinfo/peg

Reply via email to