Bagikan melalui


ExpressionAntlrParser class

Memperluas

Parser

Konstruktor

ExpressionAntlrParser(TokenStream)

Properti

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

Properti yang Diwariskan

atn

Dapatkan serializedATN yang digunakan oleh pengenal untuk prediksi.

buildParseTree

Lacak objek <xref:ParserRuleContext> selama penguraian dan kaitkan menggunakan daftar <xref:ParserRuleContext%23children> sehingga membentuk pohon urai. <xref:ParserRuleContext> yang dikembalikan dari aturan awal mewakili akar pohon penguraian. Perhatikan bahwa jika kita tidak membangun pohon penguraian, konteks aturan hanya menunjuk ke atas. Ketika aturan keluar, aturan mengembalikan konteks tetapi akan sampah dikumpulkan jika tidak ada yang memegang referensi. Ini menunjuk ke atas tetapi tidak ada yang menunjuk ke atas.

Ketika kita membangun pohon penguraian, kita menambahkan semua konteks ini ke daftar <xref:ParserRuleContext%23children>. Konteks kemudian bukan kandidat pengumpulan sampah.

context
currentToken

Kecocokan perlu mengembalikan simbol input saat ini, yang dimasukkan ke dalam label untuk ref token terkait; misalnya, x=ID.

EOF
errorHandler
inputStream

Atur aliran token dan atur ulang pengurai.

interpreter

Atur penerjemah ATN yang digunakan oleh pengenal untuk prediksi.

isMatchedEOF
isTrace

Selama penguraian terkadang berguna untuk mendengarkan peristiwa entri aturan dan keluar serta kecocokan token. Ini untuk penelusuran kesalahan yang cepat dan kotor.

numberOfSyntaxErrors

Mendapatkan jumlah kesalahan sintaks yang dilaporkan selama penguraian. Nilai ini bertahap setiap kali <xref:%23notifyErrorListeners> dipanggil.

Lihat #notifyErrorListeners

parseInfo
precedence

Dapatkan tingkat prioritas untuk aturan yang paling diutamakan.

ruleContext
sourceName
state

Tunjukkan bahwa recognizer telah mengubah status internal yang konsisten dengan status ATN yang diteruskan. Dengan cara ini kita selalu tahu di mana kita berada di ATN saat parser berjalan bersama. Objek konteks aturan membentuk tumpukan yang memungkinkan kita melihat tumpukan aturan pemanggilan. Gabungkan ini dan kami memiliki informasi konfigurasi ATN lengkap.

tokenFactory

Metode

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

Metode yang Diwarisi

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

Mendaftarkan listener untuk menerima peristiwa selama proses penguraian. Untuk mendukung transformasi tata bahasa yang mempertahankan output (termasuk tetapi tidak terbatas pada penghapusan rekursi kiri, faktor kiri otomatis, dan pembuatan kode yang dioptimalkan), panggilan ke metode pendengar selama penguraian mungkin berbeda secara substansial dari panggilan yang dilakukan oleh <xref:ParseTreeWalker%23DEFAULT> digunakan setelah penguraian selesai. Secara khusus, peristiwa entri aturan dan keluar dapat terjadi dalam urutan yang berbeda selama pengurai daripada setelah pengurai. Selain itu, panggilan ke metode entri aturan tertentu dapat dihilangkan.

Dengan pengecualian spesifik berikut, panggilan ke peristiwa pendengar deterministik, yaitu untuk memasukkan panggilan yang identik ke metode pendengar akan sama.

  • Perubahan tata bahasa yang digunakan untuk menghasilkan kode dapat mengubah perilaku panggilan pendengar.
  • Perubahan pada opsi baris perintah yang diteruskan ke ANTLR 4 saat menghasilkan pengurai dapat mengubah perilaku panggilan pendengar.
  • Mengubah versi Alat ANTLR yang digunakan untuk menghasilkan pengurai dapat mengubah perilaku panggilan pendengar.
compileParseTreePattern(string, number)

Metode yang disukai untuk mendapatkan pola pohon. Misalnya, berikut adalah contoh penggunaan:

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)

