다음을 통해 공유


LGTemplateParser class

Extends

Parser

생성자

LGTemplateParser(TokenStream)

속성

CASE
COMMENTS
DASH
DEFAULT
ELSE
ELSEIF
ESCAPE_CHARACTER
ESCAPE_CHARACTER_IN_STRUCTURE_BODY
EXPRESSION
EXPRESSION_IN_STRUCTURE_BODY
grammarFileName
IF
INVALID_TOKEN
LEFT_SQUARE_BRACKET
MULTILINE_PREFIX
MULTILINE_SUFFIX
NEWLINE
NEWLINE_IN_BODY
NEWLINE_IN_STRUCTURE_NAME
ruleNames
ruleNames
RULE_body
RULE_errorStructuredName
RULE_errorStructureLine
RULE_errorTemplateString
RULE_expression
RULE_expressionInStructure
RULE_ifCondition
RULE_ifConditionRule
RULE_ifElseTemplateBody
RULE_keyValueStructureLine
RULE_keyValueStructureValue
RULE_normalTemplateBody
RULE_normalTemplateString
RULE_structuredBodyContentLine
RULE_structuredBodyEndLine
RULE_structuredBodyNameLine
RULE_structuredTemplateBody
RULE_switchCaseRule
RULE_switchCaseStat
RULE_switchCaseTemplateBody
RULE_template
RULE_templateString
serializedATN
STRUCTURED_BODY_END
STRUCTURED_COMMENTS
STRUCTURED_NEWLINE
STRUCTURE_EQUALS
STRUCTURE_IDENTIFIER
STRUCTURE_NAME
STRUCTURE_OR_MARK
SWITCH
TEXT
TEXT_IN_STRUCTURE_BODY
TEXT_IN_STRUCTURE_NAME
VOCABULARY
vocabulary
WS
WS_IN_BODY
WS_IN_STRUCTURE_BODY
WS_IN_STRUCTURE_NAME

상속된 속성

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

메서드

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

상속된 메서드

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)

생성자 세부 정보

LGTemplateParser(TokenStream)

new LGTemplateParser(input: TokenStream)

매개 변수

input

TokenStream

속성 세부 정보

CASE

public static CASE: 14 = 14

속성 값

14

COMMENTS

public static COMMENTS: 3 = 3

속성 값

3

DASH

public static DASH: 4 = 4

속성 값

4

DEFAULT

public static DEFAULT: 15 = 15

속성 값

15

ELSE

public static ELSE: 12 = 12

속성 값

12

ELSEIF

public static ELSEIF: 11 = 11

속성 값

11

ESCAPE_CHARACTER

public static ESCAPE_CHARACTER: 16 = 16

속성 값

16

ESCAPE_CHARACTER_IN_STRUCTURE_BODY

public static ESCAPE_CHARACTER_IN_STRUCTURE_BODY: 31 = 31

속성 값

31

EXPRESSION

public static EXPRESSION: 17 = 17

속성 값

17

EXPRESSION_IN_STRUCTURE_BODY

public static EXPRESSION_IN_STRUCTURE_BODY: 32 = 32

속성 값

32

grammarFileName

string grammarFileName

속성 값

string

IF

public static IF: 10 = 10

속성 값

10

INVALID_TOKEN

public static INVALID_TOKEN: 6 = 6

속성 값

6

LEFT_SQUARE_BRACKET

public static LEFT_SQUARE_BRACKET: 5 = 5

속성 값

5

MULTILINE_PREFIX

public static MULTILINE_PREFIX: 8 = 8

속성 값

8

MULTILINE_SUFFIX

public static MULTILINE_SUFFIX: 19 = 19

속성 값

19

NEWLINE

public static NEWLINE: 2 = 2

속성 값

2

NEWLINE_IN_BODY

public static NEWLINE_IN_BODY: 9 = 9

속성 값

9

NEWLINE_IN_STRUCTURE_NAME

public static NEWLINE_IN_STRUCTURE_NAME: 21 = 21

속성 값

21

ruleNames

public static ruleNames: string[] = [
		"template", "body", "structuredTemplateBody", "structuredBodyNameLine", 
		"errorStructuredName", "structuredBodyContentLine", "errorStructureLine", 
		"keyValueStructureLine", "keyValueStructureValue", "structuredBodyEndLine", 
		"normalTemplateBody", "templateString", "normalTemplateString", "errorTemplateString", 
		"ifElseTemplateBody", "ifConditionRule", "ifCondition", "switchCaseTemplateBody", 
		"switchCaseRule", "switchCaseStat", "expression", "expressionInStructure",
	]

속성 값

string[]

ruleNames

string[] ruleNames

속성 값

string[]

RULE_body

public static RULE_body: 1 = 1

속성 값

1

RULE_errorStructuredName

public static RULE_errorStructuredName: 4 = 4

속성 값

4

RULE_errorStructureLine

public static RULE_errorStructureLine: 6 = 6

속성 값

6

RULE_errorTemplateString

public static RULE_errorTemplateString: 13 = 13

속성 값

13

RULE_expression

public static RULE_expression: 20 = 20

속성 값

20

RULE_expressionInStructure

public static RULE_expressionInStructure: 21 = 21

속성 값

21

RULE_ifCondition

public static RULE_ifCondition: 16 = 16

속성 값

16

RULE_ifConditionRule

public static RULE_ifConditionRule: 15 = 15

속성 값

15

RULE_ifElseTemplateBody

public static RULE_ifElseTemplateBody: 14 = 14

속성 값

14

RULE_keyValueStructureLine

public static RULE_keyValueStructureLine: 7 = 7

속성 값

7

RULE_keyValueStructureValue

public static RULE_keyValueStructureValue: 8 = 8

속성 값

8

RULE_normalTemplateBody

public static RULE_normalTemplateBody: 10 = 10

속성 값

10

RULE_normalTemplateString

public static RULE_normalTemplateString: 12 = 12

속성 값

12

RULE_structuredBodyContentLine

public static RULE_structuredBodyContentLine: 5 = 5

속성 값

5

RULE_structuredBodyEndLine

public static RULE_structuredBodyEndLine: 9 = 9

속성 값

9

RULE_structuredBodyNameLine

public static RULE_structuredBodyNameLine: 3 = 3

속성 값

3

RULE_structuredTemplateBody

public static RULE_structuredTemplateBody: 2 = 2

속성 값

2

RULE_switchCaseRule

public static RULE_switchCaseRule: 18 = 18

속성 값

18

RULE_switchCaseStat

public static RULE_switchCaseStat: 19 = 19

속성 값

19

RULE_switchCaseTemplateBody

public static RULE_switchCaseTemplateBody: 17 = 17

속성 값

17

RULE_template

public static RULE_template: 0 = 0

속성 값

0

RULE_templateString

public static RULE_templateString: 11 = 11

속성 값

11

serializedATN

string serializedATN

속성 값

string

STRUCTURED_BODY_END

public static STRUCTURED_BODY_END: 27 = 27

속성 값

27

STRUCTURED_COMMENTS

public static STRUCTURED_COMMENTS: 24 = 24

속성 값

24

STRUCTURED_NEWLINE

public static STRUCTURED_NEWLINE: 26 = 26

속성 값

26

STRUCTURE_EQUALS

public static STRUCTURE_EQUALS: 29 = 29

속성 값

29

STRUCTURE_IDENTIFIER

public static STRUCTURE_IDENTIFIER: 28 = 28

속성 값

28

STRUCTURE_NAME

public static STRUCTURE_NAME: 22 = 22

속성 값

22

STRUCTURE_OR_MARK

public static STRUCTURE_OR_MARK: 30 = 30

속성 값

30

SWITCH

public static SWITCH: 13 = 13

속성 값

13

TEXT

public static TEXT: 18 = 18

속성 값

18

TEXT_IN_STRUCTURE_BODY

public static TEXT_IN_STRUCTURE_BODY: 33 = 33

속성 값

33

TEXT_IN_STRUCTURE_NAME

public static TEXT_IN_STRUCTURE_NAME: 23 = 23

속성 값

23

VOCABULARY

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

속성 값

Vocabulary

vocabulary

Vocabulary vocabulary

속성 값

Vocabulary

WS

public static WS: 1 = 1

속성 값

1

WS_IN_BODY

public static WS_IN_BODY: 7 = 7

속성 값

7

WS_IN_STRUCTURE_BODY

public static WS_IN_STRUCTURE_BODY: 25 = 25

속성 값

25

WS_IN_STRUCTURE_NAME

public static WS_IN_STRUCTURE_NAME: 20 = 20

속성 값

20

상속된 속성 세부 정보

atn

예측에 serializedATN 대해 인식기에서 사용되는 를 가져옵니다.

atn: ATN

속성 값

ATN

상속된 From Recognizer.atn

buildParseTree

<xref:ParserRuleContext> 구문 분석 중에 개체를 추적하고 구문 분석 트리를 <xref:ParserRuleContext%23children> 형성할 수 있도록 목록을 사용하여 개체를 후크합니다. 시작 규칙에서 반환된 는 <xref:ParserRuleContext> 구문 분석 트리의 루트를 나타냅니다. 구문 분석 트리를 빌드하지 않는 경우 규칙 컨텍스트는 위쪽만 가리킵니다. 규칙이 종료되면 컨텍스트를 반환하지만 아무도 참조를 보유하지 않으면 가비지가 수집됩니다. 그것은 위쪽을 가리키지만 아무도 그것을 가리키지 않습니다.

구문 분석 트리를 빌드할 때 이러한 모든 컨텍스트를 목록에 추가합니다 <xref:ParserRuleContext%23children> . 그러면 컨텍스트가 가비지 수집 후보가 아닙니다.

buildParseTree: boolean

속성 값

boolean

상속된 From Parser.buildParseTree

context

context: ParserRuleContext

속성 값

ParserRuleContext

상속된 From Parser.context

currentToken

일치는 연결된 토큰 참조에 대한 레이블에 삽입되는 현재 입력 기호를 반환해야 합니다. 예: x=ID.

currentToken: Token

속성 값

Token

상속된 From Parser.currentToken

EOF

static EOF: number

속성 값

number

상속된 From Recognizer.EOF

errorHandler

errorHandler: ANTLRErrorStrategy

속성 값

ANTLRErrorStrategy

상속된 From Parser.errorHandler

inputStream

토큰 스트림을 설정하고 파서 다시 설정합니다.

inputStream: TokenStream

속성 값

TokenStream

상속된 From Parser.inputStream

interpreter

예측을 위해 인식기에서 사용하는 ATN 인터프리터를 설정합니다.

interpreter: ParserATNSimulator

속성 값

ParserATNSimulator

상속된 From Recognizer.interpreter

isMatchedEOF

isMatchedEOF: boolean

속성 값

boolean

상속된 From Parser.isMatchedEOF

isTrace

구문 분석 중에 규칙 항목 및 종료 이벤트뿐만 아니라 토큰 일치를 수신 대기하는 데 유용한 경우도 있습니다. 이는 빠르고 더티 디버깅을 위한 것입니다.

isTrace: boolean

속성 값

boolean

상속된 From Parser.isTrace

numberOfSyntaxErrors

구문 분석 중에 보고된 구문 오류 수를 가져옵니다. 이 값은 호출될 때마다 <xref:%23notifyErrorListeners> 증가합니다.

#notifyErrorListeners 참조하세요.

numberOfSyntaxErrors: number

속성 값

number

상속된 From Parser.numberOfSyntaxErrors

parseInfo

parseInfo: Promise<ParseInfo | undefined>

속성 값

Promise<ParseInfo | undefined>

상속된 From Parser.parseInfo

precedence

최상위 우선 순위 규칙의 우선 순위 수준을 가져옵니다.

precedence: number

속성 값

number

상속된 From Parser.precedence

ruleContext

ruleContext: ParserRuleContext

속성 값

ParserRuleContext

상속된 From Parser.ruleContext

sourceName

sourceName: string

속성 값

string

상속된 From Parser.sourceName

state

인식기가 전달된 ATN 상태와 일치하는 내부 상태를 변경했음을 나타냅니다. 이렇게 하면 파서가 따라갈 때 ATN에 있는 위치를 항상 알 수 있습니다. 규칙 컨텍스트 개체는 호출 규칙 스택을 볼 수 있는 스택을 형성합니다. 이를 결합하면 완전한 ATN 구성 정보가 있습니다.

state: number

속성 값

number

상속된 From Recognizer.state

tokenFactory

tokenFactory: TokenFactory

속성 값

TokenFactory

상속된 From Parser.tokenFactory

메서드 세부 정보

body()

function body(): BodyContext

반환

errorStructuredName()

function errorStructuredName(): ErrorStructuredNameContext

반환

errorStructureLine()

function errorStructureLine(): ErrorStructureLineContext

반환

errorTemplateString()

function errorTemplateString(): ErrorTemplateStringContext

반환

expression()

function expression(): ExpressionContext

반환

expressionInStructure()

function expressionInStructure(): ExpressionInStructureContext

반환

ifCondition()

function ifCondition(): IfConditionContext

반환

ifConditionRule()

function ifConditionRule(): IfConditionRuleContext

반환

ifElseTemplateBody()

function ifElseTemplateBody(): IfElseTemplateBodyContext

반환

keyValueStructureLine()

function keyValueStructureLine(): KeyValueStructureLineContext

반환

keyValueStructureValue()

function keyValueStructureValue(): KeyValueStructureValueContext

반환

normalTemplateBody()

function normalTemplateBody(): NormalTemplateBodyContext

반환

normalTemplateString()

function normalTemplateString(): NormalTemplateStringContext

반환

structuredBodyContentLine()

