How to Build an Inverse Parser (1997)(erasmatazz.com)
erasmatazz.com
How to Build an Inverse Parser (1997)
http://www.erasmatazz.com/library/the-journal-of-computer/jcgd-volume-6/how-to-build-an-inverse.html
4 comments
This sounds a lot like auto-completion in a good IDE.
Pretty much what I was thinking. The article is dated 1997 and I am pretty sure I didn't see an autocomplete for nearly to a decade after that (tab completion, yes).
I love autocompletes from both a user and developer viewpoint (they stop my users entering crap, and it's significantly easier for them as well).
I love autocompletes from both a user and developer viewpoint (they stop my users entering crap, and it's significantly easier for them as well).
~ grammar/structure based editing
I enjoyed the closing line of the article:
> That is, after all, the acid test of a truly clean user interface: nobody notices it.
> That is, after all, the acid test of a truly clean user interface: nobody notices it.
In case anyone's wondering, "the Siboot project" refers to the game Trust & Betrayal: The Legacy of Siboot, which had the player negotiating with AI agents to gather information needed to win "mind combat" duels:
https://youtu.be/7ErHi8uElYI (2:20 shows an example conversation)
e: It seems the Internet Archive has an emulated version as well:
https://archive.org/details/msdos_Trust_and_Betrayal_-_The_L...
Sadly, it doesn't seem to have the manual.
https://youtu.be/7ErHi8uElYI (2:20 shows an example conversation)
e: It seems the Internet Archive has an emulated version as well:
https://archive.org/details/msdos_Trust_and_Betrayal_-_The_L...
Sadly, it doesn't seem to have the manual.
Several abandonware websites host the manual but I am not sure if legally, so I won't link to them here. While Chris Crawford used to distribute the "classic" Mac OS version of the game as freeware he has since removed the freeware downloads from his website.
This essentially describes how the UI of Doug Engelbart's NLS system worked. Each command was describe in a DSL called the command meta language. These grammars where then compiled into a tree over which the command interpreter followed as the user entered in commands. At each step the UI would display feedback to the user about what input they had already entered.
I implemented such an interface in my first prototype of the system that I built in anyone wants to play around with such an interface.[1] I am currently working on a cleaner and more accessible version, but it is still in the design phase and not usable yet.
[1] https://github.com/smarks159/hyperdocument-system-wiki