This module provides some string-related predicates, specially for including in grammars defining strings.
In a grammar rule, as whitespace/0, represents whitespace (a positive number of space (32), tab (9), newline (10) or return (13) characters). Thus, Rest is a proper suffix of String with one or more whitespace characters removed. An example of use would be:
attrs([]) --> "" attrs([N|Ns]) --> whitespace, attr(N), attrs(Ns).
Usage:whitespace(S1,S2)
In a grammar rule, as whitespace0/0, represents possible whitespace (any number of space (32), tab (9), newline (10) or return (13) characters). Thus, Rest is String or a proper suffix of String with one or more whitespace characters removed. An example of use would be:
assignment(N,V) --> variable_name(N), whitespace0, "=", whitespace0, value(V).
Usage:whitespace0(S1,S2)
In a grammar rule, as string/1, represents literally String. An example of use would be:
double(A) --> string(A), string(A).
Usage 1:
Usage 2:string(A,B,C)