Great...
I played with Boost.Xpressive's static regex, and
I struggled with the long compiling-time ,overload resolution problems and code-bloat.
But YARD is very light and small, it is very surprising.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
But on the other hand, you name your primitive rules bnf_XXX. Since YARD is purely a recursive descent parser, why use BNF at all which is misleading IMHO ? Why not make YARD a PEG (parsing expression grammar) parser ?
Looking at the bnf_or, it really is an ordered choice ala PEG, not the classic EBNF 'or'.
bnf_until would be expressed with predicates I think.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Please share your comments and suggestions with regards to the YARD parser for C++. Thanks!
Great...
I played with Boost.Xpressive's static regex, and
I struggled with the long compiling-time ,overload resolution problems and code-bloat.
But YARD is very light and small, it is very surprising.
(Speaking of 0.5.1)
Well done.
But on the other hand, you name your primitive rules bnf_XXX. Since YARD is purely a recursive descent parser, why use BNF at all which is misleading IMHO ? Why not make YARD a PEG (parsing expression grammar) parser ?
Looking at the bnf_or, it really is an ordered choice ala PEG, not the classic EBNF 'or'.
bnf_until would be expressed with predicates I think.