Condividi tramite


LGTemplateParser class

Extends

Parser

Costruttori

LGTemplateParser(TokenStream)

Proprietà

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

Proprietà ereditate

atn

Ottenere il serializedATN usato dal riconoscitore per la stima.

buildParseTree

Tenere traccia degli oggetti <xref:ParserRuleContext> durante l'analisi e associarli usando l'elenco <xref:ParserRuleContext%23children> in modo che formi un albero di analisi. Il <xref:ParserRuleContext> restituito dalla regola iniziale rappresenta la radice dell'albero di analisi. Si noti che se non si creano alberi di analisi, i contesti delle regole puntano solo verso l'alto. Quando una regola viene chiusa, restituisce il contesto, ma viene sottoposto a Garbage Collection se nessuno contiene un riferimento. Punta verso l'alto, ma nessuno lo punta.

Quando si compilano alberi di analisi, si aggiungono tutti questi contesti all'elenco di <xref:ParserRuleContext%23children>. I contesti non sono quindi candidati per l'operazione di Garbage Collection.

context
currentToken

La corrispondenza deve restituire il simbolo di input corrente, che viene inserito nell'etichetta per il riferimento del token associato; ad esempio x=ID.

EOF
errorHandler
inputStream

Impostare il flusso del token e reimpostare il parser.

interpreter

Impostare l'interprete ATN usato dal riconoscitore per la stima.

isMatchedEOF
isTrace

Durante un'analisi è talvolta utile ascoltare gli eventi di ingresso e uscita della regola, nonché le corrispondenze dei token. Questo è per il debug rapido e sporco.

numberOfSyntaxErrors

Ottiene il numero di errori di sintassi segnalati durante l'analisi. Questo valore viene incrementato ogni volta che viene chiamato <xref:%23notifyErrorListeners>.

Vedere #notifyErrorListeners

parseInfo
precedence

Ottenere il livello di precedenza per la regola di precedenza più alta.

ruleContext
sourceName
state

Indicare che il riconoscitore ha modificato lo stato interno coerente con lo stato ATN passato. In questo modo si sa sempre dove ci si trova nell'ATN mentre il parser va avanti. Gli oggetti contesto regola formano uno stack che consente di visualizzare lo stack di richiamo delle regole. Combinare questa operazione e sono disponibili informazioni di configurazione ATN complete.

tokenFactory

Metodi

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

Metodi ereditati

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

Registra listener per ricevere eventi durante il processo di analisi. Per supportare trasformazioni grammaticali con mantenimento dell'output (inclusa la rimozione della ricorsione a sinistra, il factoring a sinistra automatizzato e la generazione di codice ottimizzata), le chiamate ai metodi del listener durante l'analisi possono differire sostanzialmente dalle chiamate effettuate da <xref:ParseTreeWalker%23DEFAULT> usate al termine dell'analisi. In particolare, gli eventi di ingresso e uscita delle regole possono verificarsi in un ordine diverso durante l'analisi rispetto al parser. Inoltre, le chiamate a determinati metodi di immissione delle regole possono essere omesse.

Con le eccezioni specifiche seguenti, le chiamate agli eventi del listener sono deterministiche, ad esempio per l'input identico le chiamate ai metodi del listener saranno uguali.

  • Le modifiche alla grammatica usata per generare codice possono modificare il comportamento delle chiamate del listener.
  • Le modifiche apportate alle opzioni della riga di comando passate a ANTLR 4 durante la generazione del parser possono modificare il comportamento delle chiamate del listener.
  • La modifica della versione dello strumento ANTLR usata per generare il parser può modificare il comportamento delle chiamate del listener.
compileParseTreePattern(string, number)

Metodo preferito per ottenere un modello ad albero. Ad esempio, di seguito è riportato un esempio di uso:

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)

