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


LGTemplateParser class

Extends

Parser

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

LGTemplateParser(TokenStream)

Свойства

CASE
COMMENTS
DASH
DEFAULT
ELSE
ELSEIF
ESCAPE_CHARACTER
ESCAPE_CHARACTER_IN_STRUCTURE_BODY
EXPRESSION
EXPRESSION_IN_STRUCTURE_BODY
grammarFileName
IF
INVALID_TOKEN
LEFT_SQUARE_BRACKET
MULTILINE_PREFIX
MULTILINE_SUFFIX
NEWLINE
NEWLINE_IN_BODY
NEWLINE_IN_STRUCTURE_NAME
ruleNames
ruleNames
RULE_body
RULE_errorStructuredName
RULE_errorStructureLine
RULE_errorTemplateString
RULE_expression
RULE_expressionInStructure
RULE_ifCondition
RULE_ifConditionRule
RULE_ifElseTemplateBody
RULE_keyValueStructureLine
RULE_keyValueStructureValue
RULE_normalTemplateBody
RULE_normalTemplateString
RULE_structuredBodyContentLine
RULE_structuredBodyEndLine
RULE_structuredBodyNameLine
RULE_structuredTemplateBody
RULE_switchCaseRule
RULE_switchCaseStat
RULE_switchCaseTemplateBody
RULE_template
RULE_templateString
serializedATN
STRUCTURED_BODY_END
STRUCTURED_COMMENTS
STRUCTURED_NEWLINE
STRUCTURE_EQUALS
STRUCTURE_IDENTIFIER
STRUCTURE_NAME
STRUCTURE_OR_MARK
SWITCH
TEXT
TEXT_IN_STRUCTURE_BODY
TEXT_IN_STRUCTURE_NAME
VOCABULARY
vocabulary
WS
WS_IN_BODY
WS_IN_STRUCTURE_BODY
WS_IN_STRUCTURE_NAME

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

atn

Получение serializedATN, используемой распознавательом для прогнозирования.

buildParseTree

Отслеживайте объекты <xref:ParserRuleContext> во время синтаксического анализа и подключите их с помощью списка <xref:ParserRuleContext%23children>, чтобы он формирует дерево синтаксического анализа. <xref:ParserRuleContext>, возвращенный из правила запуска, представляет корень дерева синтаксического анализа. Обратите внимание, что если мы не создадим деревья синтаксического анализа, контексты правил только указывают вверх. Когда правило завершает работу, он возвращает контекст, но получает мусор, собранный, если никто не содержит ссылку. Он указывает вверх, но никто не указывает на него.

При сборке деревьев синтаксического анализа мы добавляем все эти контексты в список <xref:ParserRuleContext%23children>. Контексты затем не являются кандидатами для сборки мусора.

context
currentToken

Совпадение должно возвращать текущий входной символ, который помещается в метку для связанного маркера ref; Например, x=ID.

EOF
errorHandler
inputStream

Задайте поток маркера и сбросьте средство синтаксического анализа.

interpreter

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

isMatchedEOF
isTrace

Во время синтаксического анализа иногда полезно прослушивать события входа и выхода правила, а также совпадения маркеров. Это для быстрой и грязной отладки.

numberOfSyntaxErrors

Возвращает количество ошибок синтаксиса, сообщаемых во время синтаксического анализа. Это значение увеличивается при каждом вызове <xref:%23notifyErrorListeners>.

См. #notifyErrorListeners

parseInfo
precedence

Получите уровень приоритета для правила приоритета верхнего уровня.

ruleContext
sourceName
state

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

tokenFactory

Методы

body()
errorStructuredName()
errorStructureLine()
errorTemplateString()
expression()
expressionInStructure()
ifCondition()
ifConditionRule()
ifElseTemplateBody()
keyValueStructureLine()
keyValueStructureValue()
normalTemplateBody()
normalTemplateString()
structuredBodyContentLine()
structuredBodyEndLine()
structuredBodyNameLine()
structuredTemplateBody()
switchCaseRule()
switchCaseStat()
switchCaseTemplateBody()
template()
templateString()

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

action(RuleContext | undefined, number, number)
addErrorListener(ANTLRErrorListener<Token>)
addParseListener(ParseTreeListener)

Регистрирует listener для получения событий во время процесса синтаксического анализа. Чтобы поддерживать преобразования грамматики с сохранением выходных данных (включая, но не ограничивается удалением левого рекурсии, автоматическое создание левого фактора и оптимизированное создание кода), вызовы методов прослушивателя во время синтаксического анализа могут существенно отличаться от вызовов, выполненных <xref:ParseTreeWalker%23DEFAULT>, используемых после завершения синтаксического анализа. В частности, события входа и выхода правил могут возникать в другом порядке во время синтаксического анализа, чем после синтаксического анализа. Кроме того, могут быть опущены вызовы определенных методов входа правила.

