Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
How to Build an Inverse Parser (1997) (erasmatazz.com)
45 points by networked on Dec 13, 2015 | hide | past | favorite | 7 comments


> An inverse parser treats each command as a sequence of words obeying a grammar -- in other words, a sentence. The sentence is composed by the user by adding words in sequence until the sentence is complete. This has an important benefit: it uses a metaphor (the sentence) that the player already grasps, thereby collapsing the menu navigation problem into a construct that the player is comfortable with.

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


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).


~ 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.


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.


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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: