Previous: , Up: Design notes   [Contents]

20.3 LHS terminals

Marpa’s idea in losing the sharp division between terminals and non-terminals is that the distinction, while helpful for proving theorems, is not essential in practice. LHS symbols in the input might be useful for “short circuiting” the rules in which they occur. This may prove helpful in debugging, or have other applications.

However, it also can be useful, for checking input validity as well as for efficiency, to follow tradition and distinguish non-terminals from terminals. For this reason, the traditional behavior is the default in Libmarpa.