Поделиться через


LGFileLexer class

Extends

Lexer

Конструкторы

LGFileLexer(CharStream)

Свойства

channelNames
channelNames
COMMENT
ESCAPE_CHARACTER
grammarFileName
IMPORT
INLINE_MULTILINE
INVALID_LINE
modeNames
modeNames
MULTILINE_MODE
MULTILINE_PREFIX
MULTILINE_SUFFIX
MULTILINE_TEXT
NEWLINE
OPTION
ruleNames
ruleNames
serializedATN
startTemplate
TEMPLATE_BODY
TEMPLATE_NAME_LINE
VOCABULARY
vocabulary

Унаследованные свойства

atn

Возвращает объект , используемый serializedATN распознавательом для прогнозирования.

channel
charIndex

Каков индекс текущего символа lookahead?

charPositionInLine
DEFAULT_MODE
DEFAULT_TOKEN_CHANNEL
EOF
HIDDEN
inputStream

Установка потока символов и сброс лексера

interpreter

Задайте интерпретатор ATN, используемый распознавателем для прогнозирования.

line
MAX_CHAR_VALUE
MIN_CHAR_VALUE
MORE
parseInfo

Если выполняется профилирование во время parse/lex, будут возвращены записи DecisionInfo для каждого решения в распознавателье в объекте ParseInfo.

SKIP
sourceName
state

Укажите, что распознаватель изменил внутреннее состояние, согласующееся с переданным состоянием ATN. Таким образом, мы всегда знаем, где мы в ATN, как синтаксический анализатор идет вместе. Объекты контекста правила образуют стек, который позволяет нам видеть стек вызова правил. Объедините это, и у нас есть полные сведения о конфигурации ATN.

text

Задайте полный текст этого токена; он очищает все предыдущие изменения в тексте.

token

Переопределение при создании нескольких маркеров.

tokenFactory
type

Методы

action(RuleContext, number, number)
sempred(RuleContext, number, number)

Наследуемые методы

addErrorListener(ANTLRErrorListener<number>)
emit()

По умолчанию не поддерживает несколько выдач для каждого вызова nextToken из соображений эффективности. Подкласс и переопределите этот метод, nextToken и getToken (для отправки маркеров в список и извлечения из этого списка, а не отдельной переменной, как это делает эта реализация).

emit(Token)

Стандартный метод, вызываемый для автоматического выдачи маркера в самом внешнем лексическом правиле. Объект токена должен указывать на начальную точку буфера символов. Остановить. Если в тексте есть переопределение текста, используйте его, чтобы задать текст маркера. Переопределите этот метод для создания пользовательских объектов token или предоставления новой фабрики.

emitEOF()
getAllTokens()

Возвращает список всех объектов Token во входном потоке символов. Принудительно загружает все маркеры. Не включает токен EOF.

getCharErrorDisplay(number)
getErrorDisplay(string | number)
getErrorHeader(RecognitionException)

Что такое заголовок ошибки, как правило, сведения о положении строк или символов?

getErrorListenerDispatch()
getErrorListeners()
getRuleIndexMap()

Получение сопоставления из имен правил в индексы правил. Используется для компиляции шаблонов XPath и дерева.

getTokenType(string)
getTokenTypeMap()

Получение сопоставления имен маркеров с типами маркеров. Используется для компиляции шаблонов XPath и дерева.

mode(number)
more()
nextToken()

Возвращает маркер из этого источника; т. е. соответствует токену в потоке символов.

notifyListeners(LexerNoViableAltException)
popMode()
precpred(RuleContext | undefined, number)
pushMode(number)
recover(LexerNoViableAltException)
recover(RecognitionException)

Лексеры обычно могут соответствовать любому символу в своем словаре после сопоставления токена, так что сделать простую вещь и просто убить персонажа и надеяться, что все это работает. Вместо этого можно использовать стек вызова правила для сложного восстановления ошибок, если вы используете правило фрагмента.

removeErrorListener(ANTLRErrorListener<number>)
removeErrorListeners()
reset()
reset(boolean)
skip()

Указать лексеру пропустить создание маркера для текущего правила лексера и найти другой маркер. NextToken() знает, что следует искать, когда правило лексера заканчивается с маркером, для SKIP_TOKEN. Помните, что если token==undefined в конце какого-либо правила маркера, он создает его и выдает его.

