Line Syntax

The detection of lines depends on the detection of tokens and fillers. A data line is a sequence of at least one token interspersed with fillers and terminated by a terminating period. A terminating period is a period that is not preceded by a graphic character and that is followed by a blank, a line comment or that is at the end of the text. Data lines are usually first detected before the term recognition process starts. This allows the interpreter to detect incomplete terms or superfluous tokens.

data      --> token { token } filler "." [ layout | linecomment ].
non-data --> filler eof.
token   --> filler ( string | word ).

abc.% ABC         % Is a data input.
./* . % Is a data input.
/* good bye */ % Is a non-data input.
abc % Is neither a data nor a non-data input.
. % Is neither a data nor a non-data input.

We might find a non-data line at the end of a Prolog text. Omitting the terminating period from a data line is considered an error. Similarly adding a terminating period to a non-data line is as well considered an error. Block comments are only detected when they are not preceded by a graphic character.