/*! * 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; }