Uguale a [int)](xref:%23compileParseTreePattern(String%2C) ma specificare un LGFileLexer anziché tentare di dedurrlo da questo parser.

consume()

Utilizzare e restituire il simbolo corrente . Ad esempio, dato l'input seguente con A come simbolo lookahead corrente, questa funzione sposta il cursore su B e restituisce A.

A B
^

Se il parser non è in modalità di recupero degli errori, il simbolo utilizzato viene aggiunto all'albero di analisi usando <xref:ParserRuleContext%23addChild(TerminalNode)>e <xref:ParseTreeListener%23visitTerminal> viene chiamato su qualsiasi listener di analisi. Se il parser è in modalità di recupero degli errori, il simbolo utilizzato viene aggiunto all'albero di analisi usando [Token)](xref:%23createErrorNode(ParserRuleContext%2C) <xref:ParserRuleContext%23addErrorNode(ErrorNode)> e <xref:ParseTreeListener%23visitErrorNode> viene chiamato su qualsiasi listener di analisi.

createErrorNode(ParserRuleContext, Token)

Come creare un nodo di errore, dato un token, associato a un elemento padre. In genere, il nodo di errore da creare non è una funzione dell'elemento padre.

createTerminalNode(ParserRuleContext, Token)

Come creare un nodo foglia del token associato a un elemento padre. In genere, il nodo del terminale da creare non è una funzione dell'elemento padre.

dumpDFA()

Per scopi di debug e altri scopi.

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

Chiamato sempre dai parser generati al momento dell'immissione di una regola. Campo di accesso <xref:%23_ctx> ottenere il contesto corrente.

exitRule()
getATNWithBypassAlts()

L'ATN con alternative di bypass è costoso da creare in modo da crearlo in modo differire. @ se il parser corrente non implementa la proprietà serializedATN.

getDFAStrings()

Per scopi di debug e altri scopi.

getErrorHeader(RecognitionException)

Qual è l'intestazione dell'errore, in genere informazioni sulla posizione di riga/carattere?

getErrorListenerDispatch()
getErrorListeners()
getExpectedTokens()

Calcola il set di simboli di input che possono seguire rispettivamente lo stato e il contesto del parser corrente, come indicato rispettivamente da <xref:%23getState> e <xref:%23getContext>.

Vedere ATN#getExpectedTokens(int, RuleContext)

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

Ottenere l'indice di una regola (ad esempio, RULE_ruleName campo) o -1 se non viene trovato.

getRuleIndexMap()

Ottenere una mappa dai nomi delle regole agli indici delle regole. Usato per la compilazione di modelli di albero e XPath.

getRuleInvocationStack(RuleContext)

Return List<String> dei nomi delle regole nell'istanza del parser che conduce a una chiamata alla regola corrente. È possibile eseguire l'override se si desiderano altri dettagli, ad esempio le informazioni di file/riga di dove viene richiamata una regola ATN. Questo è molto utile per i messaggi di errore.

getTokenType(string)
getTokenTypeMap()

Ottenere una mappa dai nomi dei token ai tipi di token. Usato per la compilazione di modelli di albero e XPath.

inContext(string)
isExpectedToken(number)

Controlla se symbol può seguire lo stato corrente nell'ATN. Il comportamento di questo metodo è equivalente al seguente, ma viene implementato in modo che il set di follow con distinzione del contesto completo non debba essere costruito in modo esplicito.

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

Trova la corrispondenza tra il simbolo di input corrente e ttype. Se il tipo di simbolo corrisponde, <xref:ANTLRErrorStrategy%23reportMatch> e <xref:%23consume> vengono chiamati per completare il processo di corrispondenza. Se il tipo di simbolo non corrisponde, <xref:ANTLRErrorStrategy%23recoverInline> viene chiamato sulla strategia di errore corrente per tentare il ripristino. Se <xref:%23getBuildParseTree> è true e l'indice del token del simbolo restituito da <xref:ANTLRErrorStrategy%23recoverInline> è -1, il simbolo viene aggiunto all'albero di analisi chiamando [Token)](xref:%23createErrorNode(ParserRuleContext%2C) <xref:ParserRuleContext%23addErrorNode(ErrorNode)>.

matchWildcard()

Trova la corrispondenza con il simbolo di input corrente come carattere jolly. Se il tipo di simbolo corrisponde (ad esempio, ha un valore maggiore di 0), <xref:ANTLRErrorStrategy%23reportMatch> e <xref:%23consume> vengono chiamati per completare il processo di corrispondenza. Se il tipo di simbolo non corrisponde, <xref:ANTLRErrorStrategy%23recoverInline> viene chiamato sulla strategia di errore corrente per tentare il ripristino. Se <xref:%23getBuildParseTree> è true e l'indice del token del simbolo restituito da <xref:ANTLRErrorStrategy%23recoverInline> è -1, il simbolo viene aggiunto all'albero di analisi chiamando [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)

Come <xref:%23enterRule> ma per le regole ricorsive. Impostare il contesto corrente come elemento figlio dell'oggetto localctx in ingresso.

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

Rimuovere listener dall'elenco dei listener di analisi. Se listener è undefined o non è stato aggiunto come listener di analisi, questo metodo non esegue alcuna operazione.

Vedere #addParseListener

removeParseListeners()

Rimuovere tutti i listener di analisi.

Vedere #addParseListener

reset()

reimpostare lo stato del parser

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

Dettagli costruttore

LGTemplateParser(TokenStream)

new LGTemplateParser(input: TokenStream)

Parametri

input

TokenStream

Dettagli proprietà

CASE

public static CASE: 14 = 14

Valore della proprietà

14

COMMENTS

public static COMMENTS: 3 = 3

Valore della proprietà

3

DASH

public static DASH: 4 = 4

Valore della proprietà

4

DEFAULT

public static DEFAULT: 15 = 15

Valore della proprietà

15

ELSE

public static ELSE: 12 = 12

Valore della proprietà

12

ELSEIF

public static ELSEIF: 11 = 11

Valore della proprietà

11

ESCAPE_CHARACTER

public static ESCAPE_CHARACTER: 16 = 16

Valore della proprietà

16

ESCAPE_CHARACTER_IN_STRUCTURE_BODY

public static ESCAPE_CHARACTER_IN_STRUCTURE_BODY: 31 = 31

Valore della proprietà

31

EXPRESSION

public static EXPRESSION: 17 = 17

Valore della proprietà

17

EXPRESSION_IN_STRUCTURE_BODY

public static EXPRESSION_IN_STRUCTURE_BODY: 32 = 32

Valore della proprietà

32

grammarFileName

string grammarFileName

Valore della proprietà

string

IF

public static IF: 10 = 10

Valore della proprietà

10

INVALID_TOKEN

public static INVALID_TOKEN: 6 = 6

Valore della proprietà

6

LEFT_SQUARE_BRACKET

public static LEFT_SQUARE_BRACKET: 5 = 5

Valore della proprietà

5

MULTILINE_PREFIX

public static MULTILINE_PREFIX: 8 = 8

Valore della proprietà

8

MULTILINE_SUFFIX

public static MULTILINE_SUFFIX: 19 = 19

Valore della proprietà

19

NEWLINE

public static NEWLINE: 2 = 2

Valore della proprietà

2

NEWLINE_IN_BODY

public static NEWLINE_IN_BODY: 9 = 9

Valore della proprietà

9

NEWLINE_IN_STRUCTURE_NAME

public static NEWLINE_IN_STRUCTURE_NAME: 21 = 21

Valore della proprietà

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",
	]

Valore della proprietà

string[]

ruleNames

string[] ruleNames

Valore della proprietà

string[]

RULE_body

public static RULE_body: 1 = 1

Valore della proprietà

1

RULE_errorStructuredName

public static RULE_errorStructuredName: 4 = 4

Valore della proprietà

4

RULE_errorStructureLine

public static RULE_errorStructureLine: 6 = 6

Valore della proprietà

6

RULE_errorTemplateString

public static RULE_errorTemplateString: 13 = 13

Valore della proprietà

13

RULE_expression

public static RULE_expression: 20 = 20

Valore della proprietà

20

RULE_expressionInStructure

public static RULE_expressionInStructure: 21 = 21

Valore della proprietà

21

RULE_ifCondition

public static RULE_ifCondition: 16 = 16

Valore della proprietà

16

RULE_ifConditionRule

public static RULE_ifConditionRule: 15 = 15

Valore della proprietà

15

RULE_ifElseTemplateBody

public static RULE_ifElseTemplateBody: 14 = 14

Valore della proprietà

14

RULE_keyValueStructureLine

public static RULE_keyValueStructureLine: 7 = 7

Valore della proprietà

7

RULE_keyValueStructureValue

public static RULE_keyValueStructureValue: 8 = 8

Valore della proprietà

8

RULE_normalTemplateBody

public static RULE_normalTemplateBody: 10 = 10

Valore della proprietà

10

RULE_normalTemplateString

public static RULE_normalTemplateString: 12 = 12

Valore della proprietà

12

RULE_structuredBodyContentLine

public static RULE_structuredBodyContentLine: 5 = 5

Valore della proprietà

5

RULE_structuredBodyEndLine

public static RULE_structuredBodyEndLine: 9 = 9

Valore della proprietà

9

RULE_structuredBodyNameLine

public static RULE_structuredBodyNameLine: 3 = 3

Valore della proprietà

3

RULE_structuredTemplateBody

public static RULE_structuredTemplateBody: 2 = 2

Valore della proprietà

2

RULE_switchCaseRule

public static RULE_switchCaseRule: 18 = 18

Valore della proprietà

18

RULE_switchCaseStat

public static RULE_switchCaseStat: 19 = 19

