다음을 통해 공유


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

일치는 연결된 토큰 참조에 대한 레이블에 삽입되는 현재 입력 기호를 반환해야 합니다. 예: 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()

현재 기호를 사용하고 반환합니다. 예를 들어 현재 lookahead 기호인 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:%23getState><xref:%23getContext>계산합니다.

ATN#getExpectedTokens(int, RuleContext)를 참조하세요.

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

규칙의 인덱스(예: RULE_ruleName 필드) 또는 -1(없는 경우)을 가져옵니다.

getRuleIndexMap()

규칙 이름에서 규칙 인덱스로 맵을 가져옵니다. XPath 및 트리 패턴 컴파일에 사용됩니다.

getRuleInvocationStack(RuleContext)

현재 규칙에 대한 호출로 이어지는 파서 인스턴스의 규칙 이름 목록<문자열> 을 반환합니다. ATN에서 규칙이 호출되는 위치의 파일/줄 정보와 같은 자세한 정보를 원하는 경우 재정의할 수 있습니다. 오류 메시지에 매우 유용합니다.

getTokenType(string)
getTokenTypeMap()

토큰 이름에서 토큰 형식으로 맵을 가져옵니다. XPath 및 트리 패턴 컴파일에 사용됩니다.

inContext(string)
isExpectedToken(number)

ATN의 현재 상태를 따를 수 있는지 여부를 symbol 확인합니다. 이 메서드의 동작은 다음과 동일하지만 전체 컨텍스트 구분 팔로우 집합을 명시적으로 생성할 필요가 없도록 구현됩니다.

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

