www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Goldie Parsing System v0.7 - API, 64-bit, Git

reply "Nick Sabalausky" <a a.a> writes:
Goldie v0.7 is now released.

Goldie is a series of open-source parsing tools, including an optional D 
programming language library called GoldieLib. Goldie is compatible with 
GOLD Parser Builder and can be used either together with it, or as an 
alternative to it.

In this version:
(Tested to work on: DMD 2.052 - DMD 2.056, and partially DMD 2.057 as 
described below.)

    - Added a new Beginner's Tutorial: 
http://www.semitwist.com/goldie/Start/Tutorial/
    - Switched version control from SVN/DSource to Git/BitBucket.
    - GoldieLib: Added Token.get and Token.getRequired.
    - GoldieLib: Added traverse for parse tree traversal.
    - GoldieLib: Added op overloads as a preferred alternative to Token.subX 
for accessing subtokens in dynamic-style.
    - GoldieLib: Fixed: RangeException on Token.matches("<blah>", null) (ie, 
when attempting to match an empty rule with matches).


    - Many documentation updates/improvements including (in addition to the 
usual misc and API updates) an updated FAQ.
    - StaticLang: Creates the output path if it doesn't already exist.
    - Renamed "Parse Anything" sample to "Sample Generic Parse" (to avoid 
confusion with the Parse tool).
    - Added support for DMD 2.056. On DMD 2.057, dynamic-style works, but 

    - Now uses SemiTwist D Tools tag 'goldie-v0.7'.

Homepage:
    http://www.semitwist.com/goldie

ChangeLog:
    http://www.semitwist.com/goldie/ChangeLog/

Beginner's Tutorial:
    http://www.semitwist.com/goldie/Start/Tutorial/

Download Prepackaged Releases (win-x86, linux-x86, linux-x64 and 
source-only):
    http://www.semitwist.com/download/goldie/
Jan 29 2012
parent reply "Bernard Helyer" <b.helyer gmail.com> writes:
Is this capable of handling D's grammar?
Jan 31 2012
next sibling parent reply "Nick Sabalausky" <a a.a> writes:
"Bernard Helyer" <b.helyer gmail.com> wrote in message 
news:tjkdnhzvvdawzsrgcycd dfeed.kimsufi.thecybershadow.net...
 Is this capable of handling D's grammar?
Not yet, unfortunately[1] :( LALR(1) can admittedly be somewhat limiting, I need to take it to something like LALR(k) or GLR (I have another idea up my sleeve, too...). It is capable of tokenizing D though, and such a grammar for that is included (lang/dlex.grm). Although, until I add support for the GOLD v5 features, nested comments have to be handled semi-manually - ie, go through the lexer's resulting token array, if you find a '/+' token then skip to the appropriately matching '+/' token. Should be easy, but of course it'd be better to not even have to bother. don't ATM...) [1] CS theory says that you probably could, but the resulting grammar wouldn't be very useful.
Jan 31 2012
parent "Nick Sabalausky" <a a.a> writes:
"Nick Sabalausky" <a a.a> wrote in message 
news:jg8s41$2s7d$1 digitalmars.com...
 It is capable of tokenizing D though, and such a grammar for that is 
 included (lang/dlex.grm). Although, until I add support for the GOLD v5 
 features, nested comments have to be handled semi-manually - ie, go 
 through the lexer's resulting token array, if you find a '/+' token then 
 skip to the appropriately matching '+/' token. Should be easy, but of 
 course it'd be better to not even have to bother.
Oh, also, it can't properly lex the Delimited Strings yet: http://dlang.org/lex.html#DelimitedString
Feb 18 2012
prev sibling parent reply Manfred Nowak <svv1999 hotmail.com> writes:
Bernard Helyer wrote:

 Is this capable of handling D's grammar?
Do you know of any inambigouus grammar for D? -manfred
Jan 31 2012
parent "Nick Sabalausky" <a a.a> writes:
"Manfred Nowak" <svv1999 hotmail.com> wrote in message 
news:Xns9FEBAA144F566svv1999hotmailcom 65.204.18.192...
 Bernard Helyer wrote:

 Is this capable of handling D's grammar?
Do you know of any inambigouus grammar for D?
Yes, Goldie (and GOLD) don't yet have a mechanim for disambiguation.
Jan 31 2012