Valore della proprietà

19

RULE_switchCaseTemplateBody

public static RULE_switchCaseTemplateBody: 17 = 17

Valore della proprietà

17

RULE_template

public static RULE_template: 0 = 0

Valore della proprietà

0

RULE_templateString

public static RULE_templateString: 11 = 11

Valore della proprietà

11

serializedATN

string serializedATN

Valore della proprietà

string

STRUCTURED_BODY_END

public static STRUCTURED_BODY_END: 27 = 27

Valore della proprietà

27

STRUCTURED_COMMENTS

public static STRUCTURED_COMMENTS: 24 = 24

Valore della proprietà

24

STRUCTURED_NEWLINE

public static STRUCTURED_NEWLINE: 26 = 26

Valore della proprietà

26

STRUCTURE_EQUALS

public static STRUCTURE_EQUALS: 29 = 29

Valore della proprietà

29

STRUCTURE_IDENTIFIER

public static STRUCTURE_IDENTIFIER: 28 = 28

Valore della proprietà

28

STRUCTURE_NAME

public static STRUCTURE_NAME: 22 = 22

Valore della proprietà

22

STRUCTURE_OR_MARK

public static STRUCTURE_OR_MARK: 30 = 30

Valore della proprietà

30

SWITCH

public static SWITCH: 13 = 13

Valore della proprietà

13

TEXT

public static TEXT: 18 = 18

Valore della proprietà

18

TEXT_IN_STRUCTURE_BODY

public static TEXT_IN_STRUCTURE_BODY: 33 = 33

Valore della proprietà

33

TEXT_IN_STRUCTURE_NAME

public static TEXT_IN_STRUCTURE_NAME: 23 = 23

Valore della proprietà

23

VOCABULARY

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

Valore della proprietà

Vocabulary

vocabulary

Vocabulary vocabulary

Valore della proprietà

Vocabulary

WS

public static WS: 1 = 1

Valore della proprietà

1

WS_IN_BODY

public static WS_IN_BODY: 7 = 7

Valore della proprietà

7

WS_IN_STRUCTURE_BODY

public static WS_IN_STRUCTURE_BODY: 25 = 25

Valore della proprietà

25

WS_IN_STRUCTURE_NAME

public static WS_IN_STRUCTURE_NAME: 20 = 20

Valore della proprietà

20

Dettagli proprietà ereditate

atn

Ottenere il serializedATN usato dal riconoscitore per la stima.

atn: ATN

Valore della proprietà

ATN

ereditato da Recognizer.atn

buildParseTree

Tenere traccia degli oggetti <xref:ParserRuleContext> durante l'analisi e associarli usando l'elenco <xref:ParserRuleContext%23children> in modo che formi un albero di analisi. Il <xref:ParserRuleContext> restituito dalla regola iniziale rappresenta la radice dell'albero di analisi. Si noti che se non si creano alberi di analisi, i contesti delle regole puntano solo verso l'alto. Quando una regola viene chiusa, restituisce il contesto, ma viene sottoposto a Garbage Collection se nessuno contiene un riferimento. Punta verso l'alto, ma nessuno lo punta.

Quando si compilano alberi di analisi, si aggiungono tutti questi contesti all'elenco di <xref:ParserRuleContext%23children>. I contesti non sono quindi candidati per l'operazione di Garbage Collection.

buildParseTree: boolean

Valore della proprietà

boolean

Ereditato da Parser.buildParseTree

context

context: ParserRuleContext

Valore della proprietà

ParserRuleContext

ereditato da Parser.context

currentToken

La corrispondenza deve restituire il simbolo di input corrente, che viene inserito nell'etichetta per il riferimento del token associato; ad esempio x=ID.

currentToken: Token

Valore della proprietà

Token

Ereditato da Parser.currentToken

EOF

static EOF: number

Valore della proprietà

number

ereditato da Recognizer.EOF

errorHandler

errorHandler: ANTLRErrorStrategy

Valore della proprietà

ANTLRErrorStrategy

Ereditato da Parser.errorHandler

inputStream

Impostare il flusso del token e reimpostare il parser.

inputStream: TokenStream

Valore della proprietà

TokenStream

Ereditato da Parser.inputStream

interpreter

Impostare l'interprete ATN usato dal riconoscitore per la stima.

interpreter: ParserATNSimulator

Valore della proprietà

ParserATNSimulator

Ereditato da Recognizer.interpreter

isMatchedEOF

isMatchedEOF: boolean

Valore della proprietà

boolean

Ereditato da Parser.isMatchedEOF