Sama seperti [int)](xref:%23compileParseTreePattern(String%2C) tetapi tentukan CommonRegexLexer daripada mencoba menyimpulkannya dari pengurai ini.

consume()

Gunakan dan kembalikan simbol saat ini. Misalnya, mengingat input berikut dengan A menjadi simbol lookahead saat ini, fungsi ini memindahkan kursor ke B dan mengembalikan A.

A B
^

Jika pengurai tidak dalam mode pemulihan kesalahan, simbol yang digunakan ditambahkan ke pohon penguraian menggunakan <xref:ParserRuleContext%23addChild(TerminalNode)>, dan <xref:ParseTreeListener%23visitTerminal> dipanggil pada listener penguraian apa pun. Jika pengurai dalam mode pemulihan kesalahan, simbol yang digunakan ditambahkan ke pohon pengurai menggunakan [Token)](xref:%23createErrorNode(ParserRuleContext%2C) maka <xref:ParserRuleContext%23addErrorNode(ErrorNode)> dan <xref:ParseTreeListener%23visitErrorNode> dipanggil pada listener penguraian apa pun.

createErrorNode(ParserRuleContext, Token)

Cara membuat simpul kesalahan, diberikan token, yang terkait dengan induk. Biasanya, node kesalahan yang akan dibuat bukan fungsi induk.

createTerminalNode(ParserRuleContext, Token)

Cara membuat simpul daun token yang terkait dengan induk. Biasanya, simpul terminal yang akan dibuat bukan fungsi induk.

dumpDFA()

Untuk penelusuran kesalahan dan tujuan lainnya.

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

Selalu dipanggil oleh pengurai yang dihasilkan setelah masuk ke aturan. Bidang Access <xref:%23_ctx> mendapatkan konteks saat ini.

exitRule()
getATNWithBypassAlts()

ATN dengan alternatif bypass mahal untuk dibuat sehingga kami membuatnya dengan malas. @ jika pengurai saat ini tidak mengimplementasikan properti serializedATN.

getDFAStrings()

Untuk penelusuran kesalahan dan tujuan lainnya.

getErrorHeader(RecognitionException)

Apa itu header kesalahan, biasanya informasi posisi baris/karakter?

getErrorListenerDispatch()
getErrorListeners()
getExpectedTokens()

Menghitung kumpulan simbol input yang dapat mengikuti status dan konteks pengurai saat ini, seperti yang diberikan oleh <xref:%23getState> dan <xref:%23getContext>, masing-masing.

Lihat ATN#getExpectedTokens(int, RuleContext)

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

Dapatkan indeks aturan (yaitu, bidang RULE_ruleName) atau -1 jika tidak ditemukan.

getRuleIndexMap()

Dapatkan peta dari nama aturan ke indeks aturan. Digunakan untuk kompilasi pola XPath dan pohon.

getRuleInvocationStack(RuleContext)

Daftar Pengembalian<String> nama aturan di instans pengurai Anda yang mengarah ke panggilan ke aturan saat ini. Anda dapat mengambil alih jika Anda ingin detail lebih lanjut seperti info file/baris tempat di ATN aturan dipanggil. Ini sangat berguna untuk pesan kesalahan.

getTokenType(string)
getTokenTypeMap()

Dapatkan peta dari nama token ke jenis token. Digunakan untuk kompilasi pola XPath dan pohon.

inContext(string)
isExpectedToken(number)

Memeriksa apakah symbol dapat mengikuti status saat ini di ATN atau tidak. Perilaku metode ini setara dengan yang berikut ini, tetapi diimplementasikan sed sehingga kumpulan tindak lanjut peka konteks lengkap tidak perlu dibangun secara eksplisit.

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

Cocokkan simbol input saat ini dengan ttype. Jika jenis simbol cocok, <xref:ANTLRErrorStrategy%23reportMatch> dan <xref:%23consume> dipanggil untuk menyelesaikan proses pencocokan. Jika jenis simbol tidak cocok, <xref:ANTLRErrorStrategy%23recoverInline> dipanggil pada strategi kesalahan saat ini untuk mencoba pemulihan. Jika <xref:%23getBuildParseTree>true dan indeks token simbol yang dikembalikan oleh <xref:ANTLRErrorStrategy%23recoverInline> adalah -1, simbol ditambahkan ke pohon penguraian dengan memanggil [Token)](xref:%23createErrorNode(ParserRuleContext%2C) lalu <xref:ParserRuleContext%23addErrorNode(ErrorNode)>.

matchWildcard()

Cocokkan simbol input saat ini sebagai kartubebas. Jika jenis simbol cocok (yaitu memiliki nilai yang lebih besar dari 0), <xref:ANTLRErrorStrategy%23reportMatch> dan <xref:%23consume> dipanggil untuk menyelesaikan proses pencocokan. Jika jenis simbol tidak cocok, <xref:ANTLRErrorStrategy%23recoverInline> dipanggil pada strategi kesalahan saat ini untuk mencoba pemulihan. Jika <xref:%23getBuildParseTree>true dan indeks token simbol yang dikembalikan oleh <xref:ANTLRErrorStrategy%23recoverInline> adalah -1, simbol ditambahkan ke pohon urai dengan memanggil [Token)](xref:Parser%23createErrorNode(ParserRuleContext%2C) lalu <xref:ParserRuleContext%23addErrorNode(ErrorNode)>.

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

Seperti <xref:%23enterRule> tetapi untuk aturan rekursif. Jadikan konteks saat ini sebagai turunan dari localctx yang masuk.

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

Hapus listener dari daftar listener penguraian. Jika listenerundefined atau belum ditambahkan sebagai pendengar penguraian, metode ini tidak melakukan apa pun.

Lihat #addParseListener

removeParseListeners()

Hapus semua listener pengurai.

Lihat #addParseListener

reset()

mengatur ulang status pengurai

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

Detail Konstruktor

ExpressionAntlrParser(TokenStream)

new ExpressionAntlrParser(input: TokenStream)

Parameter

input

TokenStream

Detail Properti

ARROW

public static ARROW: 27 = 27

Nilai Properti

27

ASTERISK

public static ASTERISK: 6 = 6

Nilai Properti

6

CLOSE_BRACKET

public static CLOSE_BRACKET: 19 = 19

Nilai Properti

19

CLOSE_CURLY_BRACKET

public static CLOSE_CURLY_BRACKET: 24 = 24

Nilai Properti

24

CLOSE_SQUARE_BRACKET

public static CLOSE_SQUARE_BRACKET: 22 = 22

Nilai Properti

22

COLON

public static COLON: 26 = 26

Nilai Properti

26

COMMA

public static COMMA: 25 = 25

Nilai Properti

25

DOT

public static DOT: 20 = 20

Nilai Properti

20

DOUBLE_AND

public static DOUBLE_AND: 12 = 12

Nilai Properti

12

DOUBLE_EQUAL

public static DOUBLE_EQUAL: 9 = 9

Nilai Properti

9

DOUBLE_VERTICAL_CYLINDER

public static DOUBLE_VERTICAL_CYLINDER: 13 = 13

Nilai Properti

13

ESCAPE_CHARACTER

public static ESCAPE_CHARACTER: 37 = 37

Nilai Properti

37

grammarFileName

string grammarFileName

Nilai Properti

string

IDENTIFIER

public static IDENTIFIER: 32 = 32

Nilai Properti

32

INVALID_TOKEN_DEFAULT_MODE

public static INVALID_TOKEN_DEFAULT_MODE: 35 = 35

Nilai Properti

35

LESS_OR_EQUAl

public static LESS_OR_EQUAl: 16 = 16

Nilai Properti

16

LESS_THAN

public static LESS_THAN: 14 = 14

Nilai Properti

14

MORE_OR_EQUAL

public static MORE_OR_EQUAL: 17 = 17

Nilai Properti

17

MORE_THAN

public static MORE_THAN: 15 = 15

Nilai Properti

15

NEWLINE

public static NEWLINE: 33 = 33

Nilai Properti

33

NON

public static NON: 4 = 4

Nilai Properti

4

NOT_EQUAL

public static NOT_EQUAL: 10 = 10

Nilai Properti

10

NULL_COALESCE

public static NULL_COALESCE: 28 = 28

Nilai Properti

28

NUMBER

public static NUMBER: 30 = 30

Nilai Properti

30

OPEN_BRACKET

public static OPEN_BRACKET: 18 = 18

Nilai Properti

18

OPEN_CURLY_BRACKET

public static OPEN_CURLY_BRACKET: 23 = 23

Nilai Properti

23

OPEN_SQUARE_BRACKET

public static OPEN_SQUARE_BRACKET: 21 = 21

Nilai Properti

21

PERCENT

public static PERCENT: 8 = 8

Nilai Properti

8

PLUS

public static PLUS: 2 = 2

Nilai Properti

2

QUESTION_MARK

public static QUESTION_MARK: 29 = 29

Nilai Properti

29

ruleNames

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

Nilai Properti

string[]

ruleNames

string[] ruleNames

Nilai Properti

string[]

RULE_argsList

public static RULE_argsList: 5 = 5

Nilai Properti

5

RULE_expression

public static RULE_expression: 1 = 1

Nilai Properti

1

RULE_file

public static RULE_file: 0 = 0

Nilai Properti

0

RULE_key

public static RULE_key: 9 = 9

Nilai Properti

9

RULE_keyValuePair

public static RULE_keyValuePair: 8 = 8

Nilai Properti

8

RULE_keyValuePairList

public static RULE_keyValuePairList: 7 = 7

Nilai Properti

7

RULE_lambda

public static RULE_lambda: 6 = 6

Nilai Properti

6

RULE_primaryExpression

public static RULE_primaryExpression: 2 = 2

Nilai Properti

2

RULE_stringInterpolation

public static RULE_stringInterpolation: 3 = 3

Nilai Properti

3

RULE_textContent

public static RULE_textContent: 4 = 4

Nilai Properti

4

serializedATN

string serializedATN

Nilai Properti

string

SINGLE_AND

public static SINGLE_AND: 11 = 11

Nilai Properti

11

SLASH

public static SLASH: 7 = 7

Nilai Properti

7

STRING

public static STRING: 34 = 34

Nilai Properti

34

STRING_INTERPOLATION_START

public static STRING_INTERPOLATION_START: 1 = 1

Nilai Properti

1

SUBSTRACT

public static SUBSTRACT: 3 = 3

Nilai Properti

3

TEMPLATE

public static TEMPLATE: 36 = 36

Nilai Properti

36

TEXT_CONTENT

public static TEXT_CONTENT: 38 = 38

Nilai Properti

38

VOCABULARY

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

Nilai Properti

Vocabulary

vocabulary

Vocabulary vocabulary

Nilai Properti

Vocabulary

WHITESPACE

public static WHITESPACE: 31 = 31

Nilai Properti

31

XOR

public static XOR: 5 = 5

Nilai Properti

5

Detail Properti yang Diwariskan

atn

Dapatkan serializedATN yang digunakan oleh pengenal untuk prediksi.

atn: ATN

Nilai Properti

ATN

Diwariskan Dari Recognizer.atn

buildParseTree

Lacak objek <xref:ParserRuleContext> selama penguraian dan kaitkan menggunakan daftar <xref:ParserRuleContext%23children> sehingga membentuk pohon urai. <xref:ParserRuleContext> yang dikembalikan dari aturan awal mewakili akar pohon penguraian. Perhatikan bahwa jika kita tidak membangun pohon penguraian, konteks aturan hanya menunjuk ke atas. Ketika aturan keluar, aturan mengembalikan konteks tetapi akan sampah dikumpulkan jika tidak ada yang memegang referensi. Ini menunjuk ke atas tetapi tidak ada yang menunjuk ke atas.

Ketika kita membangun pohon penguraian, kita menambahkan semua konteks ini ke daftar <xref:ParserRuleContext%23children>. Konteks kemudian bukan kandidat pengumpulan sampah.

buildParseTree: boolean

Nilai Properti

boolean

Diwarisi Dari Parser.buildParseTree

context

context: ParserRuleContext

Nilai Properti

ParserRuleContext

Diwariskan Dari Parser.context

currentToken

Kecocokan perlu mengembalikan simbol input saat ini, yang dimasukkan ke dalam label untuk ref token terkait; misalnya, x=ID.

currentToken: Token

Nilai Properti

Token

Diwariskan Dari Parser.currentToken

EOF

static EOF: number

Nilai Properti

number

Diwariskan Dari Recognizer.EOF

errorHandler

errorHandler: ANTLRErrorStrategy

Nilai Properti

ANTLRErrorStrategy

Diwariskan Dari Parser.errorHandler

inputStream

Atur aliran token dan atur ulang pengurai.

inputStream: TokenStream

Nilai Properti

TokenStream

Diwariskan Dari Parser.inputStream

interpreter

Atur penerjemah ATN yang digunakan oleh pengenal untuk prediksi.

interpreter: ParserATNSimulator

Nilai Properti

ParserATNSimulator

Diwariskan Dari Recognizer.interpreter

isMatchedEOF

isMatchedEOF: boolean

Nilai Properti

boolean

Diwariskan Dari Parser.isMatchedEOF

isTrace

Selama penguraian terkadang berguna untuk mendengarkan peristiwa entri aturan dan keluar serta kecocokan token. Ini untuk penelusuran kesalahan yang cepat dan kotor.

isTrace: boolean

Nilai Properti

boolean

Diwariskan Dari Parser.isTrace

numberOfSyntaxErrors

Mendapatkan jumlah kesalahan sintaks yang dilaporkan selama penguraian. Nilai ini bertahap setiap kali <xref:%23notifyErrorListeners> dipanggil.

Lihat #notifyErrorListeners

numberOfSyntaxErrors: number

Nilai Properti

number

Diwariskan Dari Parser.numberOfSyntaxErrors

parseInfo

parseInfo: Promise<ParseInfo | undefined>

Nilai Properti

Promise<ParseInfo | undefined>

Diwariskan Dari Parser.parseInfo

precedence

Dapatkan tingkat prioritas untuk aturan yang paling diutamakan.

precedence: number

Nilai Properti

number

Diwariskan Dari Parser.precedence

ruleContext

ruleContext: ParserRuleContext

Nilai Properti

ParserRuleContext

Diwariskan Dari Parser.ruleContext

sourceName

sourceName: string

Nilai Properti

string

Diwariskan Dari Parser.sourceName

state

Tunjukkan bahwa recognizer telah mengubah status internal yang konsisten dengan status ATN yang diteruskan. Dengan cara ini kita selalu tahu di mana kita berada di ATN saat parser berjalan bersama. Objek konteks aturan membentuk tumpukan yang memungkinkan kita melihat tumpukan aturan pemanggilan. Gabungkan ini dan kami memiliki informasi konfigurasi ATN lengkap.

state: number

Nilai Properti

number

Diwariskan Dari Recognizer.state

tokenFactory

tokenFactory: TokenFactory

Nilai Properti

TokenFactory

Diwariskan Dari Parser.tokenFactory

Detail Metode

argsList()

function argsList(): ArgsListContext

Mengembalikan

expression()

function expression(): ExpressionContext

Mengembalikan

expression(number)

function expression(_p: number): ExpressionContext

Parameter

_p

number

Mengembalikan

file()

function file(): FileContext

Mengembalikan

key()

function key(): KeyContext

Mengembalikan

keyValuePair()

function keyValuePair(): KeyValuePairContext

Mengembalikan

keyValuePairList()

function keyValuePairList(): KeyValuePairListContext

Mengembalikan

lambda()

function lambda(): LambdaContext

Mengembalikan

primaryExpression()

function primaryExpression(): PrimaryExpressionContext

Mengembalikan

primaryExpression(number)

function primaryExpression(_p: number): PrimaryExpressionContext

Parameter

_p

number

Mengembalikan

sempred(RuleContext, number, number)

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

Parameter

_localctx

RuleContext

ruleIndex

number

predIndex

number

Mengembalikan

boolean

stringInterpolation()

function stringInterpolation(): StringInterpolationContext

Mengembalikan

textContent()

function textContent(): TextContentContext

Mengembalikan

Detail Metode yang Diwarisi

action(RuleContext | undefined, number, number)

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

Parameter

_localctx

RuleContext | undefined

ruleIndex

number

actionIndex

number

Diwariskan Dari Recognizer.action

addErrorListener(ANTLRErrorListener<Token>)

function addErrorListener(listener: ANTLRErrorListener<Token>)

Parameter

listener

ANTLRErrorListener<Token>

Diwariskan Dari Recognizer.addErrorListener

addParseListener(ParseTreeListener)

Mendaftarkan listener untuk menerima peristiwa selama proses penguraian. Untuk mendukung transformasi tata bahasa yang mempertahankan output (termasuk tetapi tidak terbatas pada penghapusan rekursi kiri, faktor kiri otomatis, dan pembuatan kode yang dioptimalkan), panggilan ke metode pendengar selama penguraian mungkin berbeda secara substansial dari panggilan yang dilakukan oleh <xref:ParseTreeWalker%23DEFAULT> digunakan setelah penguraian selesai. Secara khusus, peristiwa entri aturan dan keluar dapat terjadi dalam urutan yang berbeda selama pengurai daripada setelah pengurai. Selain itu, panggilan ke metode entri aturan tertentu dapat dihilangkan.

Dengan pengecualian spesifik berikut, panggilan ke peristiwa pendengar deterministik, yaitu untuk memasukkan panggilan yang identik ke metode pendengar akan sama.

  • Perubahan tata bahasa yang digunakan untuk menghasilkan kode dapat mengubah perilaku panggilan pendengar.
  • Perubahan pada opsi baris perintah yang diteruskan ke ANTLR 4 saat menghasilkan pengurai dapat mengubah perilaku panggilan pendengar.
  • Mengubah versi Alat ANTLR yang digunakan untuk menghasilkan pengurai dapat mengubah perilaku panggilan pendengar.
function addParseListener(listener: ParseTreeListener)

Parameter

listener

ParseTreeListener

pendengar yang akan ditambahkan

Diwariskan Dari Parser.addParseListener

compileParseTreePattern(string, number)

Metode yang disukai untuk mendapatkan pola pohon. Misalnya, berikut adalah contoh penggunaan:

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>

Parameter

pattern

string

patternRuleIndex

number

Mengembalikan

Promise<ParseTreePattern>

Diwariskan Dari Parser.compileParseTreePattern

compileParseTreePattern(string, number, Lexer)

Sama seperti [int)](xref:%23compileParseTreePattern(String%2C) tetapi tentukan CommonRegexLexer daripada mencoba menyimpulkannya dari pengurai ini.

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

Parameter

pattern

string

patternRuleIndex

number

lexer

Lexer

Mengembalikan

Promise<ParseTreePattern>

Diwariskan Dari Parser.compileParseTreePattern

consume()

Gunakan dan kembalikan simbol saat ini. Misalnya, mengingat input berikut dengan A menjadi simbol lookahead saat ini, fungsi ini memindahkan kursor ke B dan mengembalikan A.

A B
^

Jika pengurai tidak dalam mode pemulihan kesalahan, simbol yang digunakan ditambahkan ke pohon penguraian menggunakan <xref:ParserRuleContext%23addChild(TerminalNode)>, dan <xref:ParseTreeListener%23visitTerminal> dipanggil pada listener penguraian apa pun. Jika pengurai dalam mode pemulihan kesalahan, simbol yang digunakan ditambahkan ke pohon pengurai menggunakan [Token)](xref:%23createErrorNode(ParserRuleContext%2C) maka <xref:ParserRuleContext%23addErrorNode(ErrorNode)> dan <xref:ParseTreeListener%23visitErrorNode> dipanggil pada listener penguraian apa pun.

function consume(): Token

Mengembalikan

Token

Diwariskan Dari Parser.consume

createErrorNode(ParserRuleContext, Token)

Cara membuat simpul kesalahan, diberikan token, yang terkait dengan induk. Biasanya, node kesalahan yang akan dibuat bukan fungsi induk.

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

Parameter

parent

ParserRuleContext

t

Token

Mengembalikan

ErrorNode

Diwariskan Dari Parser.createErrorNode

createTerminalNode(ParserRuleContext, Token)

Cara membuat simpul daun token yang terkait dengan induk. Biasanya, simpul terminal yang akan dibuat bukan fungsi induk.

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

Parameter

parent

ParserRuleContext

t

Token

Mengembalikan

TerminalNode

Diwariskan Dari Parser.createTerminalNode

dumpDFA()

Untuk penelusuran kesalahan dan tujuan lainnya.

function dumpDFA()

Diwariskan Dari Parser.dumpDFA

enterLeftFactoredRule(ParserRuleContext, number, number)

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

Parameter

localctx

ParserRuleContext

state

number

ruleIndex

number

Diwariskan Dari Parser.enterLeftFactoredRule

enterOuterAlt(ParserRuleContext, number)

function enterOuterAlt(localctx: ParserRuleContext, altNum: number)

Parameter

localctx

ParserRuleContext

altNum

number

Diwariskan Dari Parser.enterOuterAlt

enterRecursionRule(ParserRuleContext, number, number, number)

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

Parameter

localctx

ParserRuleContext

state

number

ruleIndex

number

precedence

number

Diwarisi Dari Parser.enterRecursionRule

enterRule(ParserRuleContext, number, number)

Selalu dipanggil oleh pengurai yang dihasilkan setelah masuk ke aturan. Bidang Access <xref:%23_ctx> mendapatkan konteks saat ini.

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

Parameter

localctx

ParserRuleContext

state

number

ruleIndex

number

Diwariskan Dari Parser.enterRule

exitRule()

function exitRule()

Diwariskan Dari Parser.exitRule

getATNWithBypassAlts()

ATN dengan alternatif bypass mahal untuk dibuat sehingga kami membuatnya dengan malas. @ jika pengurai saat ini tidak mengimplementasikan properti serializedATN.

function getATNWithBypassAlts(): ATN

Mengembalikan

ATN

Diwariskan Dari Parser.getATNWithBypassAlts

getDFAStrings()

Untuk penelusuran kesalahan dan tujuan lainnya.

function getDFAStrings(): string[]

Mengembalikan

string[]

Diwariskan Dari Parser.getDFAStrings

getErrorHeader(RecognitionException)

Apa itu header kesalahan, biasanya informasi posisi baris/karakter?

function getErrorHeader(e: RecognitionException): string

Parameter

e

RecognitionException

Mengembalikan

string

Diwariskan Dari Recognizer.getErrorHeader

getErrorListenerDispatch()

function getErrorListenerDispatch(): ParserErrorListener

Mengembalikan

ParserErrorListener

Diwarisi Dari Parser.getErrorListenerDispatch

getErrorListeners()

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

Mengembalikan

Array<ANTLRErrorListener<Token>>

Diwariskan Dari Recognizer.getErrorListeners

getExpectedTokens()

Menghitung kumpulan simbol input yang dapat mengikuti status dan konteks pengurai saat ini, seperti yang diberikan oleh <xref:%23getState> dan <xref:%23getContext>, masing-masing.

Lihat ATN#getExpectedTokens(int, RuleContext)

function getExpectedTokens(): IntervalSet

Mengembalikan

IntervalSet

Diwariskan Dari Parser.getExpectedTokens

getExpectedTokensWithinCurrentRule()

function getExpectedTokensWithinCurrentRule(): IntervalSet

Mengembalikan

IntervalSet

Diwarisi Dari Parser.getExpectedTokensWithinCurrentRule

getInvokingContext(number)

function getInvokingContext(ruleIndex: number): ParserRuleContext | undefined

Parameter

ruleIndex

number

Mengembalikan

ParserRuleContext | undefined

Diwarisi Dari Parser.getInvokingContext

getParseListeners()

function getParseListeners(): ParseTreeListener[]

Mengembalikan

ParseTreeListener[]

Diwariskan Dari Parser.getParseListeners

getRuleIndex(string)

Dapatkan indeks aturan (yaitu, bidang RULE_ruleName) atau -1 jika tidak ditemukan.

function getRuleIndex(ruleName: string): number

Parameter

ruleName

string

Mengembalikan

number

Diwariskan Dari Parser.getRuleIndex

getRuleIndexMap()

Dapatkan peta dari nama aturan ke indeks aturan. Digunakan untuk kompilasi pola XPath dan pohon.

function getRuleIndexMap(): ReadonlyMap<string, number>

Mengembalikan

ReadonlyMap<string, number>

Diwarisi Dari Recognizer.getRuleIndexMap

getRuleInvocationStack(RuleContext)

Daftar Pengembalian<String> nama aturan di instans pengurai Anda yang mengarah ke panggilan ke aturan saat ini. Anda dapat mengambil alih jika Anda ingin detail lebih lanjut seperti info file/baris tempat di ATN aturan dipanggil. Ini sangat berguna untuk pesan kesalahan.

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

Parameter

ctx

RuleContext

Mengembalikan

string[]

Diwariskan Dari Parser.getRuleInvocationStack

getTokenType(string)

function getTokenType(tokenName: string): number

Parameter

tokenName

string

Mengembalikan

number

Diwariskan Dari Recognizer.getTokenType

getTokenTypeMap()

Dapatkan peta dari nama token ke jenis token. Digunakan untuk kompilasi pola XPath dan pohon.

function getTokenTypeMap(): ReadonlyMap<string, number>

Mengembalikan

ReadonlyMap<string, number>

Diwariskan Dari Recognizer.getTokenTypeMap

inContext(string)

function inContext(context: string): boolean

Parameter

context

string

Mengembalikan

boolean

Diwariskan Dari Parser.inContext

isExpectedToken(number)

Memeriksa apakah symbol dapat mengikuti status saat ini di ATN atau tidak. Perilaku metode ini setara dengan yang berikut ini, tetapi diimplementasikan sed sehingga kumpulan tindak lanjut peka konteks lengkap tidak perlu dibangun secara eksplisit.

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

Parameter

symbol

number

jenis simbol untuk diperiksa

Mengembalikan

boolean

true jika symbol dapat mengikuti status saat ini di ATN, jika tidak, false.

Diwariskan Dari Parser.isExpectedToken

match(number)

Cocokkan simbol input saat ini dengan ttype. Jika jenis simbol cocok, <xref:ANTLRErrorStrategy%23reportMatch> dan <xref:%23consume> dipanggil untuk menyelesaikan proses pencocokan. Jika jenis simbol tidak cocok, <xref:ANTLRErrorStrategy%23recoverInline> dipanggil pada strategi kesalahan saat ini untuk mencoba pemulihan. Jika <xref:%23getBuildParseTree>true dan indeks token simbol yang dikembalikan oleh <xref:ANTLRErrorStrategy%23recoverInline> adalah -1, simbol ditambahkan ke pohon penguraian dengan memanggil [Token)](xref:%23createErrorNode(ParserRuleContext%2C) lalu <xref:ParserRuleContext%23addErrorNode(ErrorNode)>.

function match(ttype: number): Token

Parameter

ttype

number

jenis token yang cocok

Mengembalikan

Token

simbol yang cocok @ jika simbol input saat ini tidak cocok dengan ttype dan strategi kesalahan tidak dapat pulih dari simbol yang tidak cocok

Diwariskan Dari Parser.match

matchWildcard()

Cocokkan simbol input saat ini sebagai kartubebas. Jika jenis simbol cocok (yaitu memiliki nilai yang lebih besar dari 0), <xref:ANTLRErrorStrategy%23reportMatch> dan <xref:%23consume> dipanggil untuk menyelesaikan proses pencocokan. Jika jenis simbol tidak cocok, <xref:ANTLRErrorStrategy%23recoverInline> dipanggil pada strategi kesalahan saat ini untuk mencoba pemulihan. Jika <xref:%23getBuildParseTree>true dan indeks token simbol yang dikembalikan oleh <xref:ANTLRErrorStrategy%23recoverInline> adalah -1, simbol ditambahkan ke pohon urai dengan memanggil [Token)](xref:Parser%23createErrorNode(ParserRuleContext%2C) lalu <xref:ParserRuleContext%23addErrorNode(ErrorNode)>.

function matchWildcard(): Token

Mengembalikan

Token

simbol yang cocok @ jika simbol input saat ini tidak cocok dengan kartubebas dan strategi kesalahan tidak dapat pulih dari simbol yang tidak cocok

Diwarisi Dari Parser.matchWildcard

notifyErrorListeners(string)

function notifyErrorListeners(msg: string)

Parameter

msg

string

Diwariskan Dari Parser.notifyErrorListeners

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

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

Parameter

msg

string

offendingToken

Token | null

e

RecognitionException | undefined

Diwariskan Dari Parser.notifyErrorListeners

precpred(RuleContext, number)

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

Parameter

localctx

RuleContext

precedence

number

Mengembalikan

boolean

Diwariskan Dari Parser.precpred

pushNewRecursionContext(ParserRuleContext, number, number)

Seperti <xref:%23enterRule> tetapi untuk aturan rekursif. Jadikan konteks saat ini sebagai turunan dari localctx yang masuk.

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

Parameter

localctx

ParserRuleContext

state

number

ruleIndex

number

Diwarisi Dari Parser.pushNewRecursionContext

removeErrorListener(ANTLRErrorListener<Token>)

function removeErrorListener(listener: ANTLRErrorListener<Token>)

Parameter

listener

ANTLRErrorListener<Token>

Diwariskan Dari Recognizer.removeErrorListener

removeErrorListeners()

function removeErrorListeners()

Diwariskan Dari Recognizer.removeErrorListeners

removeParseListener(ParseTreeListener)

Hapus listener dari daftar listener penguraian. Jika listenerundefined atau belum ditambahkan sebagai pendengar penguraian, metode ini tidak melakukan apa pun.

Lihat #addParseListener

function removeParseListener(listener: ParseTreeListener)

Parameter

listener

ParseTreeListener

pendengar yang akan dihapus

Diwariskan Dari Parser.removeParseListener

removeParseListeners()

Hapus semua listener pengurai.

Lihat #addParseListener

function removeParseListeners()

Diwariskan Dari Parser.removeParseListeners

reset()

mengatur ulang status pengurai

function reset()

Diwariskan Dari Parser.reset

reset(boolean)

function reset(resetInput: boolean)

Parameter

resetInput

boolean

Diwariskan Dari Parser.reset

setProfile(boolean)

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

Parameter

profile

boolean

Mengembalikan

Promise<void>

Diwariskan Dari Parser.setProfile

unrollRecursionContexts(ParserRuleContext)

function unrollRecursionContexts(_parentctx: ParserRuleContext)

Parameter

_parentctx

ParserRuleContext

Diwarisi Dari Parser.unrollRecursionContexts