View mode: basic / threaded / horizontal-split · Log in · Help
January 29, 2012
Goldie Parsing System v0.7 - API, 64-bit, Git
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).
   - Fixed Issue #20: Fails on 64-bit builds. (But note the still-open #21: 
64-bit 'staticlang' and 'sampleGenericParse' blocked by DMD Issue #6983)
   - 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 
not static-style or grammar compiling due to DMD Issue #7375.
   - 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/
January 31, 2012
Re: Goldie Parsing System v0.7 - API, 64-bit, Git
Is this capable of handling D's grammar?
January 31, 2012
Re: Goldie Parsing System v0.7 - API, 64-bit, Git
"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.

I need to prioritize that stuff. That is the #1 most-asked question 
(...hmm...you'd think I'd have my #1 most asked question in the FAQ, but I 
don't ATM...)

[1] CS theory says that you probably could, but the resulting grammar 
wouldn't be very useful.
January 31, 2012
Re: Goldie Parsing System v0.7 - API, 64-bit, Git
Bernard Helyer wrote:

> Is this capable of handling D's grammar?

Do you know of any inambigouus grammar for D?

-manfred
January 31, 2012
Re: Goldie Parsing System v0.7 - API, 64-bit, Git
"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.
February 18, 2012
Re: Goldie Parsing System v0.7 - API, 64-bit, Git
"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
Top | Discussion index | About this forum | D home