isTrace

Durante un'analisi è talvolta utile ascoltare gli eventi di ingresso e uscita della regola, nonché le corrispondenze dei token. Questo è per il debug rapido e sporco.

isTrace: boolean

Valore della proprietà

boolean

Ereditato da Parser.isTrace

numberOfSyntaxErrors

Ottiene il numero di errori di sintassi segnalati durante l'analisi. Questo valore viene incrementato ogni volta che viene chiamato <xref:%23notifyErrorListeners>.

Vedere #notifyErrorListeners

numberOfSyntaxErrors: number

Valore della proprietà

number

Ereditato da Parser.numberOfSyntaxErrors

parseInfo

parseInfo: Promise<ParseInfo | undefined>

Valore della proprietà

Promise<ParseInfo | undefined>

Ereditato da Parser.parseInfo

precedence

Ottenere il livello di precedenza per la regola di precedenza più alta.

precedence: number

Valore della proprietà

number

ereditato da Parser.precedence

ruleContext

ruleContext: ParserRuleContext

Valore della proprietà

ParserRuleContext

Ereditato da Parser.ruleContext

sourceName

sourceName: string

Valore della proprietà

string

ereditato da Parser.sourceName

state

Indicare che il riconoscitore ha modificato lo stato interno coerente con lo stato ATN passato. In questo modo si sa sempre dove ci si trova nell'ATN mentre il parser va avanti. Gli oggetti contesto regola formano uno stack che consente di visualizzare lo stack di richiamo delle regole. Combinare questa operazione e sono disponibili informazioni di configurazione ATN complete.

state: number

Valore della proprietà

number

ereditato da Recognizer.state

tokenFactory

tokenFactory: TokenFactory

Valore della proprietà

TokenFactory

Ereditato da Parser.tokenFactory

Dettagli metodo

body()

function body(): BodyContext

Restituisce

errorStructuredName()

function errorStructuredName(): ErrorStructuredNameContext

Restituisce

errorStructureLine()

function errorStructureLine(): ErrorStructureLineContext

Restituisce

errorTemplateString()

function errorTemplateString(): ErrorTemplateStringContext

Restituisce

expression()

function expression(): ExpressionContext

Restituisce

expressionInStructure()

function expressionInStructure(): ExpressionInStructureContext

Restituisce

ifCondition()

function ifCondition(): IfConditionContext

Restituisce

ifConditionRule()

function ifConditionRule(): IfConditionRuleContext

Restituisce

ifElseTemplateBody()

function ifElseTemplateBody(): IfElseTemplateBodyContext

Restituisce

keyValueStructureLine()

function keyValueStructureLine(): KeyValueStructureLineContext

Restituisce

keyValueStructureValue()

function keyValueStructureValue(): KeyValueStructureValueContext

Restituisce

normalTemplateBody()

function normalTemplateBody(): NormalTemplateBodyContext

Restituisce

normalTemplateString()

function normalTemplateString(): NormalTemplateStringContext

Restituisce

structuredBodyContentLine()

function structuredBodyContentLine(): StructuredBodyContentLineContext

Restituisce

structuredBodyEndLine()

function structuredBodyEndLine(): StructuredBodyEndLineContext

Restituisce

structuredBodyNameLine()

function structuredBodyNameLine(): StructuredBodyNameLineContext

Restituisce

structuredTemplateBody()

function structuredTemplateBody(): StructuredTemplateBodyContext

Restituisce

switchCaseRule()

function switchCaseRule(): SwitchCaseRuleContext

Restituisce

switchCaseStat()

function switchCaseStat(): SwitchCaseStatContext

Restituisce

switchCaseTemplateBody()

function switchCaseTemplateBody(): SwitchCaseTemplateBodyContext

Restituisce

template()

function template(): TemplateContext

Restituisce

templateString()

function templateString(): TemplateStringContext

Restituisce

Dettagli dei metodi ereditati

action(RuleContext | undefined, number, number)

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

Parametri

_localctx

RuleContext | undefined

ruleIndex

number

actionIndex

number

Ereditato da Recognizer.action

addErrorListener(ANTLRErrorListener<Token>)

function addErrorListener(listener: ANTLRErrorListener<Token>)

Parametri

listener

ANTLRErrorListener<Token>

Ereditato da Recognizer.addErrorListener

addParseListener(ParseTreeListener)

