What means "optional property"?
Which implementation supports this property? Why the argument non_terminal? Isn't the non-terminal indicator enough? Are there implementation using this for something else? The note claims so.
[] --> [a].are implementation dependent. However, such a definition, should it be accepted to be prepared for execution, must in no way influence the meaning of a grammar. Conversely: An implementation that changes its meaning by such a definition is not conforming.
{G}
first, only then can G
be used.
a --> [_|_].is implementation dependent.
?- phrase([a,b],[c|S],S).this is currently STO. Note that also
?- [a,b|S] = [c|S].is STO! Some "sequencing" is necessary should this be made NSTO.