Hacker News new | ask | show | jobs
by smarks159 3847 days ago
> 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