Registra listener per ricevere eventi durante il processo di analisi. Per supportare trasformazioni grammaticali con mantenimento dell'output (inclusa la rimozione della ricorsione a sinistra, il factoring a sinistra automatizzato e la generazione di codice ottimizzata), le chiamate ai metodi del listener durante l'analisi possono differire sostanzialmente dalle chiamate effettuate da <xref:ParseTreeWalker%23DEFAULT> usate al termine dell'analisi. In particolare, gli eventi di ingresso e uscita delle regole possono verificarsi in un ordine diverso durante l'analisi rispetto al parser. Inoltre, le chiamate a determinati metodi di immissione delle regole possono essere omesse.

Con le eccezioni specifiche seguenti, le chiamate agli eventi del listener sono deterministiche, ad esempio per l'input identico le chiamate ai metodi del listener saranno uguali.

  • Le modifiche alla grammatica usata per generare codice possono modificare il comportamento delle chiamate del listener.
  • Le modifiche apportate alle opzioni della riga di comando passate a ANTLR 4 durante la generazione del parser possono modificare il comportamento delle chiamate del listener.
  • La modifica della versione dello strumento ANTLR usata per generare il parser può modificare il comportamento delle chiamate del listener.
function addParseListener(listener: ParseTreeListener)

Parametri

listener

ParseTreeListener

listener da aggiungere

Ereditato da Parser.addParseListener

compileParseTreePattern(string, number)

Metodo preferito per ottenere un modello ad albero. Ad esempio, di seguito è riportato un esempio di uso:

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>

Parametri

pattern

string

patternRuleIndex

number

Restituisce

Promise<ParseTreePattern>

Ereditato da Parser.compileParseTreePattern

compileParseTreePattern(string, number, Lexer)