현재 입력 기호를 에 일치합니다 ttype. 기호 형식이 일치 <xref:ANTLRErrorStrategy%23reportMatch> 하면 및 <xref:%23consume> 가 호출되어 일치 프로세스를 완료합니다. 기호 형식이 일치하지 <xref:ANTLRErrorStrategy%23recoverInline> 않으면 현재 오류 전략에서 가 호출되어 복구를 시도합니다. 가 true 이고 에서 반환된 <xref:ANTLRErrorStrategy%23recoverInline> 기호의 토큰 인덱스가 -1이면 <xref:%23getBuildParseTree> 기호는 [Token)](xref:%23createErrorNode(ParserRuleContext%2C)<xref:ParserRuleContext%23addErrorNode(ErrorNode)>를 호출하여 구문 분석 트리에 추가됩니다.

matchWildcard()

현재 입력 기호를 와일드카드로 일치합니다. 기호 형식이 일치하는 경우(즉, 값이 0보다 큼) <xref:ANTLRErrorStrategy%23reportMatch><xref:%23consume> 및 가 호출되어 일치 프로세스를 완료합니다. 기호 형식이 일치하지 <xref:ANTLRErrorStrategy%23recoverInline> 않으면 현재 오류 전략에서 가 호출되어 복구를 시도합니다. 가 true 이고 에서 반환된 <xref:ANTLRErrorStrategy%23recoverInline> 기호의 토큰 인덱스가 -1이면 <xref:%23getBuildParseTree> [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 합니다. 가 undefined 또는 가 구문 분석 수신기로 추가되지 않은 경우 listener 이 메서드는 아무 작업도 수행하지 않습니다.

#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

일치는 연결된 토큰 참조에 대한 레이블에 삽입되는 현재 입력 기호를 반환해야 합니다. 예: 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

상속된 From Recognizer.action

addErrorListener(ANTLRErrorListener<Token>)

function addErrorListener(listener: ANTLRErrorListener<Token>)

매개 변수

listener

ANTLRErrorListener<Token>

상속된 From Recognizer.addErrorListener

addParseListener(ParseTreeListener)

listener 구문 분석 프로세스 중에 이벤트를 수신하도록 등록합니다. 출력 보존 문법 변환(왼쪽 재귀 제거, 자동화된 왼쪽 팩터링 및 최적화된 코드 생성 포함)을 지원하기 위해 구문 분석 중 수신기 메서드에 대한 호출은 구문 분석이 완료된 후 사용된 호출 <xref:ParseTreeWalker%23DEFAULT> 과 크게 다를 수 있습니다. 특히 규칙 입력 및 종료 이벤트는 구문 분석 중에 파서 뒤와 다른 순서로 발생할 수 있습니다. 또한 특정 규칙 입력 메서드에 대한 호출을 생략할 수 있습니다.

다음 특정 예외를 제외하고 수신기 이벤트에 대한 호출은 결정적입니다. 즉, 동일한 입력의 경우 수신기 메서드에 대한 호출은 동일합니다.

  • 코드를 생성하는 데 사용되는 문법을 변경하면 수신기 호출의 동작이 변경됩니다.
  • 파서 생성 시 ANTLR 4에 전달된 명령줄 옵션을 변경하면 수신기 호출의 동작이 변경될 수 있습니다.
  • 파서 생성에 사용되는 ANTLR 도구의 버전을 변경하면 수신기 호출의 동작이 변경됩니다.
function addParseListener(listener: ParseTreeListener)

매개 변수

listener

ParseTreeListener

추가할 수신기

상속된 From 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>

상속된 From 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>

상속된 From Parser.compileParseTreePattern

consume()

현재 기호를 사용하고 반환합니다. 예를 들어 현재 lookahead 기호인 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

상속된 From Parser.consume

createErrorNode(ParserRuleContext, Token)

부모와 연결된 토큰이 지정된 오류 노드를 만드는 방법입니다. 일반적으로 만들 오류 노드는 부모의 함수가 아닙니다.

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

매개 변수

parent

ParserRuleContext

t

Token

반환

ErrorNode

상속된 From Parser.createErrorNode

createTerminalNode(ParserRuleContext, Token)

부모와 연결된 토큰 리프 노드를 만드는 방법입니다. 일반적으로 만들 터미널 노드는 부모의 함수가 아닙니다.

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

매개 변수

parent

ParserRuleContext

t

Token

반환

TerminalNode

상속된 From Parser.createTerminalNode

dumpDFA()

디버깅 및 기타 용도.

function dumpDFA()

상속된 From Parser.dumpDFA

enterLeftFactoredRule(ParserRuleContext, number, number)

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

매개 변수

localctx

ParserRuleContext

state

number

ruleIndex

number

상속된 From Parser.enterLeftFactoredRule

enterOuterAlt(ParserRuleContext, number)

function enterOuterAlt(localctx: ParserRuleContext, altNum: number)

매개 변수

localctx

ParserRuleContext

altNum

number

상속된 From 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

상속된 From Parser.enterRecursionRule

enterRule(ParserRuleContext, number, number)

규칙을 입력할 때 생성된 파서에서 항상 호출됩니다. 액세스 필드는 <xref:%23_ctx> 현재 컨텍스트를 가져옵니다.

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

매개 변수

localctx

ParserRuleContext

state

number

ruleIndex

number

상속된 From Parser.enterRule

exitRule()

function exitRule()

상속된 From Parser.exitRule

getATNWithBypassAlts()

바이패스 대안이 있는 ATN은 만드는 데 비용이 많이 들기 때문에 지연적으로 만듭니다. 현재 파서가 속성을 구현 serializedATN 하지 않으면 @

function getATNWithBypassAlts(): ATN

반환

ATN

상속된 From Parser.getATNWithBypassAlts

getDFAStrings()

디버깅 및 기타 용도.

function getDFAStrings(): string[]

반환

string[]

상속된 From Parser.getDFAStrings

getErrorHeader(RecognitionException)

일반적으로 줄/문자 위치 정보인 오류 헤더는 무엇인가요?

function getErrorHeader(e: RecognitionException): string

매개 변수

e

RecognitionException

반환

string

상속된 From Recognizer.getErrorHeader

getErrorListenerDispatch()

function getErrorListenerDispatch(): ParserErrorListener

반환

ParserErrorListener

상속된 From Parser.getErrorListenerDispatch

getErrorListeners()

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

반환

Array<ANTLRErrorListener<Token>>

상속된 From Recognizer.getErrorListeners

getExpectedTokens()

및 에서 각각 지정한 대로 현재 파서 상태 및 컨텍스트를 따를 수 있는 입력 기호 집합을 <xref:%23getState><xref:%23getContext>계산합니다.

ATN#getExpectedTokens(int, RuleContext)를 참조하세요.

function getExpectedTokens(): IntervalSet

반환

IntervalSet

상속된 From Parser.getExpectedTokens

getExpectedTokensWithinCurrentRule()

function getExpectedTokensWithinCurrentRule(): IntervalSet

반환

IntervalSet

상속된 From 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)

ATN의 현재 상태를 따를 수 있는지 여부를 symbol 확인합니다. 이 메서드의 동작은 다음과 동일하지만 전체 컨텍스트 구분 팔로우 집합을 명시적으로 생성할 필요가 없도록 구현됩니다.

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

매개 변수

symbol

number

확인할 기호 형식

반환

boolean

true 가 ATN의 현재 상태를 따를 수 있으면 symbol 이고, 그렇지 않으면 false입니다.

상속된 위치에서 Parser.isExpectedToken

match(number)

현재 입력 기호를 에 일치합니다 ttype. 기호 형식이 일치 <xref:ANTLRErrorStrategy%23reportMatch> 하면 및 <xref:%23consume> 가 호출되어 일치 프로세스를 완료합니다. 기호 형식이 일치하지 <xref:ANTLRErrorStrategy%23recoverInline> 않으면 현재 오류 전략에서 가 호출되어 복구를 시도합니다. 가 true 이고 에서 반환된 <xref:ANTLRErrorStrategy%23recoverInline> 기호의 토큰 인덱스가 -1이면 <xref:%23getBuildParseTree> 기호는 [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> 않으면 현재 오류 전략에서 가 호출되어 복구를 시도합니다. 가 true 이고 에서 반환된 <xref:ANTLRErrorStrategy%23recoverInline> 기호의 토큰 인덱스가 -1이면 <xref:%23getBuildParseTree> [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 합니다. 가 undefined 또는 가 구문 분석 수신기로 추가되지 않은 경우 listener 이 메서드는 아무 작업도 수행하지 않습니다.

#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