다음을 통해 공유


LGFileParser class

Extends

Parser

생성자

LGFileParser(TokenStream)

속성

COMMENT
ESCAPE_CHARACTER
grammarFileName
IMPORT
INLINE_MULTILINE
INVALID_LINE
MULTILINE_PREFIX
MULTILINE_SUFFIX
MULTILINE_TEXT
NEWLINE
OPTION
ruleNames
ruleNames
RULE_commentDefinition
RULE_errorDefinition
RULE_file
RULE_importDefinition
RULE_optionDefinition
RULE_paragraph
RULE_templateBody
RULE_templateBodyLine
RULE_templateDefinition
RULE_templateNameLine
serializedATN
TEMPLATE_BODY
TEMPLATE_NAME_LINE
VOCABULARY
vocabulary

상속된 속성

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

메서드

commentDefinition()
errorDefinition()
file()
importDefinition()
optionDefinition()
paragraph()
templateBody()
templateBodyLine()
templateDefinition()
templateNameLine()

상속된 메서드

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)과 동일하지만 이 파서에서 추론하는 대신 을 지정 LGFileLexer 합니다.

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)
sempred(RuleContext | undefined, number, number)
setProfile(boolean)
unrollRecursionContexts(ParserRuleContext)

생성자 세부 정보

LGFileParser(TokenStream)

new LGFileParser(input: TokenStream)

매개 변수

input

TokenStream

속성 세부 정보

COMMENT

public static COMMENT: 3 = 3

속성 값

3

ESCAPE_CHARACTER

public static ESCAPE_CHARACTER: 11 = 11

속성 값

11

grammarFileName

string grammarFileName

속성 값

string

IMPORT

public static IMPORT: 4 = 4

속성 값

4

INLINE_MULTILINE

public static INLINE_MULTILINE: 6 = 6

속성 값

6

INVALID_LINE

public static INVALID_LINE: 9 = 9

속성 값

9

MULTILINE_PREFIX

public static MULTILINE_PREFIX: 7 = 7

속성 값

7

MULTILINE_SUFFIX

public static MULTILINE_SUFFIX: 10 = 10

속성 값

10

MULTILINE_TEXT

public static MULTILINE_TEXT: 12 = 12

속성 값

12

NEWLINE

public static NEWLINE: 1 = 1

속성 값

1

OPTION

public static OPTION: 2 = 2

속성 값

2

ruleNames

public static ruleNames: string[] = [
		"file", "paragraph", "commentDefinition", "importDefinition", "optionDefinition", 
		"errorDefinition", "templateDefinition", "templateNameLine", "templateBody", 
		"templateBodyLine",
	]

속성 값

string[]

ruleNames

string[] ruleNames

속성 값

string[]

RULE_commentDefinition

public static RULE_commentDefinition: 2 = 2

속성 값

2

RULE_errorDefinition

public static RULE_errorDefinition: 5 = 5

속성 값

5

RULE_file

public static RULE_file: 0 = 0

속성 값

0

RULE_importDefinition

public static RULE_importDefinition: 3 = 3

속성 값

3

RULE_optionDefinition

public static RULE_optionDefinition: 4 = 4

속성 값

4

RULE_paragraph

public static RULE_paragraph: 1 = 1

속성 값

1

RULE_templateBody

public static RULE_templateBody: 8 = 8

속성 값

8

RULE_templateBodyLine

public static RULE_templateBodyLine: 9 = 9

속성 값

9

RULE_templateDefinition

public static RULE_templateDefinition: 6 = 6

속성 값

6

RULE_templateNameLine

public static RULE_templateNameLine: 7 = 7

속성 값

7

serializedATN

string serializedATN

속성 값

string

TEMPLATE_BODY

public static TEMPLATE_BODY: 8 = 8

속성 값

8

TEMPLATE_NAME_LINE

public static TEMPLATE_NAME_LINE: 5 = 5

속성 값

5

VOCABULARY

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

속성 값

Vocabulary

vocabulary

Vocabulary vocabulary

속성 값

Vocabulary

상속된 속성 세부 정보

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

메서드 세부 정보

commentDefinition()

function commentDefinition(): CommentDefinitionContext

반환

errorDefinition()

function errorDefinition(): ErrorDefinitionContext

반환

file()

function file(): FileContext

반환

importDefinition()

function importDefinition(): ImportDefinitionContext

반환

optionDefinition()

function optionDefinition(): OptionDefinitionContext

반환

paragraph()

function paragraph(): ParagraphContext

반환

templateBody()

function templateBody(): TemplateBodyContext

반환

templateBodyLine()

function templateBodyLine(): TemplateBodyLineContext

반환

templateDefinition()

function templateDefinition(): TemplateDefinitionContext

반환

templateNameLine()

function templateNameLine(): TemplateNameLineContext

반환

상속된 메서드 세부 정보

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)과 동일하지만 이 파서에서 추론하는 대신 을 지정 LGFileLexer 합니다.

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

매개 변수

pattern

string

patternRuleIndex

number

lexer

Lexer

반환

Promise<ParseTreePattern>

상속된 위치에서 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

상속된 위치에서 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:%23getState> 한 대로 현재 파서 상태 및 컨텍스트를 따를 수 있는 입력 기호 집합을 <xref:%23getContext>계산합니다.

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)

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

sempred(RuleContext | undefined, number, number)

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

매개 변수

_localctx

RuleContext | undefined

ruleIndex

number

actionIndex

number

반환

boolean

상속된 위치에서 Recognizer.sempred

setProfile(boolean)

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

매개 변수

profile

boolean

반환

Promise<void>

상속된 위치에서 Parser.setProfile

unrollRecursionContexts(ParserRuleContext)

function unrollRecursionContexts(_parentctx: ParserRuleContext)

매개 변수

_parentctx

ParserRuleContext

상속된 위치에서 Parser.unrollRecursionContexts