Page
Library
Module
Module type
Parameter
Class
Class type
Source
Earley_core.Input
SourceA module providing efficient input buffers with preprocessing.
The abstract type for an input buffer.
read buf pos
returns the character at position pos
in the buffer buf
, together with the new buffer and position.
get buf pos
returns the character at position pos
in the buffer buf
.
from_channel ~filename ch
returns a buffer constructed using the channel ch
. The optional filename
is only used as a reference to the channel in error messages.
from_string ~filename str
returns a buffer constructed using the string str
. The optional filename
is only used as a reference to the channel in error messages.
from_fun finalise name get data
returns a buffer constructed from the object data
using the get
function. The get function is used to obtain one line of input from data
. The finalise
function is applied to data
when the end of file is reached. The name
string is used to reference the origin of the data in error messages.
Exception that can be raised by a preprocessor in case of error. The first string references the name of the buffer (e.g. the name of the corresponding file) and the second string contains the message.
pp_error name msg
raises Preprocessor_error(name,msg)
.
Specification of a preprocessor.
Functor for building buffers with a preprocessor.
line_beginning buf
returns the offset of the current line in the buffer buf
.
line_length buf
returns the length of the current line in the buffer buf
.
utf8_col_num buf pos
returns the utf8 column number corresponding to the position pos
in buf
.
normalize buf pos
ensures that pos
is less than the length of the current line in str
.
leq_bug b1 i1 b2 i2
returns true if the position b1, i1
is before b2, i2
. Gives meaningless result if b1
and b2
do not refer to the same file.
....
First kind of table: association list in file order (first position in the beginning