Сведения о конструкторе

LGFileLexer(CharStream)

new LGFileLexer(input: CharStream)

Параметры

input

CharStream

Сведения о свойстве

channelNames

public static channelNames: string[] = [
		"DEFAULT_TOKEN_CHANNEL", "HIDDEN",
	]

Значение свойства

string[]

channelNames

string[] channelNames

Значение свойства

string[]

COMMENT

public static COMMENT: 3 = 3

Значение свойства

3

ESCAPE_CHARACTER

public static ESCAPE_CHARACTER: 11 = 11

Значение свойства

11

grammarFileName

string grammarFileName

Значение свойства

string

IMPORT

public static IMPORT: 4 = 4

Значение свойства

4

INLINE_MULTILINE

public static INLINE_MULTILINE: 6 = 6

Значение свойства

6

INVALID_LINE

public static INVALID_LINE: 9 = 9

Значение свойства

9

modeNames

public static modeNames: string[] = [
		"DEFAULT_MODE", "MULTILINE_MODE",
	]

Значение свойства

string[]

modeNames

string[] modeNames

Значение свойства

string[]

MULTILINE_MODE

public static MULTILINE_MODE: 1 = 1

Значение свойства

1

MULTILINE_PREFIX

public static MULTILINE_PREFIX: 7 = 7

Значение свойства

7

MULTILINE_SUFFIX

public static MULTILINE_SUFFIX: 10 = 10

Значение свойства

10

MULTILINE_TEXT

public static MULTILINE_TEXT: 12 = 12

Значение свойства

12

NEWLINE

public static NEWLINE: 1 = 1

Значение свойства

1

OPTION

public static OPTION: 2 = 2

Значение свойства

2

ruleNames

public static ruleNames: string[] = [
		"WHITESPACE", "NEWLINE", "OPTION", "COMMENT", "IMPORT", "TEMPLATE_NAME_LINE", 
		"INLINE_MULTILINE", "MULTILINE_PREFIX", "TEMPLATE_BODY", "INVALID_LINE", 
		"MULTILINE_SUFFIX", "ESCAPE_CHARACTER", "MULTILINE_TEXT",
	]

Значение свойства

string[]

ruleNames

string[] ruleNames

Значение свойства

string[]

serializedATN

string serializedATN

Значение свойства

string

startTemplate

startTemplate: boolean = false

Значение свойства

boolean

TEMPLATE_BODY

public static TEMPLATE_BODY: 8 = 8

Значение свойства

8

TEMPLATE_NAME_LINE

public static TEMPLATE_NAME_LINE: 5 = 5

Значение свойства

5

VOCABULARY

public static VOCABULARY: Vocabulary = new VocabularyImpl(LGFileLexer._LITERAL_NAMES, LGFileLexer._SYMBOLIC_NAMES, [])

Значение свойства

Vocabulary

vocabulary

Vocabulary vocabulary

Значение свойства

Vocabulary

Сведения об унаследованном свойстве

atn

Возвращает объект , используемый serializedATN распознавательом для прогнозирования.

atn: ATN

Значение свойства

ATN

Наследуется от Recognizer.atn

channel

channel: number

Значение свойства

number

Наследуется от Lexer.channel

charIndex

Каков индекс текущего символа lookahead?

charIndex: number

Значение свойства

number

Наследуется от Lexer.charIndex

charPositionInLine

charPositionInLine: number

Значение свойства

number

Наследуется от Lexer.charPositionInLine

DEFAULT_MODE

static DEFAULT_MODE: number

Значение свойства

number

Наследуется от Lexer.DEFAULT_MODE

DEFAULT_TOKEN_CHANNEL

static DEFAULT_TOKEN_CHANNEL: number

Значение свойства

number

Наследуется от Lexer.DEFAULT_TOKEN_CHANNEL

EOF

static EOF: number

Значение свойства

number

Наследуется от Recognizer.EOF

HIDDEN

static HIDDEN: number

Значение свойства

number

Наследуется от Lexer.HIDDEN

inputStream

Установка потока символов и сброс лексера

inputStream: CharStream

Значение свойства

CharStream

