Partager via


ExpressionAntlrParser class

Extends

Parser

Constructeurs

ExpressionAntlrParser(TokenStream)

Propriétés

ARROW
ASTERISK
CLOSE_BRACKET
CLOSE_CURLY_BRACKET
CLOSE_SQUARE_BRACKET
COLON
COMMA
DOT
DOUBLE_AND
DOUBLE_EQUAL
DOUBLE_VERTICAL_CYLINDER
ESCAPE_CHARACTER
grammarFileName
IDENTIFIER
INVALID_TOKEN_DEFAULT_MODE
LESS_OR_EQUAl
LESS_THAN
MORE_OR_EQUAL
MORE_THAN
NEWLINE
NON
NOT_EQUAL
NULL_COALESCE
NUMBER
OPEN_BRACKET
OPEN_CURLY_BRACKET
OPEN_SQUARE_BRACKET
PERCENT
PLUS
QUESTION_MARK
ruleNames
ruleNames
RULE_argsList
RULE_expression
RULE_file
RULE_key
RULE_keyValuePair
RULE_keyValuePairList
RULE_lambda
RULE_primaryExpression
RULE_stringInterpolation
RULE_textContent
serializedATN
SINGLE_AND
SLASH
STRING
STRING_INTERPOLATION_START
SUBSTRACT
TEMPLATE
TEXT_CONTENT
VOCABULARY
vocabulary
WHITESPACE
XOR

Propriétés héritées

atn

Obtenez le serializedATN utilisé par le module de reconnaissance pour la prédiction.

buildParseTree

Suivez les <xref:ParserRuleContext> objets pendant l’analyse et connectez-les à l’aide de la <xref:ParserRuleContext%23children> liste afin qu’elle forme une arborescence d’analyse. Retourné <xref:ParserRuleContext> par la règle de début représente la racine de l’arborescence d’analyse. Notez que si nous ne créons pas d’arborescences d’analyse, les contextes de règles pointent uniquement vers le haut. Lorsqu’une règle se termine, elle retourne le contexte, mais qui obtient une collecte de mémoire si personne ne détient une référence. Il pointe vers le haut, mais personne ne pointe vers lui.

Lorsque nous créons des arborescences d’analyse, nous ajoutons tous ces contextes à la <xref:ParserRuleContext%23children> liste. Les contextes ne sont alors pas candidats au garbage collection.

context
currentToken

La correspondance doit retourner le symbole d’entrée actuel, qui est placé dans l’étiquette pour la référence de jeton associée ; par exemple, x=ID.

EOF
errorHandler
inputStream

Définissez le flux de jetons et réinitialisez l’analyseur.

interpreter

Définissez l’interpréteur ATN utilisé par le module de reconnaissance pour la prédiction.

isMatchedEOF
isTrace

Lors d’une analyse, il est parfois utile d’écouter les événements d’entrée et de sortie de règle, ainsi que les correspondances de jeton. Il s’agit d’un débogage rapide et incorrect.

numberOfSyntaxErrors

Obtient le nombre d’erreurs de syntaxe signalées pendant l’analyse. Cette valeur est incrémentée chaque fois <xref:%23notifyErrorListeners> qu’elle est appelée.

Voir #notifyErrorListeners

parseInfo
precedence

Obtenez le niveau de précédence pour la règle de précédence la plus élevée.

ruleContext
sourceName
state

Indiquez que le module de reconnaissance a changé l’état interne qui est cohérent avec l’état ATN transmis. De cette façon, nous savons toujours où nous sommes dans l’ATN au fur et à mesure que l’analyseur va. Les objets de contexte de règle forment une pile qui nous permet de voir la pile des règles d’appel. Combinez cela et nous avons des informations de configuration ATN complètes.

tokenFactory

Méthodes

argsList()
expression()
expression(number)
file()
key()
keyValuePair()
keyValuePairList()
lambda()
primaryExpression()
primaryExpression(number)
sempred(RuleContext, number, number)
stringInterpolation()
textContent()

Méthodes héritées

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

S’inscrit pour recevoir des listener événements pendant le processus d’analyse. Pour prendre en charge les transformations grammaticales de préservation de la sortie (y compris, mais sans s’y limiter, la suppression de la récursivité gauche, la factoring de gauche automatisée et la génération de code optimisée), les appels aux méthodes d’écouteur pendant l’analyse peuvent différer considérablement des appels effectués par <xref:ParseTreeWalker%23DEFAULT> utilisés une fois l’analyse terminée. En particulier, les événements d’entrée et de sortie de règle peuvent se produire dans un ordre différent pendant l’analyse qu’après l’analyseur. En outre, les appels à certaines méthodes d’entrée de règle peuvent être omis.

