PublicShow sourcebasics.pl -- Various general DCG utilities

This library provides various commonly used DCG primitives acting on list of character codes. Character classification is based on code_type/2.

This module started its life as library(http/dcg_basics) to support the HTTP protocol. Since then, it was increasingly used in code that has no relation to HTTP and therefore this library was moved to the core library.

To be done
- This is just a starting point. We need a comprehensive set of generally useful DCG primitives.
Source string_without(+EndCodes, -Codes)// is det
Take as many codes from the input until the next character code appears in the list EndCodes. The terminating code itself is left on the input. Typical use is to read upto a defined delimiter such as a newline or other reserved character. For example:
    ...,
    string_without("\n", RestOfLine)
Arguments:
EndCodes- is a list of character codes.
See also
- string//1.

Undocumented predicates

The following predicates are exported, but not or incorrectly documented.

Source blank(Arg1, Arg2)
Source remainder(Arg1, Arg2, Arg3)
Source xdigit(Arg1, Arg2, Arg3)
Source integer(Arg1, Arg2, Arg3)
Source blanks_to_nl(Arg1, Arg2)
Source whites(Arg1, Arg2)
Source eos(Arg1, Arg2)
Source xdigits(Arg1, Arg2, Arg3)
Source alpha_to_lower(Arg1, Arg2, Arg3)
Source digit(Arg1, Arg2, Arg3)
Source nonblanks(Arg1, Arg2, Arg3)
Source nonblank(Arg1, Arg2, Arg3)
Source white(Arg1, Arg2)
Source prolog_var_name(Arg1, Arg2, Arg3)
Source number(Arg1, Arg2, Arg3)
Source digits(Arg1, Arg2, Arg3)
Source blanks(Arg1, Arg2)
Source atom(Arg1, Arg2, Arg3)
Source xinteger(Arg1, Arg2, Arg3)
Source float(Arg1, Arg2, Arg3)
Source string(Arg1, Arg2, Arg3)