Looking for champion - std.lang.d.lex
Nick Sabalausky
a at a.a
Sun Oct 24 13:04:22 PDT 2010
"Walter Bright" <newshound2 at digitalmars.com> wrote in message
news:ia1ps7$1fq5$2 at digitalmars.com...
> Nick Sabalausky wrote:
>> http://www.semitwist.com/goldiedocs/current/Docs/APIOver/StatVsDyn/
>
> One question I have is how does it compare with Spirit? That would be its
> main counterpart in the C++ space.
Can't say I'm really familiar with Spirit. From a brief lookover, these are
my impresions of the differences:
Spirit: Grammar is embedded into your source code as actual C++ code.
Goldie: Grammar is defined in a domain-specfic language.
But either one could probably have a wrapper to work the other way.
Spirit: Uses (abuses?) operator overloading (Although, apperently SpiritD
doesn't inherit Spirit's operator overloading:
http://www.sstk.co.uk/spiritd.php )
Goldie: Operator overloading isn't really applicable, because of using a
DSL.
As they stand, Spirit seems like it could be pretty handly for simple, quick
little DSLs, ex, things for which Goldie might seem like overkill. But
Goldie's interface could probably be improved to compete pretty well in
those cases. OTOH, Goldie's approach (being based on GOLD) has a deliberate
separation between grammar and parsing, which has it's own benefits; for
instance, grammar definitions can be re-used for any purpose.
More information about the Digitalmars-d
mailing list