Sorry, i wasn’t being clear. I’m just saying that a project to develop a new parser would benefit from being more than for Inform6 only. It could be written more generically with Inform6 being one of many targets.
It could be something new systems could use to, more easily, support parser input for example.
I think OP is looking to utilize the niceties of the compiler and the Z-machine or Glulx, to write a simple parser with little code.
I also think parsing of text adventure commands shouldn’t be confused with the much more complicated task of general parsing of natural language.
Even if the parser manages to understand the meaning of “I’m thinking about exploring the maze further”, neither the library or the game can be expected to know what to do with that input. On the other hand “go north” is clear enough, and can be translated into an action and a direction as an argument.
I also think parsing of text adventure commands shouldn’t be confused with the much more complicated task of general parsing of natural language.
Yes, this is a very valid point.
Recently, we’ve seem a lot of AI-style parser input attempts that purport to tackle the more general natural language input. But of course, as you point out, these cannot be “executed” since the game has no way of addressing them - even if they were actually from a sophisticated parser.
So what i think is needed for parser IF, is a portable “game specific parser”. You’re right, the OP wasn’t looking for this. But that’s kind of where this would be going, if attempted.
No offense, but not really; I was asking about the compiler data structures used in I6, and how easy it is to access them without using the full standard library. I certainly don’t intend to design anything as complicated and full-featured as the I6 standard library parser, or a portable parsing system that could be used across languages; I specifically just wanted to access the Z-machine grammar tables from I6.
This was spurred by the Mini-Cluedo project, where I wrote a small demo in Dialog without using the Standard Library, including a minimal parser. I was wondering how doable that would be in I6 or if accessing the grammar tables itself would require enough overhead to just be worth using a library.
It sounds like the best way to do that would be to just ignore the compiler-generated grammar tables entirely and do the parsing entirely in I6, dispatching on the dictionary words used, and indeed that’s what some other people have already done!