Avec les exceptions spécifiques suivantes, les appels aux événements d’écouteur sont déterministes, c’est-à-dire que pour une entrée identique, les appels aux méthodes d’écouteur seront les mêmes.

  • Les modifications apportées à la grammaire utilisée pour générer du code peuvent modifier le comportement des appels de l’écouteur.
  • Les modifications apportées aux options de ligne de commande passées à ANTLR 4 lors de la génération de l’analyseur peuvent modifier le comportement des appels de l’écouteur.
  • La modification de la version de l’outil ANTLR utilisé pour générer l’analyseur peut modifier le comportement des appels de l’écouteur.
compileParseTreePattern(string, number)

Méthode préférée pour obtenir un modèle d’arborescence. Par exemple, voici un exemple d’utilisation :

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)

Identique à [int)](xref:%23compileParseTreePattern(String%2C), mais spécifiez un CommonRegexLexer au lieu d’essayer de le déduire de cet analyseur.

consume()

Consommez et retournez le symbole actuel. Par exemple, étant donné que l’entrée A suivante est le symbole de tête de regard actuel, cette fonction déplace le curseur vers B et retourne A.

A B
^

Si l’analyseur n’est pas en mode de récupération d’erreur, le symbole consommé est ajouté à l’arborescence d’analyse à l’aide <xref:ParserRuleContext%23addChild(TerminalNode)>de et <xref:ParseTreeListener%23visitTerminal> est appelé sur tous les écouteurs d’analyse. Si l’analyseur est en mode de récupération d’erreur, le symbole consommé est ajouté à l’arborescence d’analyse à l’aide de [Token)](xref:%23createErrorNode(ParserRuleContext%2C) puis <xref:ParserRuleContext%23addErrorNode(ErrorNode)> et <xref:ParseTreeListener%23visitErrorNode> est appelé sur tous les écouteurs d’analyse.

createErrorNode(ParserRuleContext, Token)

Comment créer un nœud d’erreur, en fonction d’un jeton, associé à un parent. En règle générale, le nœud d’erreur à créer n’est pas une fonction du parent.

createTerminalNode(ParserRuleContext, Token)

Comment créer un nœud feuille de jeton associé à un parent. En règle générale, le nœud terminal à créer n’est pas une fonction du parent.

dumpDFA()

À des fins de débogage et à d’autres fins.

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

Toujours appelé par les analyseurs générés lors de l’entrée dans une règle. Le champ d’accès <xref:%23_ctx> obtient le contexte actuel.

exitRule()
getATNWithBypassAlts()

L’ATN avec des alternatives de contournement est coûteux à créer. Nous le créons donc paresseusement. @ si l’analyseur actuel n’implémente pas la serializedATN propriété .

getDFAStrings()

À des fins de débogage et à d’autres fins.

getErrorHeader(RecognitionException)

Quel est l’en-tête d’erreur, normalement des informations de position de ligne/caractère ?

getErrorListenerDispatch()
getErrorListeners()
getExpectedTokens()

Calcule l’ensemble de symboles d’entrée qui peuvent suivre l’état et le contexte actuels de l’analyseur, comme indiqué par <xref:%23getState> et <xref:%23getContext>, respectivement.

Consultez ATN#getExpectedTokens(int, RuleContext)

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

Obtenez l’index d’une règle (c’est-à-dire le RULE_ruleName champ) ou -1 si introuvable.

getRuleIndexMap()

Obtenez un mappage des noms de règles aux index de règle. Utilisé pour la compilation de modèles XPath et d’arborescence.

getRuleInvocationStack(RuleContext)

Return List<String> des noms de règle dans votre instance d’analyseur menant à un appel à la règle actuelle. Vous pouvez remplacer si vous souhaitez obtenir plus de détails, tels que les informations de fichier/ligne de l’endroit où, dans l’ATN, une règle est appelée. Cela est très utile pour les messages d’erreur.

getTokenType(string)
getTokenTypeMap()

Obtenez un mappage des noms de jetons aux types de jetons. Utilisé pour la compilation de modèles XPath et d’arborescence.

inContext(string)
isExpectedToken(number)

Vérifie si vous pouvez ou non symbol suivre l’état actuel dans l’ATN. Le comportement de cette méthode est équivalent à ce qui suit, mais est implémenté de telle sorte que l’ensemble de suivis contextuels complet n’ait pas besoin d’être construit explicitement.

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

Faites correspondre le symbole d’entrée actuel à ttype. Si le type de symbole correspond, <xref:ANTLRErrorStrategy%23reportMatch> et <xref:%23consume> sont appelés pour terminer le processus de correspondance. Si le type de symbole ne correspond pas, <xref:ANTLRErrorStrategy%23recoverInline> est appelé sur la stratégie d’erreur actuelle pour tenter de récupérer. Si <xref:%23getBuildParseTree> est true et que l’index de jeton du symbole retourné par <xref:ANTLRErrorStrategy%23recoverInline> est -1, le symbole est ajouté à l’arborescence d’analyse en appelant [Jeton)](xref:%23createErrorNode(ParserRuleContext%2C) puis <xref:ParserRuleContext%23addErrorNode(ErrorNode)>.

matchWildcard()

Faire correspondre le symbole d’entrée actuel sous la forme d’un caractère générique. Si le type de symbole correspond (c’est-à-dire a une valeur supérieure à 0) <xref:ANTLRErrorStrategy%23reportMatch> et <xref:%23consume> sont appelés pour terminer le processus de correspondance. Si le type de symbole ne correspond pas, <xref:ANTLRErrorStrategy%23recoverInline> est appelé sur la stratégie d’erreur actuelle pour tenter de récupérer. Si <xref:%23getBuildParseTree> est true et que l’index de jeton du symbole retourné par <xref:ANTLRErrorStrategy%23recoverInline> est -1, le symbole est ajouté à l’arborescence d’analyse en appelant [Jeton)](xref:Parser%23createErrorNode(ParserRuleContext%2C) puis <xref:ParserRuleContext%23addErrorNode(ErrorNode)>.

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

Comme <xref:%23enterRule> mais pour les règles récursives. Faites du contexte actuel l’enfant du localctx entrant.

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

Supprimez listener de la liste des écouteurs d’analyse. Si listener est undefined ou n’a pas été ajouté en tant qu’écouteur d’analyse, cette méthode ne fait rien.

Voir #addParseListener

removeParseListeners()

Supprimez tous les écouteurs d’analyse.

Voir #addParseListener

reset()

réinitialiser l’état de l’analyseur

reset(boolean)
setProfile(boolean)
unrollRecursionContexts(ParserRuleContext)

Détails du constructeur

ExpressionAntlrParser(TokenStream)

new ExpressionAntlrParser(input: TokenStream)

Paramètres

input

TokenStream

Détails de la propriété

ARROW

public static ARROW: 27 = 27

Valeur de propriété

27

ASTERISK

public static ASTERISK: 6 = 6

Valeur de propriété

6

CLOSE_BRACKET

public static CLOSE_BRACKET: 19 = 19

Valeur de propriété

19

CLOSE_CURLY_BRACKET

public static CLOSE_CURLY_BRACKET: 24 = 24

Valeur de propriété

24

CLOSE_SQUARE_BRACKET

public static CLOSE_SQUARE_BRACKET: 22 = 22

Valeur de propriété

22

COLON

public static COLON: 26 = 26

Valeur de propriété

26

COMMA

public static COMMA: 25 = 25

Valeur de propriété

25

DOT

public static DOT: 20 = 20

Valeur de propriété

20

DOUBLE_AND

public static DOUBLE_AND: 12 = 12

Valeur de propriété

12

DOUBLE_EQUAL

public static DOUBLE_EQUAL: 9 = 9

Valeur de propriété

9

DOUBLE_VERTICAL_CYLINDER

public static DOUBLE_VERTICAL_CYLINDER: 13 = 13

Valeur de propriété

13

ESCAPE_CHARACTER

public static ESCAPE_CHARACTER: 37 = 37

Valeur de propriété

37

grammarFileName

string grammarFileName

Valeur de propriété

string

IDENTIFIER

public static IDENTIFIER: 32 = 32

Valeur de propriété

32

INVALID_TOKEN_DEFAULT_MODE

public static INVALID_TOKEN_DEFAULT_MODE: 35 = 35

Valeur de propriété

35

LESS_OR_EQUAl

public static LESS_OR_EQUAl: 16 = 16

Valeur de propriété

16

LESS_THAN

public static LESS_THAN: 14 = 14

Valeur de propriété

14

MORE_OR_EQUAL

public static MORE_OR_EQUAL: 17 = 17

Valeur de propriété

17

MORE_THAN

public static MORE_THAN: 15 = 15

Valeur de propriété

15

NEWLINE

public static NEWLINE: 33 = 33

Valeur de propriété

33

NON

public static NON: 4 = 4

Valeur de propriété

4

NOT_EQUAL

public static NOT_EQUAL: 10 = 10

Valeur de propriété

10

NULL_COALESCE

public static NULL_COALESCE: 28 = 28

Valeur de propriété

28

NUMBER

public static NUMBER: 30 = 30

Valeur de propriété

30

OPEN_BRACKET

public static OPEN_BRACKET: 18 = 18

Valeur de propriété

18

OPEN_CURLY_BRACKET

public static OPEN_CURLY_BRACKET: 23 = 23

Valeur de propriété

23

OPEN_SQUARE_BRACKET

public static OPEN_SQUARE_BRACKET: 21 = 21

Valeur de propriété

21

PERCENT

public static PERCENT: 8 = 8

Valeur de propriété

8

PLUS

public static PLUS: 2 = 2

Valeur de propriété

2

QUESTION_MARK

public static QUESTION_MARK: 29 = 29

Valeur de propriété

29

ruleNames

public static ruleNames: string[] = [
		"file", "expression", "primaryExpression", "stringInterpolation", "textContent", 
		"argsList", "lambda", "keyValuePairList", "keyValuePair", "key",
	]

Valeur de propriété

string[]

ruleNames

string[] ruleNames

Valeur de propriété

string[]

RULE_argsList

public static RULE_argsList: 5 = 5

Valeur de propriété

5

RULE_expression

public static RULE_expression: 1 = 1

Valeur de propriété

1

RULE_file

public static RULE_file: 0 = 0

Valeur de propriété

0

RULE_key

public static RULE_key: 9 = 9

Valeur de propriété

9

RULE_keyValuePair

public static RULE_keyValuePair: 8 = 8

Valeur de propriété

8

RULE_keyValuePairList

public static RULE_keyValuePairList: 7 = 7

Valeur de propriété

7

RULE_lambda

public static RULE_lambda: 6 = 6

Valeur de propriété

6

RULE_primaryExpression

public static RULE_primaryExpression: 2 = 2

Valeur de propriété

2

RULE_stringInterpolation

public static RULE_stringInterpolation: 3 = 3

Valeur de propriété

3

RULE_textContent

public static RULE_textContent: 4 = 4

Valeur de propriété

4

serializedATN

string serializedATN

Valeur de propriété

string

SINGLE_AND

public static SINGLE_AND: 11 = 11

Valeur de propriété

11

SLASH

public static SLASH: 7 = 7

Valeur de propriété

7

STRING

public static STRING: 34 = 34

Valeur de propriété

34

STRING_INTERPOLATION_START

public static STRING_INTERPOLATION_START: 1 = 1

Valeur de propriété

1

SUBSTRACT

public static SUBSTRACT: 3 = 3

Valeur de propriété

3

TEMPLATE

public static TEMPLATE: 36 = 36

Valeur de propriété

36

TEXT_CONTENT

public static TEXT_CONTENT: 38 = 38

Valeur de propriété

38

VOCABULARY

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

Valeur de propriété

Vocabulary

vocabulary

Vocabulary vocabulary

Valeur de propriété

Vocabulary

WHITESPACE

public static WHITESPACE: 31 = 31

Valeur de propriété

31

XOR

public static XOR: 5 = 5

Valeur de propriété

5

Détails de la propriété héritée

atn

Obtenez le serializedATN utilisé par le module de reconnaissance pour la prédiction.

atn: ATN

Valeur de propriété

ATN

Hérité de Recognizer.atn

buildParseTree

Suivez les <xref:ParserRuleContext> objets pendant l’analyse et connectez-les à l’aide de la <xref:ParserRuleContext%23children> liste afin qu’elle forme une arborescence d’analyse. Retourné <xref:ParserRuleContext> par la règle de début représente la racine de l’arborescence d’analyse. Notez que si nous ne créons pas d’arborescences d’analyse, les contextes de règles pointent uniquement vers le haut. Lorsqu’une règle se termine, elle retourne le contexte, mais qui obtient une collecte de mémoire si personne ne détient une référence. Il pointe vers le haut, mais personne ne pointe vers lui.

Lorsque nous créons des arborescences d’analyse, nous ajoutons tous ces contextes à la <xref:ParserRuleContext%23children> liste. Les contextes ne sont alors pas candidats au garbage collection.

buildParseTree: boolean

Valeur de propriété

boolean

Hérité de Parser.buildParseTree

context

context: ParserRuleContext

Valeur de propriété

ParserRuleContext

Hérité de Parser.context

currentToken

La correspondance doit retourner le symbole d’entrée actuel, qui est placé dans l’étiquette pour la référence de jeton associée ; par exemple, x=ID.

currentToken: Token

Valeur de propriété

Token

Hérité de Parser.currentToken

EOF

static EOF: number

Valeur de propriété

number

Hérité de Recognizer.EOF

errorHandler

errorHandler: ANTLRErrorStrategy

Valeur de propriété

ANTLRErrorStrategy

Hérité de Parser.errorHandler

inputStream

Définissez le flux de jetons et réinitialisez l’analyseur.

inputStream: TokenStream

Valeur de propriété

TokenStream

Hérité de Parser.inputStream

interpreter

Définissez l’interpréteur ATN utilisé par le module de reconnaissance pour la prédiction.

interpreter: ParserATNSimulator

Valeur de propriété

ParserATNSimulator

Hérité de Recognizer.interpreter

isMatchedEOF

isMatchedEOF: boolean

Valeur de propriété

boolean

Hérité de Parser.isMatchedEOF

isTrace

Lors d’une analyse, il est parfois utile d’écouter les événements d’entrée et de sortie de règle, ainsi que les correspondances de jeton. Il s’agit d’un débogage rapide et incorrect.

isTrace: boolean

Valeur de propriété

boolean

Hérité de Parser.isTrace

numberOfSyntaxErrors

Obtient le nombre d’erreurs de syntaxe signalées pendant l’analyse. Cette valeur est incrémentée chaque fois <xref:%23notifyErrorListeners> qu’elle est appelée.

Voir #notifyErrorListeners

numberOfSyntaxErrors: number

Valeur de propriété

number

Hérité de Parser.numberOfSyntaxErrors

parseInfo

parseInfo: Promise<ParseInfo | undefined>

Valeur de propriété

Promise<ParseInfo | undefined>

Hérité de Parser.parseInfo

precedence

Obtenez le niveau de précédence pour la règle de précédence la plus élevée.

precedence: number

Valeur de propriété

number

Hérité de Parser.precedence

ruleContext

ruleContext: ParserRuleContext

Valeur de propriété

ParserRuleContext

Hérité de Parser.ruleContext

sourceName

sourceName: string

Valeur de propriété

string

Hérité de Parser.sourceName

state

Indiquez que le module de reconnaissance a changé l’état interne qui est cohérent avec l’état ATN transmis. De cette façon, nous savons toujours où nous sommes dans l’ATN au fur et à mesure que l’analyseur va. Les objets de contexte de règle forment une pile qui nous permet de voir la pile des règles d’appel. Combinez cela et nous avons des informations de configuration ATN complètes.

state: number

Valeur de propriété

number

Hérité de Recognizer.state

tokenFactory

tokenFactory: TokenFactory

Valeur de propriété

TokenFactory

Hérité de Parser.tokenFactory

Détails de la méthode

argsList()

function argsList(): ArgsListContext

Retours

expression()

function expression(): ExpressionContext

Retours

expression(number)

function expression(_p: number): ExpressionContext

Paramètres

_p

number

Retours

file()

function file(): FileContext

Retours

key()

function key(): KeyContext

Retours

keyValuePair()

function keyValuePair(): KeyValuePairContext

Retours

keyValuePairList()

function keyValuePairList(): KeyValuePairListContext

Retours

lambda()

function lambda(): LambdaContext

Retours

primaryExpression()

function primaryExpression(): PrimaryExpressionContext

Retours

primaryExpression(number)

function primaryExpression(_p: number): PrimaryExpressionContext

Paramètres

_p

number

Retours

sempred(RuleContext, number, number)

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

Paramètres

_localctx

RuleContext

ruleIndex

number

predIndex

number

Retours

boolean

stringInterpolation()

function stringInterpolation(): StringInterpolationContext

Retours

textContent()

function textContent(): TextContentContext

Retours

Détails de la méthode héritée

action(RuleContext | undefined, number, number)

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

Paramètres

_localctx

RuleContext | undefined

ruleIndex

number

actionIndex

number

Hérité de Recognizer.action

addErrorListener(ANTLRErrorListener<Token>)

function addErrorListener(listener: ANTLRErrorListener<Token>)

Paramètres

listener

ANTLRErrorListener<Token>

Hérité de Recognizer.addErrorListener

addParseListener(ParseTreeListener)

S’inscrit pour recevoir des listener événements pendant le processus d’analyse. Pour prendre en charge les transformations grammaticales de préservation de la sortie (y compris, mais sans s’y limiter, la suppression de la récursivité gauche, la factoring de gauche automatisée et la génération de code optimisée), les appels aux méthodes d’écouteur pendant l’analyse peuvent différer considérablement des appels effectués par <xref:ParseTreeWalker%23DEFAULT> utilisés une fois l’analyse terminée. En particulier, les événements d’entrée et de sortie de règle peuvent se produire dans un ordre différent pendant l’analyse qu’après l’analyseur. En outre, les appels à certaines méthodes d’entrée de règle peuvent être omis.

Avec les exceptions spécifiques suivantes, les appels aux événements d’écouteur sont déterministes, c’est-à-dire que pour une entrée identique, les appels aux méthodes d’écouteur seront les mêmes.

  • Les modifications apportées à la grammaire utilisée pour générer du code peuvent modifier le comportement des appels de l’écouteur.
  • Les modifications apportées aux options de ligne de commande passées à ANTLR 4 lors de la génération de l’analyseur peuvent modifier le comportement des appels de l’écouteur.
  • La modification de la version de l’outil ANTLR utilisé pour générer l’analyseur peut modifier le comportement des appels de l’écouteur.
function addParseListener(listener: ParseTreeListener)

Paramètres

listener

ParseTreeListener

écouteur à ajouter

Hérité de Parser.addParseListener

compileParseTreePattern(string, number)

Méthode préférée pour obtenir un modèle d’arborescence. Par exemple, voici un exemple d’utilisation :

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>

Paramètres

pattern

string

patternRuleIndex

number

Retours

Promise<ParseTreePattern>

Hérité de Parser.compileParseTreePattern

compileParseTreePattern(string, number, Lexer)

Identique à [int)](xref:%23compileParseTreePattern(String%2C), mais spécifiez un CommonRegexLexer au lieu d’essayer de le déduire de cet analyseur.

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

Paramètres

pattern

string

patternRuleIndex

number

lexer

Lexer

Retours

Promise<ParseTreePattern>

Hérité de Parser.compileParseTreePattern

consume()

Consommez et retournez le symbole actuel. Par exemple, étant donné que l’entrée A suivante est le symbole de tête de regard actuel, cette fonction déplace le curseur vers B et retourne A.

A B
^

Si l’analyseur n’est pas en mode de récupération d’erreur, le symbole consommé est ajouté à l’arborescence d’analyse à l’aide <xref:ParserRuleContext%23addChild(TerminalNode)>de et <xref:ParseTreeListener%23visitTerminal> est appelé sur tous les écouteurs d’analyse. Si l’analyseur est en mode de récupération d’erreur, le symbole consommé est ajouté à l’arborescence d’analyse à l’aide de [Token)](xref:%23createErrorNode(ParserRuleContext%2C) puis <xref:ParserRuleContext%23addErrorNode(ErrorNode)> et <xref:ParseTreeListener%23visitErrorNode> est appelé sur tous les écouteurs d’analyse.

function consume(): Token

Retours

Token

Hérité de Parser.consume

createErrorNode(ParserRuleContext, Token)

Comment créer un nœud d’erreur, en fonction d’un jeton, associé à un parent. En règle générale, le nœud d’erreur à créer n’est pas une fonction du parent.

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

Paramètres

parent

ParserRuleContext

t

Token

Retours

ErrorNode

Hérité de Parser.createErrorNode

createTerminalNode(ParserRuleContext, Token)

Comment créer un nœud feuille de jeton associé à un parent. En règle générale, le nœud terminal à créer n’est pas une fonction du parent.

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

Paramètres

parent

ParserRuleContext

t

Token

Retours

TerminalNode

Hérité de Parser.createTerminalNode

dumpDFA()

À des fins de débogage et à d’autres fins.

function dumpDFA()

Hérité de Parser.dumpDFA

enterLeftFactoredRule(ParserRuleContext, number, number)

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

Paramètres

localctx

ParserRuleContext

state

number

ruleIndex

number

Hérité de Parser.enterLeftFactoredRule

enterOuterAlt(ParserRuleContext, number)

function enterOuterAlt(localctx: ParserRuleContext, altNum: number)

Paramètres

localctx

ParserRuleContext

altNum

number

Hérité de Parser.enterOuterAlt

enterRecursionRule(ParserRuleContext, number, number, number)

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

Paramètres

localctx

ParserRuleContext

state

number

ruleIndex

number

precedence

number

Hérité de Parser.enterRecursionRule

enterRule(ParserRuleContext, number, number)

Toujours appelé par les analyseurs générés lors de l’entrée dans une règle. Le champ d’accès <xref:%23_ctx> obtient le contexte actuel.

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

Paramètres

localctx

ParserRuleContext

state

number

ruleIndex

number

Hérité de Parser.enterRule

exitRule()

function exitRule()

Hérité de Parser.exitRule

getATNWithBypassAlts()

L’ATN avec des alternatives de contournement est coûteux à créer. Nous le créons donc paresseusement. @ si l’analyseur actuel n’implémente pas la serializedATN propriété .

function getATNWithBypassAlts(): ATN

Retours

ATN

Hérité de Parser.getATNWithBypassAlts

getDFAStrings()

À des fins de débogage et à d’autres fins.

function getDFAStrings(): string[]

Retours

string[]

Hérité de Parser.getDFAStrings

getErrorHeader(RecognitionException)

Quel est l’en-tête d’erreur, normalement des informations de position de ligne/caractère ?

function getErrorHeader(e: RecognitionException): string

Paramètres

e

RecognitionException

Retours

string

Hérité de Recognizer.getErrorHeader

getErrorListenerDispatch()

function getErrorListenerDispatch(): ParserErrorListener

Retours

ParserErrorListener

Hérité de Parser.getErrorListenerDispatch

getErrorListeners()

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

Retours

Array<ANTLRErrorListener<Token>>

Hérité de Recognizer.getErrorListeners

getExpectedTokens()

Calcule l’ensemble de symboles d’entrée qui peuvent suivre l’état et le contexte actuels de l’analyseur, comme indiqué par <xref:%23getState> et <xref:%23getContext>, respectivement.

Consultez ATN#getExpectedTokens(int, RuleContext)

function getExpectedTokens(): IntervalSet

Retours

IntervalSet

Hérité de Parser.getExpectedTokens

getExpectedTokensWithinCurrentRule()

function getExpectedTokensWithinCurrentRule(): IntervalSet

Retours

IntervalSet

Hérité de Parser.getExpectedTokensWithinCurrentRule

getInvokingContext(number)

function getInvokingContext(ruleIndex: number): ParserRuleContext | undefined

Paramètres

ruleIndex

number

Retours

ParserRuleContext | undefined

Hérité de Parser.getInvokingContext

getParseListeners()

function getParseListeners(): ParseTreeListener[]

Retours

ParseTreeListener[]

Hérité de Parser.getParseListeners

getRuleIndex(string)

Obtenez l’index d’une règle (c’est-à-dire le RULE_ruleName champ) ou -1 si introuvable.

function getRuleIndex(ruleName: string): number

Paramètres

ruleName

string

Retours

number

Hérité de Parser.getRuleIndex

getRuleIndexMap()

Obtenez un mappage des noms de règles aux index de règle. Utilisé pour la compilation de modèles XPath et d’arborescence.

function getRuleIndexMap(): ReadonlyMap<string, number>

Retours

ReadonlyMap<string, number>

Hérité de Recognizer.getRuleIndexMap

getRuleInvocationStack(RuleContext)

Return List<String> des noms de règle dans votre instance d’analyseur menant à un appel à la règle actuelle. Vous pouvez remplacer si vous souhaitez obtenir plus de détails, tels que les informations de fichier/ligne de l’endroit où, dans l’ATN, une règle est appelée. Cela est très utile pour les messages d’erreur.

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

Paramètres

ctx

RuleContext

Retours

string[]

Hérité de Parser.getRuleInvocationStack

getTokenType(string)

function getTokenType(tokenName: string): number

Paramètres

tokenName

string

Retours

number

Hérité de Recognizer.getTokenType

getTokenTypeMap()

Obtenez un mappage des noms de jetons aux types de jetons. Utilisé pour la compilation de modèles XPath et d’arborescence.

function getTokenTypeMap(): ReadonlyMap<string, number>

Retours

ReadonlyMap<string, number>

Hérité de Recognizer.getTokenTypeMap

inContext(string)

function inContext(context: string): boolean

Paramètres

context

string

Retours

boolean

Hérité de Parser.inContext

isExpectedToken(number)

Vérifie si vous pouvez ou non symbol suivre l’état actuel dans l’ATN. Le comportement de cette méthode est équivalent à ce qui suit, mais est implémenté de telle sorte que l’ensemble de suivis contextuels complet n’ait pas besoin d’être construit explicitement.

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

Paramètres

symbol

number

type de symbole à vérifier

Retours

boolean

true si symbol peut suivre l’état actuel dans l’ATN, sinon false.

Hérité de Parser.isExpectedToken

match(number)

Faites correspondre le symbole d’entrée actuel à ttype. Si le type de symbole correspond, <xref:ANTLRErrorStrategy%23reportMatch> et <xref:%23consume> sont appelés pour terminer le processus de correspondance. Si le type de symbole ne correspond pas, <xref:ANTLRErrorStrategy%23recoverInline> est appelé sur la stratégie d’erreur actuelle pour tenter de récupérer. Si <xref:%23getBuildParseTree> est true et que l’index de jeton du symbole retourné par <xref:ANTLRErrorStrategy%23recoverInline> est -1, le symbole est ajouté à l’arborescence d’analyse en appelant [Jeton)](xref:%23createErrorNode(ParserRuleContext%2C) puis <xref:ParserRuleContext%23addErrorNode(ErrorNode)>.

function match(ttype: number): Token

Paramètres

ttype

number

type de jeton à correspondre

Retours

Token

le symbole correspondant @ si le symbole d’entrée actuel ne correspondait ttype pas et que la stratégie d’erreur n’a pas pu récupérer à partir du symbole incompatible

Hérité de Parser.match

matchWildcard()

Faire correspondre le symbole d’entrée actuel sous la forme d’un caractère générique. Si le type de symbole correspond (c’est-à-dire a une valeur supérieure à 0) <xref:ANTLRErrorStrategy%23reportMatch> et <xref:%23consume> sont appelés pour terminer le processus de correspondance. Si le type de symbole ne correspond pas, <xref:ANTLRErrorStrategy%23recoverInline> est appelé sur la stratégie d’erreur actuelle pour tenter de récupérer. Si <xref:%23getBuildParseTree> est true et que l’index de jeton du symbole retourné par <xref:ANTLRErrorStrategy%23recoverInline> est -1, le symbole est ajouté à l’arborescence d’analyse en appelant [Jeton)](xref:Parser%23createErrorNode(ParserRuleContext%2C) puis <xref:ParserRuleContext%23addErrorNode(ErrorNode)>.

function matchWildcard(): Token

Retours

Token

le symbole correspondant @ si le symbole d’entrée actuel ne correspondait pas à un caractère générique et que la stratégie d’erreur n’a pas pu récupérer à partir du symbole incompatible

Hérité de Parser.matchWildcard

notifyErrorListeners(string)

function notifyErrorListeners(msg: string)

Paramètres

msg

string

Hérité de Parser.notifyErrorListeners

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

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

Paramètres

msg

string

offendingToken

Token | null

e

RecognitionException | undefined

Hérité de Parser.notifyErrorListeners

precpred(RuleContext, number)

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

Paramètres

localctx

RuleContext

precedence

number

Retours

boolean

Hérité de Parser.precpred

pushNewRecursionContext(ParserRuleContext, number, number)

Comme <xref:%23enterRule> mais pour les règles récursives. Faites du contexte actuel l’enfant du localctx entrant.

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

Paramètres

localctx

ParserRuleContext

state

number

ruleIndex

number

Hérité de Parser.pushNewRecursionContext

removeErrorListener(ANTLRErrorListener<Token>)

function removeErrorListener(listener: ANTLRErrorListener<Token>)

Paramètres

listener

ANTLRErrorListener<Token>

Hérité de Recognizer.removeErrorListener

removeErrorListeners()

function removeErrorListeners()

Hérité de Recognizer.removeErrorListeners

removeParseListener(ParseTreeListener)

Supprimez listener de la liste des écouteurs d’analyse. Si listener est undefined ou n’a pas été ajouté en tant qu’écouteur d’analyse, cette méthode ne fait rien.

Voir #addParseListener

function removeParseListener(listener: ParseTreeListener)

Paramètres

listener

ParseTreeListener

l’écouteur à supprimer

Hérité de Parser.removeParseListener

removeParseListeners()

Supprimez tous les écouteurs d’analyse.

Voir #addParseListener

function removeParseListeners()

Hérité de Parser.removeParseListeners

reset()

réinitialiser l’état de l’analyseur

function reset()

Hérité de Parser.reset

reset(boolean)

function reset(resetInput: boolean)

Paramètres

resetInput

boolean

Hérité de Parser.reset

setProfile(boolean)

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

Paramètres

profile

boolean

Retours

Promise<void>

Hérité de Parser.setProfile

unrollRecursionContexts(ParserRuleContext)

function unrollRecursionContexts(_parentctx: ParserRuleContext)

Paramètres

_parentctx

ParserRuleContext

Hérité de Parser.unrollRecursionContexts