Uguale a [int)](xref:%23compileParseTreePattern(String%2C) ma specificare un LGFileLexer anziché tentare di dedurrlo da questo parser.

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

Parametri

pattern

string

patternRuleIndex

number

lexer

Lexer

Restituisce

Promise<ParseTreePattern>

Ereditato da Parser.compileParseTreePattern

consume()

Utilizzare e restituire il simbolo corrente . Ad esempio, dato l'input seguente con A come simbolo lookahead corrente, questa funzione sposta il cursore su B e restituisce A.

A B
^

Se il parser non è in modalità di recupero degli errori, il simbolo utilizzato viene aggiunto all'albero di analisi usando <xref:ParserRuleContext%23addChild(TerminalNode)>e <xref:ParseTreeListener%23visitTerminal> viene chiamato su qualsiasi listener di analisi. Se il parser è in modalità di recupero degli errori, il simbolo utilizzato viene aggiunto all'albero di analisi usando [Token)](xref:%23createErrorNode(ParserRuleContext%2C) <xref:ParserRuleContext%23addErrorNode(ErrorNode)> e <xref:ParseTreeListener%23visitErrorNode> viene chiamato su qualsiasi listener di analisi.

function consume(): Token

Restituisce

Token

Ereditato da Parser.consume

createErrorNode(ParserRuleContext, Token)

Come creare un nodo di errore, dato un token, associato a un elemento padre. In genere, il nodo di errore da creare non è una funzione dell'elemento padre.

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

Parametri

parent

ParserRuleContext

t

Token

Restituisce

ErrorNode

Ereditato da Parser.createErrorNode

createTerminalNode(ParserRuleContext, Token)

Come creare un nodo foglia del token associato a un elemento padre. In genere, il nodo del terminale da creare non è una funzione dell'elemento padre.

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

Parametri

parent

ParserRuleContext

t

Token

Restituisce

TerminalNode

Ereditato da Parser.createTerminalNode

dumpDFA()

Per scopi di debug e altri scopi.

function dumpDFA()

Ereditato da Parser.dumpDFA

enterLeftFactoredRule(ParserRuleContext, number, number)

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

Parametri

localctx

ParserRuleContext

state

number

ruleIndex

number

Ereditato da Parser.enterLeftFactoredRule

enterOuterAlt(ParserRuleContext, number)

function enterOuterAlt(localctx: ParserRuleContext, altNum: number)

Parametri

localctx

ParserRuleContext

altNum

number

Ereditato da Parser.enterOuterAlt

enterRecursionRule(ParserRuleContext, number, number, number)

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

Parametri

localctx

ParserRuleContext

state

number

ruleIndex

number

precedence

number

Ereditato da Parser.enterRecursionRule

enterRule(ParserRuleContext, number, number)

Chiamato sempre dai parser generati al momento dell'immissione di una regola. Campo di accesso <xref:%23_ctx> ottenere il contesto corrente.

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

Parametri

localctx

ParserRuleContext

state

number

ruleIndex

number

Ereditato da Parser.enterRule

exitRule()

function exitRule()

Ereditato da Parser.exitRule

getATNWithBypassAlts()

L'ATN con alternative di bypass è costoso da creare in modo da crearlo in modo differire. @ se il parser corrente non implementa la proprietà serializedATN.

function getATNWithBypassAlts(): ATN

Restituisce

ATN

Ereditato da Parser.getATNWithBypassAlts

getDFAStrings()

Per scopi di debug e altri scopi.

function getDFAStrings(): string[]

Restituisce

string[]

Ereditato da Parser.getDFAStrings

getErrorHeader(RecognitionException)

Qual è l'intestazione dell'errore, in genere informazioni sulla posizione di riga/carattere?

function getErrorHeader(e: RecognitionException): string

Parametri

e

RecognitionException

Restituisce

string

Ereditato da Recognizer.getErrorHeader

getErrorListenerDispatch()

function getErrorListenerDispatch(): ParserErrorListener

Restituisce

ParserErrorListener

Ereditato da Parser.getErrorListenerDispatch

getErrorListeners()

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

Restituisce

Array<ANTLRErrorListener<Token>>

ereditato da Recognizer.getErrorListeners

getExpectedTokens()

Calcola il set di simboli di input che possono seguire rispettivamente lo stato e il contesto del parser corrente, come indicato rispettivamente da <xref:%23getState> e <xref:%23getContext>.

Vedere ATN#getExpectedTokens(int, RuleContext)

function getExpectedTokens(): IntervalSet

Restituisce

IntervalSet

Ereditato da Parser.getExpectedTokens

getExpectedTokensWithinCurrentRule()

function getExpectedTokensWithinCurrentRule(): IntervalSet

Restituisce

IntervalSet

Ereditato da Parser.getExpectedTokensWithinCurrentRule

getInvokingContext(number)

function getInvokingContext(ruleIndex: number): ParserRuleContext | undefined

Parametri

ruleIndex

number

Restituisce

ParserRuleContext | undefined

Ereditato da Parser.getInvokingContext

getParseListeners()

function getParseListeners(): ParseTreeListener[]

Restituisce

ParseTreeListener[]

Ereditato da Parser.getParseListeners

getRuleIndex(string)

Ottenere l'indice di una regola (ad esempio, RULE_ruleName campo) o -1 se non viene trovato.

function getRuleIndex(ruleName: string): number

Parametri

ruleName

string

Restituisce

number

Ereditato da Parser.getRuleIndex

getRuleIndexMap()

Ottenere una mappa dai nomi delle regole agli indici delle regole. Usato per la compilazione di modelli di albero e XPath.

function getRuleIndexMap(): ReadonlyMap<string, number>

Restituisce

ReadonlyMap<string, number>

Ereditato da Recognizer.getRuleIndexMap

getRuleInvocationStack(RuleContext)

Return List<String> dei nomi delle regole nell'istanza del parser che conduce a una chiamata alla regola corrente. È possibile eseguire l'override se si desiderano altri dettagli, ad esempio le informazioni di file/riga di dove viene richiamata una regola ATN. Questo è molto utile per i messaggi di errore.

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

Parametri

ctx

RuleContext

Restituisce

string[]

Ereditato da Parser.getRuleInvocationStack

getTokenType(string)

function getTokenType(tokenName: string): number

Parametri

tokenName

string

Restituisce

number

ereditato da Recognizer.getTokenType

getTokenTypeMap()

Ottenere una mappa dai nomi dei token ai tipi di token. Usato per la compilazione di modelli di albero e XPath.

function getTokenTypeMap(): ReadonlyMap<string, number>

Restituisce

ReadonlyMap<string, number>

Ereditato da Recognizer.getTokenTypeMap

inContext(string)

function inContext(context: string): boolean

Parametri

context

string

Restituisce

boolean

Ereditato da Parser.inContext

isExpectedToken(number)

Controlla se symbol può seguire lo stato corrente nell'ATN. Il comportamento di questo metodo è equivalente al seguente, ma viene implementato in modo che il set di follow con distinzione del contesto completo non debba essere costruito in modo esplicito.

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

Parametri

symbol

number

tipo di simbolo da controllare

Restituisce

boolean

true se symbol può seguire lo stato corrente in ATN; in caso contrario, false.

Ereditato da Parser.isExpectedToken

match(number)

Trova la corrispondenza tra il simbolo di input corrente e ttype. Se il tipo di simbolo corrisponde, <xref:ANTLRErrorStrategy%23reportMatch> e <xref:%23consume> vengono chiamati per completare il processo di corrispondenza. Se il tipo di simbolo non corrisponde, <xref:ANTLRErrorStrategy%23recoverInline> viene chiamato sulla strategia di errore corrente per tentare il ripristino. Se <xref:%23getBuildParseTree> è true e l'indice del token del simbolo restituito da <xref:ANTLRErrorStrategy%23recoverInline> è -1, il simbolo viene aggiunto all'albero di analisi chiamando [Token)](xref:%23createErrorNode(ParserRuleContext%2C) <xref:ParserRuleContext%23addErrorNode(ErrorNode)>.

function match(ttype: number): Token

Parametri

ttype

number

tipo di token da associare

Restituisce

Token

simbolo corrispondente @ se il simbolo di input corrente non corrisponde ttype e la strategia di errore non è riuscita a recuperare dal simbolo non corrispondente

Ereditato da Parser.match

matchWildcard()

Trova la corrispondenza con il simbolo di input corrente come carattere jolly. Se il tipo di simbolo corrisponde (ad esempio, ha un valore maggiore di 0), <xref:ANTLRErrorStrategy%23reportMatch> e <xref:%23consume> vengono chiamati per completare il processo di corrispondenza. Se il tipo di simbolo non corrisponde, <xref:ANTLRErrorStrategy%23recoverInline> viene chiamato sulla strategia di errore corrente per tentare il ripristino. Se <xref:%23getBuildParseTree> è true e l'indice del token del simbolo restituito da <xref:ANTLRErrorStrategy%23recoverInline> è -1, il simbolo viene aggiunto all'albero di analisi chiamando [Token)](xref:Parser%23createErrorNode(ParserRuleContext%2C) <xref:ParserRuleContext%23addErrorNode(ErrorNode)>.

function matchWildcard(): Token

Restituisce

Token

simbolo corrispondente @ se il simbolo di input corrente non corrisponde a un carattere jolly e la strategia di errore non è riuscita a recuperare dal simbolo non corrispondente

Ereditato da Parser.matchWildcard

notifyErrorListeners(string)

function notifyErrorListeners(msg: string)

Parametri

msg

string

Ereditato da Parser.notifyErrorListeners

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

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

Parametri

msg

string

offendingToken

Token | null

e

RecognitionException | undefined

Ereditato da Parser.notifyErrorListeners

precpred(RuleContext, number)

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

Parametri

localctx

RuleContext

precedence

number

Restituisce

boolean

ereditato da Parser.precpred

pushNewRecursionContext(ParserRuleContext, number, number)

Come <xref:%23enterRule> ma per le regole ricorsive. Impostare il contesto corrente come elemento figlio dell'oggetto localctx in ingresso.

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

Parametri

localctx

ParserRuleContext

state

number

ruleIndex

number

Ereditato da Parser.pushNewRecursionContext

removeErrorListener(ANTLRErrorListener<Token>)

function removeErrorListener(listener: ANTLRErrorListener<Token>)

Parametri

listener

ANTLRErrorListener<Token>

Ereditato da Recognizer.removeErrorListener

removeErrorListeners()

function removeErrorListeners()

Ereditato da Recognizer.removeErrorListeners

removeParseListener(ParseTreeListener)

Rimuovere listener dall'elenco dei listener di analisi. Se listener è undefined o non è stato aggiunto come listener di analisi, questo metodo non esegue alcuna operazione.

Vedere #addParseListener

function removeParseListener(listener: ParseTreeListener)

Parametri

listener

ParseTreeListener

listener da rimuovere

Ereditato da Parser.removeParseListener

removeParseListeners()

Rimuovere tutti i listener di analisi.

Vedere #addParseListener

function removeParseListeners()

Ereditato da Parser.removeParseListeners

reset()

reimpostare lo stato del parser

function reset()

Ereditato da Parser.reset

reset(boolean)

function reset(resetInput: boolean)

Parametri

resetInput

boolean

Ereditato da Parser.reset

sempred(RuleContext | undefined, number, number)

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

Parametri

_localctx

RuleContext | undefined

ruleIndex

number

actionIndex

number

Restituisce

boolean

ereditato da Recognizer.sempred

setProfile(boolean)

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

Parametri

profile

boolean

Restituisce

Promise<void>

Ereditato da Parser.setProfile

unrollRecursionContexts(ParserRuleContext)

function unrollRecursionContexts(_parentctx: ParserRuleContext)

Parametri

_parentctx

ParserRuleContext

Ereditato da Parser.unrollRecursionContexts