共用方式為


ExpressionAntlrParser class

Extends

Parser

建構函式

ExpressionAntlrParser(TokenStream)

屬性

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

繼承的屬性

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

方法

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

繼承的方法

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 (String%2C) 相同,但請指定 , CommonRegexLexer 而不是嘗試從這個剖析器中將其除法。

consume()

取用並傳回 目前的符號。 例如,假設下列輸入為 A 目前的外觀符號,此函式會將游標 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:%23getContext> 所 <xref:%23getState> 指定。

請參閱 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)
setProfile(boolean)
unrollRecursionContexts(ParserRuleContext)

建構函式詳細資料

ExpressionAntlrParser(TokenStream)

new ExpressionAntlrParser(input: TokenStream)

參數

input

TokenStream

屬性詳細資料

ARROW

public static ARROW: 27 = 27

屬性值

27

ASTERISK

public static ASTERISK: 6 = 6

屬性值

6

CLOSE_BRACKET

public static CLOSE_BRACKET: 19 = 19

屬性值

19

CLOSE_CURLY_BRACKET

public static CLOSE_CURLY_BRACKET: 24 = 24

屬性值

24

CLOSE_SQUARE_BRACKET

public static CLOSE_SQUARE_BRACKET: 22 = 22

屬性值

22

COLON

public static COLON: 26 = 26

屬性值

26

COMMA

public static COMMA: 25 = 25

屬性值

25

DOT

public static DOT: 20 = 20

屬性值

20

DOUBLE_AND

public static DOUBLE_AND: 12 = 12

屬性值

12

DOUBLE_EQUAL

public static DOUBLE_EQUAL: 9 = 9

屬性值

9

DOUBLE_VERTICAL_CYLINDER

public static DOUBLE_VERTICAL_CYLINDER: 13 = 13

屬性值

13

ESCAPE_CHARACTER

public static ESCAPE_CHARACTER: 37 = 37

屬性值

37

grammarFileName

string grammarFileName

屬性值

string

IDENTIFIER

public static IDENTIFIER: 32 = 32

屬性值

32

INVALID_TOKEN_DEFAULT_MODE

public static INVALID_TOKEN_DEFAULT_MODE: 35 = 35

屬性值

35

LESS_OR_EQUAl

public static LESS_OR_EQUAl: 16 = 16

屬性值

16

LESS_THAN

public static LESS_THAN: 14 = 14

屬性值

14

MORE_OR_EQUAL

public static MORE_OR_EQUAL: 17 = 17

屬性值

17

MORE_THAN

public static MORE_THAN: 15 = 15

屬性值

15

NEWLINE

public static NEWLINE: 33 = 33

屬性值

33

NON

public static NON: 4 = 4

屬性值

4

NOT_EQUAL

public static NOT_EQUAL: 10 = 10

屬性值

10

NULL_COALESCE

public static NULL_COALESCE: 28 = 28

屬性值

28

NUMBER

public static NUMBER: 30 = 30

屬性值

30

OPEN_BRACKET

public static OPEN_BRACKET: 18 = 18

屬性值

18

OPEN_CURLY_BRACKET

public static OPEN_CURLY_BRACKET: 23 = 23

屬性值

23

OPEN_SQUARE_BRACKET

public static OPEN_SQUARE_BRACKET: 21 = 21

屬性值

21

PERCENT

public static PERCENT: 8 = 8

屬性值

8

PLUS

public static PLUS: 2 = 2

屬性值

2

QUESTION_MARK

public static QUESTION_MARK: 29 = 29

屬性值

29

ruleNames

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

屬性值

string[]

ruleNames

string[] ruleNames

屬性值

string[]

RULE_argsList

public static RULE_argsList: 5 = 5

屬性值

5

RULE_expression

public static RULE_expression: 1 = 1

屬性值

1

RULE_file

public static RULE_file: 0 = 0

屬性值

0

RULE_key

public static RULE_key: 9 = 9

屬性值

9

RULE_keyValuePair

public static RULE_keyValuePair: 8 = 8

屬性值

8

RULE_keyValuePairList

public static RULE_keyValuePairList: 7 = 7

屬性值

7

RULE_lambda

public static RULE_lambda: 6 = 6

屬性值

6

RULE_primaryExpression

public static RULE_primaryExpression: 2 = 2

屬性值

2

RULE_stringInterpolation

public static RULE_stringInterpolation: 3 = 3

屬性值

3

RULE_textContent

public static RULE_textContent: 4 = 4

屬性值

4

serializedATN

string serializedATN

屬性值

string

SINGLE_AND

public static SINGLE_AND: 11 = 11

屬性值

11

SLASH

public static SLASH: 7 = 7

屬性值

7

STRING

public static STRING: 34 = 34

屬性值

34

STRING_INTERPOLATION_START

public static STRING_INTERPOLATION_START: 1 = 1

屬性值

1

SUBSTRACT

public static SUBSTRACT: 3 = 3

屬性值

3

TEMPLATE

public static TEMPLATE: 36 = 36

屬性值

36

TEXT_CONTENT

public static TEXT_CONTENT: 38 = 38

屬性值

38

VOCABULARY

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

屬性值

Vocabulary

vocabulary

Vocabulary vocabulary

屬性值

Vocabulary

WHITESPACE

public static WHITESPACE: 31 = 31

屬性值

31

XOR

public static XOR: 5 = 5

屬性值

5

