24 lines
1.1 KiB
TypeScript
24 lines
1.1 KiB
TypeScript
/*!
|
|
* Copyright 2016 The ANTLR Project. All rights reserved.
|
|
* Licensed under the BSD-3-Clause license. See LICENSE file in the project root for license information.
|
|
*/
|
|
import { CharStream } from "./CharStream";
|
|
import { Token } from "./Token";
|
|
import { TokenSource } from "./TokenSource";
|
|
/** The default mechanism for creating tokens. It's used by default in Lexer and
|
|
* the error handling strategy (to create missing tokens). Notifying the parser
|
|
* of a new factory means that it notifies its token source and error strategy.
|
|
*/
|
|
export interface TokenFactory {
|
|
/** This is the method used to create tokens in the lexer and in the
|
|
* error handling strategy. If text!=undefined, than the start and stop positions
|
|
* are wiped to -1 in the text override is set in the CommonToken.
|
|
*/
|
|
create(source: {
|
|
source?: TokenSource;
|
|
stream?: CharStream;
|
|
}, type: number, text: string | undefined, channel: number, start: number, stop: number, line: number, charPositionInLine: number): Token;
|
|
/** Generically useful */
|
|
createSimple(type: number, text: string): Token;
|
|
}
|