Struct LexerRange
Range structure that wraps the lexer's input.
Constructors
Name | Description |
this
(bytes, index, column, line)
|
|
Fields
Name | Type | Description |
bytes
|
const(ubyte)[] | The input bytes.
|
column
|
ulong | The current column number.
|
index
|
ulong | The range's current position.
|
line
|
ulong | The current line number.
|
Methods
Name | Description |
canPeek
(p)
|
|
empty
()
|
Implements the range primitive empty.
|
front
()
|
Implements the range primitive front.
|
incrementLine
(i)
|
Increments the range's line number and resets the column counter.
|
mark
()
|
|
peek
(p)
|
|
peekAt
(offset)
|
|
popFront
()
|
Implements the range primitive popFront.
|
popFrontN
(n)
|
Implements the algorithm popFrontN more efficiently. This function does
not detect or handle newlines.
|
seek
(m)
|
Sets the range to the given position.
|
slice
(m)
|
Returns a slice of the input byte array between the given mark and the
current position.
Params m = the beginning index of the slice to return
|
startsWith
(needle)
|
|