the base of a number
the base of a number
the last read character
the last read character
Parse character literal if current character is followed by \', or follow with given op and return a symbol literal token
The offset one past the last read character
The offset one past the last read character
Convert current strVal to char value
Convert current strVal to char value
A buffer for comments
Switch whether unicode should be decoded
Switch whether unicode should be decoded
Adds level of nesting to docstrings
the last error offset
the last error offset
Generate an error at the given offset
Generate an error at the given offset
Removes level of nesting for docstrings
read next token, filling TokenData fields of Scanner.
read next token, filling TokenData fields of Scanner.
Clear buffer and set name and token
Clear buffer and set name and token
Convert current strVal, base to double value
Convert current strVal, base to double value
Return buffer contents and clear
Return buffer contents and clear
Returns the closest docstring preceding the position supplied
read fractional part and exponent of floating point number if one is present.
read fractional part and exponent of floating point number if one is present.
copy current character into litBuf, interpreting any escape sequences, and advance to next character.
copy current character into litBuf, interpreting any escape sequences, and advance to next character.
Read a number into strVal and set base
Read a number into strVal and set base
signal an error where the input ended in the middle of a token
signal an error where the input ended in the middle of a token
Convert current strVal, base to long value This is tricky because of max negative value.
Convert current strVal, base to long value This is tricky because of max negative value.
Is current token first one after a newline?
Is last character a unicode escape \\uxxxx?
Is last character a unicode escape \\uxxxx?
The offset before the last read character
The offset before the last read character
The start offset of the line before the current one
The start offset of the line before the current one
the offset of the character following the token preceding this one
the offset of the character following the token preceding this one
The start offset of the current line
The start offset of the current line
A character buffer for literals
A character buffer for literals
A new reader that takes off at the current character position
A new reader that takes off at the current character position
the name of an identifier
the name of an identifier
we need one token lookahead and one token history
Advance one character; reducing CR;LF pairs to just LF
Advance one character; reducing CR;LF pairs to just LF
Advance one character, leaving CR;LF pairs intact.
Advance one character, leaving CR;LF pairs intact. This is for use in multi-line strings, so there are no "potential line ends" here.
Produce next token, filling TokenData fields of Scanner.
the offset of the first character of the current token
the offset of the first character of the current token
append Unicode character to "litBuf" buffer
append Unicode character to "litBuf" buffer
a stack of tokens which indicates whether line-ends can be statement separators also used for keeping track of nesting levels.
a stack of tokens which indicates whether line-ends can be statement separators
also used for keeping track of nesting levels.
We keep track of the closing symbol of a region. This can be
RPAREN if region starts with '('
RBRACKET if region starts with '['
RBRACE if region starts with '{'
ARROW if region starts with case'
STRINGLIT if region is a string interpolation expression starting with '${'
(the STRINGLIT appears twice in succession on the stack iff the
expression is a multiline string literal).
Clear buffer and set string
Clear buffer and set string
read next token and return last offset
the string value of a literal
the string value of a literal
the next token
the next token