Consider the following extension for context-free grammars, which allows rules to have on the left side one (or more) terminals on the right side of the nonterminal. That is, the rules of the form:
A b -> ...
The right side can be anything, for example, in context-free grammars. In particular, it is not required that the right side will have exactly the same trailing character at the end. In this case, this extension will be context sensitive. But a terminal is not just a context. This terminal is sometimes called a pushback.
Clearly, this is no longer CFG (type-2). It includes type 1. But what is it? Is type-0 already?
This particular extension is allowed in the "Specific Phrase" dcg columns in the Prolog. (To avoid misunderstandings, I do not consider the full Prolog extensions here. That is, I assume that the terminals come from a finite alphabet and are not arbitrary terms, nor do I consider the additional Prolog arguments that are allowed in DCG, 0 already.)
Edit: Here is a simpler way to describe the extension: Add form to CFG rules
A b -> <epsilon>
false
source share