function structuredBodyContentLine(): StructuredBodyContentLineContext

반환

structuredBodyEndLine()

function structuredBodyEndLine(): StructuredBodyEndLineContext

반환

structuredBodyNameLine()

function structuredBodyNameLine(): StructuredBodyNameLineContext

반환

structuredTemplateBody()

function structuredTemplateBody(): StructuredTemplateBodyContext

반환

switchCaseRule()

function switchCaseRule(): SwitchCaseRuleContext

반환

switchCaseStat()

function switchCaseStat(): SwitchCaseStatContext

반환

switchCaseTemplateBody()

function switchCaseTemplateBody(): SwitchCaseTemplateBodyContext

반환

template()

function template(): TemplateContext

반환

templateString()

function templateString(): TemplateStringContext

반환

상속된 메서드 세부 정보

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

상속된 From Parser.getInvokingContext

getParseListeners()

function getParseListeners(): ParseTreeListener[]

반환

ParseTreeListener[]

상속된 From Parser.getParseListeners

getRuleIndex(string)

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

function getRuleIndex(ruleName: string): number

매개 변수

ruleName

string

반환

number

상속된 From Parser.getRuleIndex

getRuleIndexMap()

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

function getRuleIndexMap(): ReadonlyMap<string, number>

반환

ReadonlyMap<string, number>

상속된 From Recognizer.getRuleIndexMap

getRuleInvocationStack(RuleContext)

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

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

매개 변수

ctx

RuleContext

반환

string[]

상속된 From Parser.getRuleInvocationStack

getTokenType(string)

function getTokenType(tokenName: string): number

매개 변수

tokenName

string

반환

number

상속된 From Recognizer.getTokenType

getTokenTypeMap()

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

function getTokenTypeMap(): ReadonlyMap<string, number>

반환

ReadonlyMap<string, number>

상속된 From Recognizer.getTokenTypeMap

inContext(string)

function inContext(context: string): boolean

매개 변수

context

string

반환

boolean

상속된 From Parser.inContext

isExpectedToken(number)

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

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

매개 변수

symbol

number

확인할 기호 형식

반환

boolean

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

상속된 From 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 않고 오류 전략이 일치하지 않는 기호에서 복구할 수 없는 경우 일치하는 기호 @

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

현재 입력 기호가 와일드카드와 일치하지 않고 오류 전략이 일치하지 않는 기호에서 복구할 수 없는 경우 일치하는 기호 @

상속된 From Parser.matchWildcard

notifyErrorListeners(string)

function notifyErrorListeners(msg: string)

매개 변수

msg

string

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

상속된 From Parser.notifyErrorListeners

precpred(RuleContext, number)

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

매개 변수

localctx

RuleContext

precedence

number

반환

boolean

상속된 From Parser.precpred

pushNewRecursionContext(ParserRuleContext, number, number)

유사 <xref:%23enterRule> 하지만 재귀 규칙의 경우. 현재 컨텍스트를 들어오는 localctx의 자식으로 만듭니다.

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

매개 변수

localctx

ParserRuleContext

state

number

ruleIndex

number

상속된 From Parser.pushNewRecursionContext

removeErrorListener(ANTLRErrorListener<Token>)

function removeErrorListener(listener: ANTLRErrorListener<Token>)

매개 변수

listener

ANTLRErrorListener<Token>

상속된 From Recognizer.removeErrorListener

removeErrorListeners()

function removeErrorListeners()

상속된 From Recognizer.removeErrorListeners

removeParseListener(ParseTreeListener)

구문 분석 수신기 목록에서 를 제거 listener 합니다. 가 undefined 또는 가 구문 분석 수신기로 추가되지 않은 경우 listener 이 메서드는 아무 작업도 수행하지 않습니다.

#addParseListener 참조하세요.

function removeParseListener(listener: ParseTreeListener)

매개 변수

listener

ParseTreeListener

제거할 수신기

상속된 From Parser.removeParseListener

removeParseListeners()

모든 구문 분석 수신기를 제거합니다.

#addParseListener 참조하세요.

function removeParseListeners()

상속된 From Parser.removeParseListeners

reset()

파서의 상태 다시 설정

function reset()

상속된 From Parser.reset

reset(boolean)

function reset(resetInput: boolean)

매개 변수

resetInput

boolean

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

상속된 From Recognizer.sempred

setProfile(boolean)

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

매개 변수

profile

boolean

반환

Promise<void>

상속된 From Parser.setProfile

unrollRecursionContexts(ParserRuleContext)

function unrollRecursionContexts(_parentctx: ParserRuleContext)

매개 변수

_parentctx

ParserRuleContext

상속된 From Parser.unrollRecursionContexts