При следующих конкретных исключениях вызовы событий прослушивателя детерминированными, т. е. для идентичных входных данных вызовы методов прослушивателя будут одинаковыми.

  • Изменения грамматики, используемой для создания кода, могут изменить поведение вызовов прослушивателя.
  • Изменения параметров командной строки, передаваемых в ANTLR 4 при создании средства синтаксического анализа, могут изменить поведение вызовов прослушивателя.
  • Изменение версии средства ANTLR, используемого для создания средства синтаксического анализа, может изменить поведение вызовов прослушивателя.
compileParseTreePattern(string, number)

Предпочтительный метод получения шаблона дерева. Например, вот пример использования:

let t: ParseTree = parser.expr();
let p: ParseTreePattern = await parser.compileParseTreePattern("<ID>+0", MyParser.RULE_expr);
let m: ParseTreeMatch = p.match(t);
let id: string = m.get("ID");
compileParseTreePattern(string, number, Lexer)

То же, что и [int)](xref:%23compileParseTreePattern(строка%2C) но укажите LGFileLexer вместо попытки вывести его из этого средства синтаксического анализа.

consume()

Потреблять и возвращать текущий символ. Например, учитывая следующие входные данные с A быть текущим символом lookahead, эта функция перемещает курсор в B и возвращает A.

A B
^

Если средство синтаксического анализа не находится в режиме восстановления ошибок, используемый символ добавляется в дерево синтаксического анализа с помощью <xref:ParserRuleContext%23addChild(TerminalNode)>, а <xref:ParseTreeListener%23visitTerminal> вызывается для всех прослушивателей синтаксического анализа. Если средство синтаксического анализа в режиме восстановления ошибок, используемый символ добавляется в дерево синтаксического анализа с помощью [Token)](xref:%23createErrorNode(ParserRuleContext%2C), то <xref:ParserRuleContext%23addErrorNode(ErrorNode)> и <xref:ParseTreeListener%23visitErrorNode> вызывается для любого прослушивателя синтаксического анализа.

createErrorNode(ParserRuleContext, Token)

Создание узла ошибки, заданного маркером, связанного с родительским элементом. Как правило, создаваемый узел ошибки не является функцией родительского элемента.

createTerminalNode(ParserRuleContext, Token)

Создание конечного узла маркера, связанного с родительским элементом. Как правило, создаваемый узел терминала не является функцией родительского элемента.

dumpDFA()

Для отладки и других целей.

enterLeftFactoredRule(ParserRuleContext, number, number)
enterOuterAlt(ParserRuleContext, number)
enterRecursionRule(ParserRuleContext, number, number, number)
enterRule(ParserRuleContext, number, number)

Всегда вызывается созданными средствами синтаксического анализа при входе в правило. Поле доступа <xref:%23_ctx> получить текущий контекст.

exitRule()
getATNWithBypassAlts()

ATN с альтернативами обхода является дорогостоящим для создания, поэтому мы создадим его лениво. @ , если текущий синтаксический анализ не реализует свойство serializedATN.

getDFAStrings()

Для отладки и других целей.

getErrorHeader(RecognitionException)

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

getErrorListenerDispatch()
getErrorListeners()
getExpectedTokens()

Вычисляет набор входных символов, которые могут следовать текущему состоянию и контексту синтаксического анализа, как указано в <xref:%23getState> и <xref:%23getContext>соответственно.

См. atN#getExpectedTokens(int, RuleContext)

getExpectedTokensWithinCurrentRule()
getInvokingContext(number)
getParseListeners()
getRuleIndex(string)

Получите индекс правила (например, поле RULE_ruleName) или -1, если он не найден.

getRuleIndexMap()

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

getRuleInvocationStack(RuleContext)

Возвращаемый список<строка> имен правил в экземпляре синтаксического анализа, что приводит к вызову текущего правила. Вы можете переопределить, если требуется дополнительные сведения, например сведения о файле или строке, где вызывается правило ATN. Это очень полезно для сообщений об ошибках.

getTokenType(string)
getTokenTypeMap()

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

inContext(string)
isExpectedToken(number)

Проверяет, может ли symbol следовать текущему состоянию в ATN. Поведение этого метода эквивалентно следующему, но реализуется таким образом, чтобы полный контекстно-чувствительный набор не должен быть создан явным образом.

return getExpectedTokens().contains(symbol);
match(number)

Сопоставление текущего входного символа с ttype. Если тип символа совпадает, вызов <xref:ANTLRErrorStrategy%23reportMatch> и <xref:%23consume> для завершения процесса сопоставления. Если тип символа не соответствует, <xref:ANTLRErrorStrategy%23recoverInline> вызывается в текущей стратегии ошибок для попытки восстановления. Если <xref:%23getBuildParseTree>true и индекс маркера символа, возвращаемого <xref:ANTLRErrorStrategy%23recoverInline> равно -1, символ добавляется в дерево синтаксического анализа путем вызова [token)](xref:%23createErrorNode(ParserRuleContext%2C), а затем <xref:ParserRuleContext%23addErrorNode(ErrorNode)>.

matchWildcard()

Сопоставлять текущий входной символ как подстановочный знак. Если тип символа совпадает (т. е. имеет значение больше 0), <xref:ANTLRErrorStrategy%23reportMatch> и <xref:%23consume> вызываются для завершения процесса сопоставления. Если тип символа не соответствует, <xref:ANTLRErrorStrategy%23recoverInline> вызывается в текущей стратегии ошибок для попытки восстановления. Если <xref:%23getBuildParseTree>true и индекс маркера символа, возвращаемого <xref:ANTLRErrorStrategy%23recoverInline> равно -1, символ добавляется в дерево синтаксического анализа путем вызова [token)](xref:Parser%23createErrorNode(ParserRuleContext%2C) и <xref:ParserRuleContext%23addErrorNode(ErrorNode)>.

notifyErrorListeners(string)
notifyErrorListeners(string, Token | null, RecognitionException | undefined)
precpred(RuleContext, number)
pushNewRecursionContext(ParserRuleContext, number, number)

Как и <xref:%23enterRule>, но для рекурсивных правил. Сделайте текущий контекст дочерним элементом входящего localctx.

removeErrorListener(ANTLRErrorListener<Token>)
removeErrorListeners()
removeParseListener(ParseTreeListener)

Удалите listener из списка прослушивателей синтаксического анализа. Если listenerundefined или не добавлен в качестве прослушивателя синтаксического анализа, этот метод ничего не делает.

См. #addParseListener

removeParseListeners()

Удалите все прослушиватели синтаксического анализа.

См. #addParseListener

reset()

сброс состояния синтаксического анализа

reset(boolean)
sempred(RuleContext | undefined, number, number)
setProfile(boolean)
unrollRecursionContexts(ParserRuleContext)

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

LGTemplateParser(TokenStream)

new LGTemplateParser(input: TokenStream)

Параметры

input

TokenStream

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

CASE

public static CASE: 14 = 14

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

14

COMMENTS

public static COMMENTS: 3 = 3

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

3

DASH

public static DASH: 4 = 4

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

4

DEFAULT

public static DEFAULT: 15 = 15

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

15

ELSE

public static ELSE: 12 = 12

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

12

ELSEIF

public static ELSEIF: 11 = 11

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

11

ESCAPE_CHARACTER

public static ESCAPE_CHARACTER: 16 = 16

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

16

ESCAPE_CHARACTER_IN_STRUCTURE_BODY

public static ESCAPE_CHARACTER_IN_STRUCTURE_BODY: 31 = 31

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

31

EXPRESSION

public static EXPRESSION: 17 = 17

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

17

EXPRESSION_IN_STRUCTURE_BODY

public static EXPRESSION_IN_STRUCTURE_BODY: 32 = 32

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

32

grammarFileName

string grammarFileName

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

string

IF

public static IF: 10 = 10

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

10

INVALID_TOKEN

public static INVALID_TOKEN: 6 = 6

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

6

LEFT_SQUARE_BRACKET

public static LEFT_SQUARE_BRACKET: 5 = 5

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

5

MULTILINE_PREFIX

public static MULTILINE_PREFIX: 8 = 8

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

8

MULTILINE_SUFFIX

public static MULTILINE_SUFFIX: 19 = 19

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

19

NEWLINE

public static NEWLINE: 2 = 2

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

2

NEWLINE_IN_BODY

public static NEWLINE_IN_BODY: 9 = 9

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

9

NEWLINE_IN_STRUCTURE_NAME

public static NEWLINE_IN_STRUCTURE_NAME: 21 = 21

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

21

ruleNames

public static ruleNames: string[] = [
		"template", "body", "structuredTemplateBody", "structuredBodyNameLine", 
		"errorStructuredName", "structuredBodyContentLine", "errorStructureLine", 
		"keyValueStructureLine", "keyValueStructureValue", "structuredBodyEndLine", 
		"normalTemplateBody", "templateString", "normalTemplateString", "errorTemplateString", 
		"ifElseTemplateBody", "ifConditionRule", "ifCondition", "switchCaseTemplateBody", 
		"switchCaseRule", "switchCaseStat", "expression", "expressionInStructure",
	]

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

string[]

ruleNames

string[] ruleNames

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

string[]

RULE_body

public static RULE_body: 1 = 1

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

1

RULE_errorStructuredName

public static RULE_errorStructuredName: 4 = 4

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

4

RULE_errorStructureLine

public static RULE_errorStructureLine: 6 = 6

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

6

RULE_errorTemplateString

public static RULE_errorTemplateString: 13 = 13

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

13

RULE_expression

public static RULE_expression: 20 = 20

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

20

RULE_expressionInStructure

public static RULE_expressionInStructure: 21 = 21

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

21

RULE_ifCondition

public static RULE_ifCondition: 16 = 16

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

16

RULE_ifConditionRule

public static RULE_ifConditionRule: 15 = 15

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

15

RULE_ifElseTemplateBody

public static RULE_ifElseTemplateBody: 14 = 14

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

14

RULE_keyValueStructureLine

public static RULE_keyValueStructureLine: 7 = 7

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

7

RULE_keyValueStructureValue

public static RULE_keyValueStructureValue: 8 = 8

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

8

RULE_normalTemplateBody

public static RULE_normalTemplateBody: 10 = 10

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

10

RULE_normalTemplateString

public static RULE_normalTemplateString: 12 = 12

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

12

RULE_structuredBodyContentLine

public static RULE_structuredBodyContentLine: 5 = 5

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

5

RULE_structuredBodyEndLine

public static RULE_structuredBodyEndLine: 9 = 9

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

9

RULE_structuredBodyNameLine

public static RULE_structuredBodyNameLine: 3 = 3

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

3

RULE_structuredTemplateBody

public static RULE_structuredTemplateBody: 2 = 2

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

2

RULE_switchCaseRule

public static RULE_switchCaseRule: 18 = 18

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

18

RULE_switchCaseStat

public static RULE_switchCaseStat: 19 = 19

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

19

RULE_switchCaseTemplateBody

public static RULE_switchCaseTemplateBody: 17 = 17

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

17

RULE_template

public static RULE_template: 0 = 0

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

0

RULE_templateString

public static RULE_templateString: 11 = 11

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

11

serializedATN

string serializedATN

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

string

STRUCTURED_BODY_END

public static STRUCTURED_BODY_END: 27 = 27

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

27

STRUCTURED_COMMENTS

public static STRUCTURED_COMMENTS: 24 = 24

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

24

STRUCTURED_NEWLINE

public static STRUCTURED_NEWLINE: 26 = 26

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

26

STRUCTURE_EQUALS

public static STRUCTURE_EQUALS: 29 = 29

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

29

STRUCTURE_IDENTIFIER

public static STRUCTURE_IDENTIFIER: 28 = 28

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

28

STRUCTURE_NAME

public static STRUCTURE_NAME: 22 = 22

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

22

STRUCTURE_OR_MARK

public static STRUCTURE_OR_MARK: 30 = 30

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

30

SWITCH

public static SWITCH: 13 = 13

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

13

TEXT

public static TEXT: 18 = 18

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

18

TEXT_IN_STRUCTURE_BODY

public static TEXT_IN_STRUCTURE_BODY: 33 = 33

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

33

TEXT_IN_STRUCTURE_NAME

public static TEXT_IN_STRUCTURE_NAME: 23 = 23

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

23

VOCABULARY

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

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

Vocabulary

vocabulary

Vocabulary vocabulary

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

Vocabulary

WS

public static WS: 1 = 1

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

1

WS_IN_BODY

public static WS_IN_BODY: 7 = 7

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

7

WS_IN_STRUCTURE_BODY

public static WS_IN_STRUCTURE_BODY: 25 = 25

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

25

WS_IN_STRUCTURE_NAME

public static WS_IN_STRUCTURE_NAME: 20 = 20

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

20

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

atn

Получение serializedATN, используемой распознавательом для прогнозирования.

atn: ATN

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

ATN

наследуется от распознавателя.atn

buildParseTree

Отслеживайте объекты <xref:ParserRuleContext> во время синтаксического анализа и подключите их с помощью списка <xref:ParserRuleContext%23children>, чтобы он формирует дерево синтаксического анализа. <xref:ParserRuleContext>, возвращенный из правила запуска, представляет корень дерева синтаксического анализа. Обратите внимание, что если мы не создадим деревья синтаксического анализа, контексты правил только указывают вверх. Когда правило завершает работу, он возвращает контекст, но получает мусор, собранный, если никто не содержит ссылку. Он указывает вверх, но никто не указывает на него.

При сборке деревьев синтаксического анализа мы добавляем все эти контексты в список <xref:ParserRuleContext%23children>. Контексты затем не являются кандидатами для сборки мусора.

buildParseTree: boolean

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

boolean

унаследовано от Parser.buildParseTree

context

context: ParserRuleContext

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

ParserRuleContext

Унаследовано от Parser.context

currentToken

Совпадение должно возвращать текущий входной символ, который помещается в метку для связанного маркера ref; Например, x=ID.

currentToken: Token

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

Token

наследуется от Parser.currentToken

EOF

static EOF: number

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

number

унаследован от распознавателя.EOF

errorHandler

errorHandler: ANTLRErrorStrategy

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

ANTLRErrorStrategy

наследуется от Parser.errorHandler

inputStream

Задайте поток маркера и сбросьте средство синтаксического анализа.

inputStream: TokenStream

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

TokenStream

наследуется от Parser.inputStream

interpreter

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

interpreter: ParserATNSimulator

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

ParserATNSimulator

унаследован от Распознаватель.интерпретатор

isMatchedEOF

isMatchedEOF: boolean

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

boolean

унаследован от синтаксического анализа.isMatchedEOF

isTrace

Во время синтаксического анализа иногда полезно прослушивать события входа и выхода правила, а также совпадения маркеров. Это для быстрой и грязной отладки.

isTrace: boolean

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

boolean

унаследован от Parser.isTrace

numberOfSyntaxErrors

Возвращает количество ошибок синтаксиса, сообщаемых во время синтаксического анализа. Это значение увеличивается при каждом вызове <xref:%23notifyErrorListeners>.

См. #notifyErrorListeners

numberOfSyntaxErrors: number

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

number

унаследован от Parser.numberOfSyntaxErrors

parseInfo

parseInfo: Promise<ParseInfo | undefined>

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

Promise<ParseInfo | undefined>

унаследован от Parser.parseInfo

precedence

Получите уровень приоритета для правила приоритета верхнего уровня.

precedence: number

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

number

унаследовано от Parser.precedence

ruleContext

ruleContext: ParserRuleContext

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

ParserRuleContext

унаследован от Parser.ruleContext

sourceName

sourceName: string

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

string

наследуется от Parser.sourceName

state

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

state: number

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

number

унаследован от Распознавателя.state

tokenFactory

tokenFactory: TokenFactory

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

TokenFactory

Унаследовано от Parser.tokenFactory

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

body()

function body(): BodyContext

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

errorStructuredName()

function errorStructuredName(): ErrorStructuredNameContext

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

errorStructureLine()

function errorStructureLine(): ErrorStructureLineContext

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

errorTemplateString()

function errorTemplateString(): ErrorTemplateStringContext

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

expression()

function expression(): ExpressionContext

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

expressionInStructure()

function expressionInStructure(): ExpressionInStructureContext

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

ifCondition()

function ifCondition(): IfConditionContext

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

ifConditionRule()

function ifConditionRule(): IfConditionRuleContext

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

ifElseTemplateBody()

function ifElseTemplateBody(): IfElseTemplateBodyContext

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

keyValueStructureLine()

function keyValueStructureLine(): KeyValueStructureLineContext

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

keyValueStructureValue()

function keyValueStructureValue(): KeyValueStructureValueContext

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

normalTemplateBody()

function normalTemplateBody(): NormalTemplateBodyContext

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

normalTemplateString()

function normalTemplateString(): NormalTemplateStringContext

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

structuredBodyContentLine()

function structuredBodyContentLine(): StructuredBodyContentLineContext

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

structuredBodyEndLine()

function structuredBodyEndLine(): StructuredBodyEndLineContext

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

structuredBodyNameLine()

function structuredBodyNameLine(): StructuredBodyNameLineContext

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

structuredTemplateBody()

function structuredTemplateBody(): StructuredTemplateBodyContext

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

switchCaseRule()

function switchCaseRule(): SwitchCaseRuleContext

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

switchCaseStat()

function switchCaseStat(): SwitchCaseStatContext

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

switchCaseTemplateBody()

function switchCaseTemplateBody(): SwitchCaseTemplateBodyContext

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

template()

function template(): TemplateContext

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

templateString()

function templateString(): TemplateStringContext

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

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

action(RuleContext | undefined, number, number)

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

Параметры

_localctx

RuleContext | undefined

ruleIndex

number

actionIndex

number

наследуется от Распознавателя.action

addErrorListener(ANTLRErrorListener<Token>)

function addErrorListener(listener: ANTLRErrorListener<Token>)

Параметры

listener

ANTLRErrorListener<Token>

Наследуется от Распознавателя.addErrorListener

addParseListener(ParseTreeListener)

Регистрирует listener для получения событий во время процесса синтаксического анализа. Чтобы поддерживать преобразования грамматики с сохранением выходных данных (включая, но не ограничивается удалением левого рекурсии, автоматическое создание левого фактора и оптимизированное создание кода), вызовы методов прослушивателя во время синтаксического анализа могут существенно отличаться от вызовов, выполненных <xref:ParseTreeWalker%23DEFAULT>, используемых после завершения синтаксического анализа. В частности, события входа и выхода правил могут возникать в другом порядке во время синтаксического анализа, чем после синтаксического анализа. Кроме того, могут быть опущены вызовы определенных методов входа правила.

При следующих конкретных исключениях вызовы событий прослушивателя детерминированными, т. е. для идентичных входных данных вызовы методов прослушивателя будут одинаковыми.

  • Изменения грамматики, используемой для создания кода, могут изменить поведение вызовов прослушивателя.
  • Изменения параметров командной строки, передаваемых в ANTLR 4 при создании средства синтаксического анализа, могут изменить поведение вызовов прослушивателя.
  • Изменение версии средства ANTLR, используемого для создания средства синтаксического анализа, может изменить поведение вызовов прослушивателя.
function addParseListener(listener: ParseTreeListener)

Параметры

listener

ParseTreeListener

прослушиватель для добавления

наследуется от Parser.addParseListener

compileParseTreePattern(string, number)

Предпочтительный метод получения шаблона дерева. Например, вот пример использования:

let t: ParseTree = parser.expr();
let p: ParseTreePattern = await parser.compileParseTreePattern("<ID>+0", MyParser.RULE_expr);
let m: ParseTreeMatch = p.match(t);
let id: string = m.get("ID");
function compileParseTreePattern(pattern: string, patternRuleIndex: number): Promise<ParseTreePattern>

Параметры

pattern

string

patternRuleIndex

number

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

Promise<ParseTreePattern>

наследуется от Parser.compileParseTreePattern

compileParseTreePattern(string, number, Lexer)

То же, что и [int)](xref:%23compileParseTreePattern(строка%2C) но укажите LGFileLexer вместо попытки вывести его из этого средства синтаксического анализа.

function compileParseTreePattern(pattern: string, patternRuleIndex: number, lexer?: Lexer): Promise<ParseTreePattern>

Параметры

pattern

string

patternRuleIndex

number

lexer

Lexer

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

Promise<ParseTreePattern>

наследуется от Parser.compileParseTreePattern

consume()

Потреблять и возвращать текущий символ. Например, учитывая следующие входные данные с A быть текущим символом lookahead, эта функция перемещает курсор в B и возвращает A.

A B
^

Если средство синтаксического анализа не находится в режиме восстановления ошибок, используемый символ добавляется в дерево синтаксического анализа с помощью <xref:ParserRuleContext%23addChild(TerminalNode)>, а <xref:ParseTreeListener%23visitTerminal> вызывается для всех прослушивателей синтаксического анализа. Если средство синтаксического анализа в режиме восстановления ошибок, используемый символ добавляется в дерево синтаксического анализа с помощью [Token)](xref:%23createErrorNode(ParserRuleContext%2C), то <xref:ParserRuleContext%23addErrorNode(ErrorNode)> и <xref:ParseTreeListener%23visitErrorNode> вызывается для любого прослушивателя синтаксического анализа.

function consume(): Token

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

Token

наследуется от parser.consume

createErrorNode(ParserRuleContext, Token)

Создание узла ошибки, заданного маркером, связанного с родительским элементом. Как правило, создаваемый узел ошибки не является функцией родительского элемента.

function createErrorNode(parent: ParserRuleContext, t: Token): ErrorNode

Параметры

parent

ParserRuleContext

t

Token

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

ErrorNode

наследуется от Parser.createErrorNode

createTerminalNode(ParserRuleContext, Token)

Создание конечного узла маркера, связанного с родительским элементом. Как правило, создаваемый узел терминала не является функцией родительского элемента.

function createTerminalNode(parent: ParserRuleContext, t: Token): TerminalNode

Параметры

parent

ParserRuleContext

t

Token

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

TerminalNode

унаследован от Parser.createTerminalNode

dumpDFA()

Для отладки и других целей.

function dumpDFA()

унаследован от Parser.dumpDFA

enterLeftFactoredRule(ParserRuleContext, number, number)

function enterLeftFactoredRule(localctx: ParserRuleContext, state: number, ruleIndex: number)

Параметры

localctx

ParserRuleContext

state

number

ruleIndex

number

наследуется от Parser.enterLeftFactoredRule

enterOuterAlt(ParserRuleContext, number)

function enterOuterAlt(localctx: ParserRuleContext, altNum: number)

Параметры

localctx

ParserRuleContext

altNum

number

наследуется от Parser.enterOuterAlt

enterRecursionRule(ParserRuleContext, number, number, number)

function enterRecursionRule(localctx: ParserRuleContext, state: number, ruleIndex: number, precedence: number)

Параметры

localctx

ParserRuleContext

state

number

ruleIndex

number

precedence

number

наследуется от Parser.enterRecursionRule

enterRule(ParserRuleContext, number, number)

Всегда вызывается созданными средствами синтаксического анализа при входе в правило. Поле доступа <xref:%23_ctx> получить текущий контекст.

function enterRule(localctx: ParserRuleContext, state: number, ruleIndex: number)

Параметры

localctx

ParserRuleContext

state

number

ruleIndex

number

наследуется от Parser.enterRule

exitRule()

function exitRule()

унаследован от Parser.exitRule

getATNWithBypassAlts()

ATN с альтернативами обхода является дорогостоящим для создания, поэтому мы создадим его лениво. @ , если текущий синтаксический анализ не реализует свойство serializedATN.

function getATNWithBypassAlts(): ATN

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

ATN

унаследован от Parser.getATNWithBypassAlts

getDFAStrings()

Для отладки и других целей.

function getDFAStrings(): string[]

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

string[]

наследуется от Parser.getDFAStrings

getErrorHeader(RecognitionException)

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

function getErrorHeader(e: RecognitionException): string

Параметры

e

RecognitionException

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

string

наследуется от распознавателя.getErrorHeader

getErrorListenerDispatch()

function getErrorListenerDispatch(): ParserErrorListener

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

ParserErrorListener

унаследован от Parser.getErrorListenerDispatch

getErrorListeners()

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

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

Array<ANTLRErrorListener<Token>>

наследуется от Распознавателя.getErrorListeners

getExpectedTokens()

Вычисляет набор входных символов, которые могут следовать текущему состоянию и контексту синтаксического анализа, как указано в <xref:%23getState> и <xref:%23getContext>соответственно.

См. atN#getExpectedTokens(int, RuleContext)

function getExpectedTokens(): IntervalSet

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

IntervalSet

унаследован от Parser.getExpectedTokens

getExpectedTokensWithinCurrentRule()

function getExpectedTokensWithinCurrentRule(): IntervalSet

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

IntervalSet

унаследован от Parser.getExpectedTokensWithinCurrentRule

getInvokingContext(number)

function getInvokingContext(ruleIndex: number): ParserRuleContext | undefined

Параметры

ruleIndex

number

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

ParserRuleContext | undefined

унаследован от Parser.getInvokingContext

getParseListeners()

function getParseListeners(): ParseTreeListener[]

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

ParseTreeListener[]

унаследован от Parser.getParseListeners

getRuleIndex(string)

Получите индекс правила (например, поле RULE_ruleName) или -1, если он не найден.

function getRuleIndex(ruleName: string): number

Параметры

ruleName

string

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

number

унаследован от Parser.getRuleIndex

getRuleIndexMap()

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

function getRuleIndexMap(): ReadonlyMap<string, number>

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

ReadonlyMap<string, number>

наследуется от распознавателя.getRuleIndexMap

getRuleInvocationStack(RuleContext)

Возвращаемый список<строка> имен правил в экземпляре синтаксического анализа, что приводит к вызову текущего правила. Вы можете переопределить, если требуется дополнительные сведения, например сведения о файле или строке, где вызывается правило ATN. Это очень полезно для сообщений об ошибках.

function getRuleInvocationStack(ctx?: RuleContext): string[]

Параметры

ctx

RuleContext

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

string[]

наследуется от Parser.getRuleInvocationStack

getTokenType(string)

function getTokenType(tokenName: string): number

Параметры

tokenName

string

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

number

наследуется от распознавателя.getTokenType

getTokenTypeMap()

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

function getTokenTypeMap(): ReadonlyMap<string, number>

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

ReadonlyMap<string, number>

наследуется от распознавателя.getTokenTypeMap

inContext(string)

function inContext(context: string): boolean

Параметры

context

string

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

boolean

унаследован от Parser.inContext

isExpectedToken(number)

Проверяет, может ли symbol следовать текущему состоянию в ATN. Поведение этого метода эквивалентно следующему, но реализуется таким образом, чтобы полный контекстно-чувствительный набор не должен быть создан явным образом.

return getExpectedTokens().contains(symbol);
function isExpectedToken(symbol: number): boolean

Параметры

symbol

number

Тип символа для проверки

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

boolean

true, если symbol могут следовать текущему состоянию в ATN, в противном случае false.

унаследован от Parser.isExpectedToken

match(number)

Сопоставление текущего входного символа с ttype. Если тип символа совпадает, вызов <xref:ANTLRErrorStrategy%23reportMatch> и <xref:%23consume> для завершения процесса сопоставления. Если тип символа не соответствует, <xref:ANTLRErrorStrategy%23recoverInline> вызывается в текущей стратегии ошибок для попытки восстановления. Если <xref:%23getBuildParseTree>true и индекс маркера символа, возвращаемого <xref:ANTLRErrorStrategy%23recoverInline> равно -1, символ добавляется в дерево синтаксического анализа путем вызова [token)](xref:%23createErrorNode(ParserRuleContext%2C), а затем <xref:ParserRuleContext%23addErrorNode(ErrorNode)>.

function match(ttype: number): Token

Параметры

ttype

number

Тип маркера, соответствующий

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

Token

соответствующий символ @ если текущий входной символ не соответствует ttype, а стратегия ошибок не может восстановиться из несогласованного символа.

Наследуется от Parser.match

matchWildcard()

Сопоставлять текущий входной символ как подстановочный знак. Если тип символа совпадает (т. е. имеет значение больше 0), <xref:ANTLRErrorStrategy%23reportMatch> и <xref:%23consume> вызываются для завершения процесса сопоставления. Если тип символа не соответствует, <xref:ANTLRErrorStrategy%23recoverInline> вызывается в текущей стратегии ошибок для попытки восстановления. Если <xref:%23getBuildParseTree>true и индекс маркера символа, возвращаемого <xref:ANTLRErrorStrategy%23recoverInline> равно -1, символ добавляется в дерево синтаксического анализа путем вызова [token)](xref:Parser%23createErrorNode(ParserRuleContext%2C) и <xref:ParserRuleContext%23addErrorNode(ErrorNode)>.

function matchWildcard(): Token

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

Token

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

унаследован от Parser.matchWildcard

notifyErrorListeners(string)

function notifyErrorListeners(msg: string)

Параметры

msg

string

наследуется от Parser.notifyErrorListeners

notifyErrorListeners(string, Token | null, RecognitionException | undefined)

function notifyErrorListeners(msg: string, offendingToken: Token | null, e: RecognitionException | undefined)

Параметры

msg

string

offendingToken

Token | null

e

RecognitionException | undefined

наследуется от Parser.notifyErrorListeners

precpred(RuleContext, number)

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

Параметры

localctx

RuleContext

precedence

number

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

boolean

унаследован от Parser.precpred

pushNewRecursionContext(ParserRuleContext, number, number)

Как и <xref:%23enterRule>, но для рекурсивных правил. Сделайте текущий контекст дочерним элементом входящего localctx.

function pushNewRecursionContext(localctx: ParserRuleContext, state: number, ruleIndex: number)

Параметры

localctx

ParserRuleContext

state

number

ruleIndex

number

унаследован от Parser.pushNewRecursionContext

removeErrorListener(ANTLRErrorListener<Token>)

function removeErrorListener(listener: ANTLRErrorListener<Token>)

Параметры

listener

ANTLRErrorListener<Token>

наследуется от Распознаватель.removeErrorListener

removeErrorListeners()

function removeErrorListeners()

наследуется от Распознавателя.removeErrorListeners

removeParseListener(ParseTreeListener)

Удалите listener из списка прослушивателей синтаксического анализа. Если listenerundefined или не добавлен в качестве прослушивателя синтаксического анализа, этот метод ничего не делает.

См. #addParseListener

function removeParseListener(listener: ParseTreeListener)

Параметры

listener

ParseTreeListener

прослушиватель для удаления

наследуется от Parser.removeParseListener

removeParseListeners()

Удалите все прослушиватели синтаксического анализа.

См. #addParseListener

function removeParseListeners()

наследуется от Parser.removeParseListeners

reset()

сброс состояния синтаксического анализа

function reset()

наследуется от синтаксического анализа.reset

reset(boolean)

function reset(resetInput: boolean)

Параметры

resetInput

boolean

наследуется от синтаксического анализа.reset

sempred(RuleContext | undefined, number, number)

function sempred(_localctx: RuleContext | undefined, ruleIndex: number, actionIndex: number): boolean

Параметры

_localctx

RuleContext | undefined

ruleIndex

number

actionIndex

number

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

boolean

унаследован от Распознавателя.sempred

setProfile(boolean)

function setProfile(profile: boolean): Promise<void>

Параметры

profile

boolean

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

Promise<void>

унаследовано от Parser.setProfile

unrollRecursionContexts(ParserRuleContext)

function unrollRecursionContexts(_parentctx: ParserRuleContext)

Параметры

_parentctx

ParserRuleContext

наследуется от Parser.unrollRecursionContexts