I’m really excited about the interest the Gazelle manual has generated! Thanks for checking it out, and for your feedback.
I got a little scared when people said they were going to start trying Gazelle out now, because it immediately made me think of how many things I’ve been meaning to fix before I unleashed it on anybody else! But on the other hand, it gives me all the more motivation to get it to a point where other people can try it out. And I’m never more motivated or get as much done as when I know people are waiting for me!
So here’s my line for the moment. Don’t try out Gazelle just yet. There are too many things for me to fix at the moment that I know are broken. But I want to fix those things ASAP and get Gazelle 0.2 out the door, so I can finally have a release that I can recommend people try out.
When will Gazelle 0.2 come? I’m hoping no more than a month. Here’s the target feature set:
- complete Strong-LL(k) lookahead support. I have the code to generate Strong-LL(k) lookahead, I just need to support this at the bytecode and runtime stage.
- a command-line compiler program (
gzlc) that takes reasonable options and is simple enough to use by reading its--help - a “tour” section for the manual
- a command-line program (
gzlparse) that can output the parse tree in a useful format, so you can see how Gazelle parses your input text. - a test suite, so that when people report bugs I can add the bugs to the test suite and not regress. this will be important for keeping my sanity.
- (stretch): make Gazelle self-hosting, so that the parser is more robust and easier to understand than the hand-written recursive descent parser I’m currently using. I don’t want people to have to deal with corner-case parser bugs.