繼承的屬性詳細資料

atn

serializedATN取得辨識器用於預測的 。

atn: ATN

屬性值

ATN

繼承自 Recognizer.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

繼承自 Recognizer.EOF

errorHandler

errorHandler: ANTLRErrorStrategy

屬性值

ANTLRErrorStrategy

繼承自 Parser.errorHandler

inputStream

設定權杖資料流程並重設剖析器。

inputStream: TokenStream

屬性值

TokenStream

繼承自 Parser.inputStream

interpreter

設定辨識器用於預測的 ATN 解譯器。

interpreter: ParserATNSimulator

屬性值

ParserATNSimulator

繼承自 Recognizer.interpreter

isMatchedEOF

isMatchedEOF: boolean

屬性值

boolean

繼承自 Parser.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

繼承自 Recognizer.state

tokenFactory

tokenFactory: TokenFactory

屬性值

TokenFactory

繼承自 Parser.tokenFactory

方法詳細資料

argsList()

function argsList(): ArgsListContext

傳回

expression()

function expression(): ExpressionContext

傳回

expression(number)

function expression(_p: number): ExpressionContext

參數

_p

number

傳回

file()

function file(): FileContext

傳回

key()

function key(): KeyContext

傳回

keyValuePair()

function keyValuePair(): KeyValuePairContext

傳回

keyValuePairList()

function keyValuePairList(): KeyValuePairListContext

傳回

lambda()

function lambda(): LambdaContext

傳回

primaryExpression()

function primaryExpression(): PrimaryExpressionContext

傳回

primaryExpression(number)

function primaryExpression(_p: number): PrimaryExpressionContext

參數

_p

number

傳回

sempred(RuleContext, number, number)

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

參數

_localctx

RuleContext

ruleIndex

number

predIndex

number

傳回

boolean

stringInterpolation()

function stringInterpolation(): StringInterpolationContext

傳回

textContent()

function textContent(): TextContentContext

傳回

繼承的方法的詳細資料

action(RuleContext | undefined, number, number)

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

參數

_localctx

RuleContext | undefined

ruleIndex

number

actionIndex

number

繼承自 Recognizer.action

addErrorListener(ANTLRErrorListener<Token>)

function addErrorListener(listener: ANTLRErrorListener<Token>)

參數

listener

ANTLRErrorListener<Token>

繼承自 Recognizer.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 (String%2C) 相同,但請指定 , CommonRegexLexer 而不是嘗試從這個剖析器中將其除法。

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

參數

pattern

string

patternRuleIndex

number

lexer

Lexer

傳回

Promise<ParseTreePattern>

繼承自 Parser.compileParseTreePattern

consume()

取用並傳回 目前的符號。 例如,假設下列輸入為 A 目前的外觀符號,此函式會將游標 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

繼承自 Recognizer.getErrorHeader

getErrorListenerDispatch()

function getErrorListenerDispatch(): ParserErrorListener

傳回

ParserErrorListener

繼承自 Parser.getErrorListenerDispatch

getErrorListeners()

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

傳回

Array<ANTLRErrorListener<Token>>

繼承自 Recognizer.getErrorListeners

getExpectedTokens()

計算一組輸入符號,這些符號可以分別遵循目前的剖析器狀態和內容,如 和 <xref:%23getContext> 所 <xref:%23getState> 指定。

請參閱 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>

繼承自 Recognizer.getRuleIndexMap

getRuleInvocationStack(RuleContext)

<傳回剖析器實例中規則名稱的清單字串 > ,導致呼叫目前規則。 如果您想要更多詳細資料,例如叫用規則在 ATN 中位置的檔案/行資訊,您可以覆寫。 這非常適用于錯誤訊息。

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

參數

ctx

RuleContext

傳回

string[]

繼承自 Parser.getRuleInvocationStack

getTokenType(string)

function getTokenType(tokenName: string): number

參數

tokenName

string

傳回

number

繼承自 Recognizer.getTokenType

getTokenTypeMap()

從權杖名稱到權杖類型取得對應。 用於 XPath 和樹狀架構編譯。

function getTokenTypeMap(): ReadonlyMap<string, number>

傳回

ReadonlyMap<string, number>

繼承自 Recognizer.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>

繼承自 Recognizer.removeErrorListener

removeErrorListeners()

function removeErrorListeners()

繼承自 Recognizer.removeErrorListeners

removeParseListener(ParseTreeListener)

從剖析接聽程式清單中移除 listener 。 如果 listenerundefined 或 尚未新增為剖析接聽程式,則此方法不會執行任何動作。

請參閱#addParseListener

function removeParseListener(listener: ParseTreeListener)

參數

listener

ParseTreeListener

要移除的接聽程式

繼承自 Parser.removeParseListener

removeParseListeners()

移除所有剖析接聽程式。

請參閱#addParseListener

function removeParseListeners()

繼承自 Parser.removeParseListeners

reset()

重設剖析器的狀態

function reset()

繼承自 Parser.reset

reset(boolean)

function reset(resetInput: boolean)

參數

resetInput

boolean

繼承自 Parser.reset

setProfile(boolean)

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

參數

profile

boolean

傳回

Promise<void>

繼承自 Parser.setProfile

unrollRecursionContexts(ParserRuleContext)

function unrollRecursionContexts(_parentctx: ParserRuleContext)

參數

_parentctx

ParserRuleContext

繼承自 Parser.unrollRecursionCoNtexts