Hi there! Are you looking for the official Deno documentation? Try docs.deno.com for all your Deno learning needs.

Lexer

Given a Source object, creates a Lexer for that source. A Lexer is a stateful stream generator in that every time it is advanced, it returns the next token in the Source. Assuming the source lexes, the final Token emitted by the lexer will be of kind EOF, after which the lexer will repeatedly return the same EOF token whenever called.

class Lexer {
constructor(source: Source);
lastToken: Token;
line: number;
lineStart: number;
source: Source;
token: Token;
get [Symbol.toStringTag](): string;
 
advance(): Token;
lookahead(): Token;
}

§Constructors

§
new Lexer(source: Source)
[src]

§Properties

§
lastToken: Token
[src]

The previously focused non-ignored token.

§
line: number
[src]

The (1-indexed) line containing the current token.

§
lineStart: number
[src]

The character offset at which the current line begins.

§
token: Token
[src]

The currently focused non-ignored token.

§
[Symbol.toStringTag]: string readonly
[src]

§Methods

§
advance(): Token
[src]

Advances the token stream to the next non-ignored token.

§
lookahead(): Token
[src]

Looks ahead and returns the next non-ignored token, but does not change the state of Lexer.