Goldie Parser Generator. Haxe language definition.

Nick Sabalausky a at a.a
Fri Apr 6 23:35:11 PDT 2012


"bls" <bizprac at orange.fr> wrote in message 
news:jlnp76$2mg4$1 at digitalmars.com...
> Hi Nick, I guess :)
> some questions.
>
> Since there is no formal language description for Haxe (afaik) How do you 
> implement the Gold Haxe grammar ?
>
> It seems that Goldie grammars are very similar to BNF ( not EBNF) is this 
> true ?
>
> Since I like Haxe (at least the language, not the OCaml impl.) I would 
> like to use your grammar to create a PEG port.
> (based on https://github.com/PhilippeSigaud/Pegged)
>
> So ...May I reuse your Gold Haxe grammar ?
> I would like to create Haxe to D and eventually HLA translator. The final 
> goal is to create a factory pattern based Haxe2XXX translator.
>
> Bjoern..

Goldie uses the exact same grammar definition language as GOLD. It is very 
similar to BNF, and it doesn't include repetition operators for 
non-terminals, but such things are easy enough to accomplish manually. The 
full documentation of the format is on GOLD's site here:

http://goldparser.org/doc/grammars/index.htm

It's also explained in Goldie's "Beginner's Tutorial" and on GOLD's "Getting 
Started":

http://www.semitwist.com/goldie/Start/Tutorial/
http://goldparser.org/getting-started/index.htm

However, I am working on a Haxe -> D converter already, called HaxeD (which 
uses Goldie), so the easiest thing would probably be to just use that as a 
starting point, or contribute pull requests:

http://www.dsource.org/projects/haxed

It's zlib/libpng licensed open-source (except where otherwise noted, such as 
JsonViewer), so you can fork it, borrow and adapt any part of it, pretty 
much whatever you want.

It's not really usable for real Haxe programs yet, but the current state of 
it is explained right there on its homepage.

Out of all my hobby projects, HaxeD is actually my #1 top priority at this 
point (real world work still takes precedence, of course). So I'm pretty 
committed to it. Any big gaps of time between commits are usually just due 
to making Goldie improvements to help with HaxeD. For example, I just 
finished a manic 3-week stretch fixing some embarrassing problems in 
Goldie's GRMC: Grammar Compiler that prevented it from handling the Haxe 
grammar correctly. It's fixed in Goldie's Git/BitBucket now and will be out 
in Goldie v0.9 hopefully pretty soon after DMD 2.059 is out.

Of course, if you want to adapt the grammar for Pegged, by all means, feel 
free!




More information about the Digitalmars-d mailing list