by viergroupie
A packrat parser combinator library for C++. A simple and natural way to express grammars and their associated semantics.
- fixed glaring bug in Ignore accumulator (submitted by Christopher McFarland), replaced with SkipManyParser
- added labeled reduce functions to OpTableParser. Labeled functions have signatures (const std::string&, TermType, TermType) => TermType, where the first parameter is the operator being parsed - fixed some bugs in ManyParser - created a seperate ...
- dropped DIRECT_LEFT_RECURSION parse strategy. Parsnip is now a pure packrat parsing library. - added OpTableParser for operator precedence parsing.
- provided default names for most parsers - improved parse tracing output
- split tuple and vector sequencing into individual files - made operators && and >> synonyms for seq and seq_vec
- added default names for CharParser, CharRangeParser, StringParser - changed vector sequence operator to && - operators >>= and <<= now implement parser naming - added basic tracing to Parser::parse() function and added trace toggling via ...
- fixed some simple compile errors in BindParser.h - added a BindParser for void returning parsers - renamed BindParser to CreateParser - stripped main.cpp to make room for hyrax code in next release
- fixed packrat parsing, it no longer enters infinite loops on legal grammars - direct left recursion support is improved but still iffy, some grammars fail mysteriously - added Whitespace.h to simplify interface for changing default whitespace - ...
- fixed some glaring bugs in tuple sequences - dropped the In template parameter from Result objec
- dropped Cursor objects in favor of centralized state in the Reader. Clarifies code somewhat and makes parsing more efficient. Parser::parser and Parser::eval now take no arguments and get their position and stream from the Reader. - separated ...
Copyright © 2009 SourceForge, Inc. All rights reserved. Terms of Use