Наследуется от Lexer.inputStream

interpreter

Задайте интерпретатор ATN, используемый распознавателем для прогнозирования.

interpreter: LexerATNSimulator

Значение свойства

LexerATNSimulator

Наследуется от Recognizer.interpreter

line

line: number

Значение свойства

number

Наследуется от Lexer.line

MAX_CHAR_VALUE

static MAX_CHAR_VALUE: number

Значение свойства

number

Наследуется от Lexer.MAX_CHAR_VALUE

MIN_CHAR_VALUE

static MIN_CHAR_VALUE: number

Значение свойства

number

Наследуется от Lexer.MIN_CHAR_VALUE

MORE

static MORE: number

Значение свойства

number

Наследуется от Lexer.MORE

parseInfo

Если выполняется профилирование во время parse/lex, будут возвращены записи DecisionInfo для каждого решения в распознавателье в объекте ParseInfo.

parseInfo: Promise<ParseInfo | undefined>

Значение свойства

Promise<ParseInfo | undefined>

Наследуется от Recognizer.parseInfo

SKIP

static SKIP: number

Значение свойства

number

Наследуется от Lexer.SKIP

sourceName

sourceName: string

Значение свойства

string

Наследуется от Lexer.sourceName

state

Укажите, что распознаватель изменил внутреннее состояние, согласующееся с переданным состоянием ATN. Таким образом, мы всегда знаем, где мы в ATN, как синтаксический анализатор идет вместе. Объекты контекста правила образуют стек, который позволяет нам видеть стек вызова правил. Объедините это, и у нас есть полные сведения о конфигурации ATN.

state: number

Значение свойства

number

Наследуется от Recognizer.state

text

Задайте полный текст этого токена; он очищает все предыдущие изменения в тексте.

text: string

Значение свойства

string

Наследуется от Lexer.text

token

Переопределение при создании нескольких маркеров.

token: Token | undefined

Значение свойства

Token | undefined

Наследуется от Lexer.token

tokenFactory

tokenFactory: TokenFactory

Значение свойства

TokenFactory

Наследуется от Lexer.tokenFactory

type

type: number

Значение свойства

number

Наследуется от Lexer.type

Сведения о методе

action(RuleContext, number, number)

function action(_localctx: RuleContext, ruleIndex: number, actionIndex: number)

Параметры

_localctx

RuleContext

ruleIndex

number

actionIndex

number

sempred(RuleContext, number, number)

function sempred(_localctx: RuleContext, ruleIndex: number, predIndex: number): boolean

Параметры

_localctx

RuleContext

ruleIndex

number

predIndex

number

Возвращаемое значение

boolean

Сведения о наследуемом методе

addErrorListener(ANTLRErrorListener<number>)

function addErrorListener(listener: ANTLRErrorListener<number>)

Параметры

listener

ANTLRErrorListener<number>

Наследуется от Recognizer.addErrorListener

emit()

По умолчанию не поддерживает несколько выдач для каждого вызова nextToken из соображений эффективности. Подкласс и переопределите этот метод, nextToken и getToken (для отправки маркеров в список и извлечения из этого списка, а не отдельной переменной, как это делает эта реализация).

function emit(): Token

Возвращаемое значение

Token

Наследуется от Lexer.emit

emit(Token)

Стандартный метод, вызываемый для автоматического выдачи маркера в самом внешнем лексическом правиле. Объект токена должен указывать на начальную точку буфера символов. Остановить. Если в тексте есть переопределение текста, используйте его, чтобы задать текст маркера. Переопределите этот метод для создания пользовательских объектов token или предоставления новой фабрики.

function emit(token: Token): Token

Параметры

token

Token

Возвращаемое значение

Token

Наследуется от Lexer.emit

emitEOF()

function emitEOF(): Token

Возвращаемое значение

Token

Наследуется от Lexer.emitEOF

getAllTokens()

Возвращает список всех объектов Token во входном потоке символов. Принудительно загружает все маркеры. Не включает токен EOF.

function getAllTokens(): Token[]

Возвращаемое значение

Token[]

Наследуется от Lexer.getAllTokens

getCharErrorDisplay(number)

function getCharErrorDisplay(c: number): string

Параметры

c

number

Возвращаемое значение

