spiritd - a port of boost::spirit::classic
spiritd is a port of the classic version of the boost::spirit parser library to the D programming language. If you know what spirit is, you can pretty much just dive right in and start using spiritd. Otherwise go read the spirit documentation first.
differences to c++
There is no operator overloading in spiritd due to the lack of global operators. If you want to see operator overloading in spiritd, go pester Walter about it. Instead there are some convenience template functions to create composite parsers in spirit.factory. Have a look at the example 'test0.d'
important!
For D2, spiritd only works up to version 2.036. A compiler bug was introduced in 2.037 which prevents spiritd from compiling.
Do not build with debugging info enabled. Doing so causes optilink to barf.
todo
Nothing. Everything I need now works, so barring reported bugs I won't be doing anything else to spiritd.
change log
- 27/05/1010 r433, fixed bug in signParser which stopped negative numbers parsing.
- 22/05/2010 r422, fixed bug in implementation of lexemeD which caused problems with white space skipping in certain circumstances.
- 18/09/2009 r342, created lookAhead parser, which makes dealing with ambiguous input much easier.
- 05/09/2009 r327, changed match to a struct.
- 03/09/2009 r322, finished phrase level parsing, this makes it much easier to do D style grammars (i.e. ones where comments are consided white space).
- 02/09/2009 r316, fixes for wide character strings, grammar class, start of phrase parsing support.
- 30/08/2009 r309, initial release.
d1/d2 import files, a small test app and a powershell build script
