LexicalScanner

class LexicalScanner

A class that tracks all visible A_Lexers while compiling a module.

Constructors

Link copied to clipboard
fun LexicalScanner()

Functions

Link copied to clipboard
fun addLexer(lexer: A_Lexer)

Add an A_Lexer. Update not just the current lexing information for this loader, but also the specified atom's bundle's method and the current module.

Link copied to clipboard
fun freezeFromChanges()

Ensure new A_Lexers are not added after this point. This is a safety measure.

Link copied to clipboard
fun getLexersForCodePointThen(    lexingState: LexingState,     codePoint: Int,     continuation: (A_Tuple) -> Unit,     onFailure: (Map<A_Lexer, Throwable>) -> Unit)

Collect the lexers that should run when we encounter a character with the given (Int) code point, then pass this tuple of lexers to the supplied Kotlin function.

Properties

Link copied to clipboard
val allVisibleLexers: MutableList<A_Lexer>

The List of all lexers which are visible within the module being compiled.

Link copied to clipboard
var frozen: Boolean = false

When set, fail on attempts to change the lexical scanner. This is a safety measure.