string

Наследуется от Lexer.getCharErrorDisplay

getErrorDisplay(string | number)

function getErrorDisplay(s: string | number): string

Параметры

s

string | number

Возвращаемое значение

string

Наследуется от Lexer.getErrorDisplay

getErrorHeader(RecognitionException)

Что такое заголовок ошибки, как правило, сведения о положении строк или символов?

function getErrorHeader(e: RecognitionException): string

Параметры

e

RecognitionException

Возвращаемое значение

string

Наследуется от Recognizer.getErrorHeader

getErrorListenerDispatch()

function getErrorListenerDispatch(): ANTLRErrorListener<number>

Возвращаемое значение

ANTLRErrorListener<number>

Наследуется от Recognizer.getErrorListenerDispatch

getErrorListeners()

function getErrorListeners(): Array<ANTLRErrorListener<number>>

Возвращаемое значение

Array<ANTLRErrorListener<number>>

Наследуется от Recognizer.getErrorListeners

getRuleIndexMap()

Получение сопоставления из имен правил в индексы правил. Используется для компиляции шаблонов XPath и дерева.

function getRuleIndexMap(): ReadonlyMap<string, number>

Возвращаемое значение

ReadonlyMap<string, number>

Наследуется от Recognizer.getRuleIndexMap

getTokenType(string)

function getTokenType(tokenName: string): number

Параметры

tokenName

string

Возвращаемое значение

number

Наследуется от Recognizer.getTokenType

getTokenTypeMap()

Получение сопоставления имен маркеров с типами маркеров. Используется для компиляции шаблонов XPath и дерева.

function getTokenTypeMap(): ReadonlyMap<string, number>

Возвращаемое значение

ReadonlyMap<string, number>

Наследуется от Recognizer.getTokenTypeMap

mode(number)

function mode(m: number)

Параметры

m

number

Наследуется от Lexer.mode

more()

function more()

Наследуется от Lexer.more

nextToken()

Возвращает маркер из этого источника; т. е. соответствует токену в потоке символов.

function nextToken(): Token

Возвращаемое значение

Token

Наследуется от Lexer.nextToken

notifyListeners(LexerNoViableAltException)

function notifyListeners(e: LexerNoViableAltException)

Параметры

e

LexerNoViableAltException

Наследуется от Lexer.notifyListeners

popMode()

function popMode(): number

Возвращаемое значение

number

Наследуется от Lexer.popMode

precpred(RuleContext | undefined, number)

function precpred(localctx: RuleContext | undefined, precedence: number): boolean

Параметры

localctx

RuleContext | undefined

precedence

number

Возвращаемое значение

boolean

Наследуется от Recognizer.precpred

pushMode(number)

function pushMode(m: number)

Параметры

m

number

Наследуется от Lexer.pushMode

recover(LexerNoViableAltException)

function recover(re: LexerNoViableAltException)

Параметры

re

LexerNoViableAltException

Наследуется от Lexer.recover

recover(RecognitionException)

Лексеры обычно могут соответствовать любому символу в своем словаре после сопоставления токена, так что сделать простую вещь и просто убить персонажа и надеяться, что все это работает. Вместо этого можно использовать стек вызова правила для сложного восстановления ошибок, если вы используете правило фрагмента.

function recover(re: RecognitionException)

Параметры

re

RecognitionException

Наследуется от Lexer.recover

removeErrorListener(ANTLRErrorListener<number>)

function removeErrorListener(listener: ANTLRErrorListener<number>)

Параметры

listener

ANTLRErrorListener<number>

Наследуется от Recognizer.removeErrorListener

removeErrorListeners()

function removeErrorListeners()

Наследуется от Recognizer.removeErrorListeners

reset()

function reset()

Наследуется от Lexer.reset

reset(boolean)

function reset(resetInput: boolean)

Параметры

resetInput

boolean

Наследуется от Lexer.reset

skip()

Указать лексеру пропустить создание маркера для текущего правила лексера и найти другой маркер. NextToken() знает, что следует искать, когда правило лексера заканчивается с маркером, для SKIP_TOKEN. Помните, что если token==undefined в конце какого-либо правила маркера, он создает его и выдает его.

function skip()

Наследуется от Lexer.skip