Is the world ready for a new Inform6 grammar format?

Will do.

Ok. Now I tested it and it seems perfectly fine.

For test case I used Curses, mostly because it has a more advanced vocabulary than Adventure.

First test was a compilation into GV2 both with 6.42 and then with demostration branch. Result is that they produce exacly the same bytecode (appart from version number of compilator in header).

Second test was a playthrough with a walkthrough in first GV2 and then in GV3. Then comparing the transcripts. Thew result is that the transcripts are identical (except for things that are random, like where Austin are and moves, mor what music plays on the radio).

I think it safe to make a pull request of this branch. As long as GV2 is unchanged, no harm, right?

GV3 can maybe have a note in the release notes that mentions that it’s a new format that still have limited testing (use with care).

EDIT: I, of course, also double checked the code…

Thanks!

I want to write up a couple of test cases myself, and then I’ll pass it over to David.

Yes, GV3 will be marked “experimental” for a while.

As long as GV2 is unchanged, no harm, right?

Yes, I’ve tested extensively that this doesn’t affect any GV1/2 output. (The biggest set of test cases in https://github.com/erkyrath/Inform6-Testing simply verifies that a bunch of compiles with various options produce the same bytecode.) (Aside from the header, like you said.)

1 Like

I have updated the test branch and submitted a PR: Grammar version 3 by erkyrath · Pull Request #290 · DavidKinder/Inform6 · GitHub

I’ve updated the Inform 6 Reference Addendum to describe all the new stuff.

My test implementation of parserm.h looks pretty much the same as yours above. So that’s probably good.

3 Likes