ExpressionAntlrLexer class

扩展

Lexer

构造函数

ExpressionAntlrLexer(CharStream)

属性

ARROW
ASTERISK
channelNames
channelNames
CLOSE_BRACKET
CLOSE_CURLY_BRACKET
CLOSE_SQUARE_BRACKET
COLON
COMMA
DOT
DOUBLE_AND
DOUBLE_EQUAL
DOUBLE_VERTICAL_CYLINDER
ESCAPE_CHARACTER
grammarFileName
IDENTIFIER
ignoreWS
INVALID_TOKEN_DEFAULT_MODE
LESS_OR_EQUAl
LESS_THAN
modeNames
modeNames
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
serializedATN
SINGLE_AND
SLASH
STRING
STRING_INTERPOLATION_MODE
STRING_INTERPOLATION_START
SUBSTRACT
TEMPLATE
TEXT_CONTENT
VOCABULARY
vocabulary
WHITESPACE
XOR

继承属性

atn

获取识别器用于预测的 serializedATN

channel
charIndex

lookahead 当前字符的索引是什么?

charPositionInLine
DEFAULT_MODE
DEFAULT_TOKEN_CHANNEL
EOF
HIDDEN
inputStream

设置字符流并重置词法器

interpreter

设置识别器用于预测的 ATN 解释器。

line
MAX_CHAR_VALUE
MIN_CHAR_VALUE
MORE
parseInfo

如果在分析/词法期间进行分析,这将返回 ParseInfo 对象中识别器中每个决策的 DecisionInfo 记录。

SKIP
sourceName
state

指示识别器已更改与传入的 ATN 状态一致的内部状态。 这样,我们总是知道我们在 ATN 中的位置,因为分析器一直在。 规则上下文对象构成一个堆栈,用于查看调用规则的堆栈。 结合这一点,我们已获得完整的 ATN 配置信息。

text

设置此令牌的完整文本;它会擦除以前对文本所做的任何更改。

token

如果发出多个令牌,则重写。

tokenFactory
type

方法

action(RuleContext, number, number)
sempred(RuleContext, number, number)

继承的方法

addErrorListener(ANTLRErrorListener<number>)
emit()

默认情况下,由于效率原因,每个 nextToken 调用不支持多个发出。 子类并重写此方法、nextToken 和 getToken(将令牌推送到列表中并从该列表中拉取,而不是像此实现那样的单个变量)。

emit(Token)

调用的标准方法会在最外层的词法规则中自动发出令牌。 标记对象应指向 char 缓冲区 start。。停。 如果“text”中有文本替代,请使用该替代来设置令牌的文本。 重写此方法以发出自定义令牌对象或提供新工厂。

emitEOF()
getAllTokens()

返回输入字符流中所有 Token 对象的列表。 强制加载所有令牌。 不包括 EOF 令牌。

getCharErrorDisplay(number)
getErrorDisplay(string | number)
getErrorHeader(RecognitionException)

错误标头是什么,通常是行/字符位置信息?

getErrorListenerDispatch()
getErrorListeners()
getRuleIndexMap()

从规则名称到规则索引获取映射。 用于 XPath 和树模式编译。

getTokenType(string)
getTokenTypeMap()

从令牌名称到令牌类型获取映射。 用于 XPath 和树模式编译。

mode(number)
more()
nextToken()

从此源返回令牌;即,匹配字符流上的令牌。

notifyListeners(LexerNoViableAltException)
popMode()
precpred(RuleContext | undefined, number)
pushMode(number)
recover(LexerNoViableAltException)
recover(RecognitionException)

词法师在匹配令牌后,通常可以匹配其词汇中的任何字符,所以做容易的事情,只是杀死一个角色,并希望它一切都能正常工作。如果处于片段规则中,则可以改用规则调用堆栈执行复杂的错误恢复。

removeErrorListener(ANTLRErrorListener<number>)
removeErrorListeners()
reset()
reset(boolean)
skip()

指示词法器跳过为当前词法器规则创建令牌并查找另一个令牌。 nextToken() 知道,当词法器规则完成时,令牌设置为SKIP_TOKEN。 回想一下,如果 token==undefined 位于任何令牌规则的末尾,它将为你创建一个令牌并发出它。

构造函数详细信息

ExpressionAntlrLexer(CharStream)

new ExpressionAntlrLexer(input: CharStream)

参数

input

CharStream

属性详细信息

ARROW

public static ARROW: 27 = 27

属性值

27

ASTERISK

public static ASTERISK: 6 = 6

属性值

6

channelNames

public static channelNames: string[] = [
		"DEFAULT_TOKEN_CHANNEL", "HIDDEN",
	]

属性值

string[]

channelNames

string[] channelNames

属性值

string[]

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

ignoreWS

ignoreWS: boolean = true

属性值

boolean

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

modeNames

public static modeNames: string[] = [
		"DEFAULT_MODE", "STRING_INTERPOLATION_MODE",
	]

属性值

string[]

modeNames

string[] modeNames

属性值

string[]

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[] = [
		"LETTER", "DIGIT", "OBJECT_DEFINITION", "STRING_INTERPOLATION_START", 
		"PLUS", "SUBSTRACT", "NON", "XOR", "ASTERISK", "SLASH", "PERCENT", "DOUBLE_EQUAL", 
		"NOT_EQUAL", "SINGLE_AND", "DOUBLE_AND", "DOUBLE_VERTICAL_CYLINDER", "LESS_THAN", 
		"MORE_THAN", "LESS_OR_EQUAl", "MORE_OR_EQUAL", "OPEN_BRACKET", "CLOSE_BRACKET", 
		"DOT", "OPEN_SQUARE_BRACKET", "CLOSE_SQUARE_BRACKET", "OPEN_CURLY_BRACKET", 
		"CLOSE_CURLY_BRACKET", "COMMA", "COLON", "ARROW", "NULL_COALESCE", "QUESTION_MARK", 
		"NUMBER", "WHITESPACE", "IDENTIFIER", "NEWLINE", "STRING", "INVALID_TOKEN_DEFAULT_MODE", 
		"STRING_INTERPOLATION_END", "TEMPLATE", "ESCAPE_CHARACTER", "TEXT_CONTENT",
	]

属性值

string[]

ruleNames

string[] ruleNames

属性值

string[]

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_MODE

public static STRING_INTERPOLATION_MODE: 1 = 1

属性值

1

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(ExpressionAntlrLexer._LITERAL_NAMES, ExpressionAntlrLexer._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

channel

channel: number

属性值

number

继承自 Lexer.channel

charIndex

lookahead 当前字符的索引是什么?

charIndex: number

属性值

number

继承自 Lexer.charIndex

charPositionInLine

charPositionInLine: number

属性值

number

继承自 Lexer.charPositionInLine

DEFAULT_MODE

static DEFAULT_MODE: number

属性值

number

继承自 Lexer.DEFAULT_MODE 的

DEFAULT_TOKEN_CHANNEL

static DEFAULT_TOKEN_CHANNEL: number

属性值

number

继承自 Lexer.DEFAULT_TOKEN_CHANNEL 的

EOF

static EOF: number

属性值

number

继承自 Recognizer.EOF 的

HIDDEN

static HIDDEN: number

属性值

number

继承自 Lexer.HIDDEN

inputStream

设置字符流并重置词法器

inputStream: CharStream

属性值

CharStream

继承自 Lexer.inputStream

interpreter

设置识别器用于预测的 ATN 解释器。

interpreter: LexerATNSimulator

属性值

LexerATNSimulator

继承自 Recognizer.interpreter

line

line: number

属性值

number

继承自 Lexer.line

MAX_CHAR_VALUE

static MAX_CHAR_VALUE: number

属性值

number

继承自 Lexer.MAX_CHAR_VALUE

MIN_CHAR_VALUE

static MIN_CHAR_VALUE: number

属性值

number

继承自 Lexer.MIN_CHAR_VALUE 的

MORE

static MORE: number

属性值

number

继承自 Lexer.MORE 的

parseInfo

如果在分析/词法期间进行分析,这将返回 ParseInfo 对象中识别器中每个决策的 DecisionInfo 记录。

parseInfo: Promise<ParseInfo | undefined>

属性值

Promise<ParseInfo | undefined>

继承自 Recognizer.parseInfo

SKIP

static SKIP: number

属性值

number

继承自 Lexer.SKIP 的

sourceName

sourceName: string

属性值

string

继承自 Lexer.sourceName

state

指示识别器已更改与传入的 ATN 状态一致的内部状态。 这样,我们总是知道我们在 ATN 中的位置,因为分析器一直在。 规则上下文对象构成一个堆栈,用于查看调用规则的堆栈。 结合这一点,我们已获得完整的 ATN 配置信息。

state: number

属性值

number

继承自 Recognizer.state

text

设置此令牌的完整文本;它会擦除以前对文本所做的任何更改。

text: string

属性值

string

继承自 Lexer.text

token

如果发出多个令牌,则重写。

token: Token | undefined

属性值

Token | undefined

继承自 Lexer.token

tokenFactory

tokenFactory: TokenFactory

属性值

TokenFactory

继承自 Lexer.tokenFactory

type

type: number

属性值

number

继承自 Lexer.type

方法详细信息

action(RuleContext, number, number)

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

参数

_localctx

RuleContext

ruleIndex

number

actionIndex

number

sempred(RuleContext, number, number)

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

参数

_localctx

RuleContext

ruleIndex

number

predIndex

number

返回

boolean

继承的方法详细信息

addErrorListener(ANTLRErrorListener<number>)

function addErrorListener(listener: ANTLRErrorListener<number>)

参数

listener

ANTLRErrorListener<number>

继承自 Recognizer.addErrorListener

emit()

默认情况下,由于效率原因,每个 nextToken 调用不支持多个发出。 子类并重写此方法、nextToken 和 getToken(将令牌推送到列表中并从该列表中拉取,而不是像此实现那样的单个变量)。

function emit(): Token

返回

Token

继承自 Lexer.emit

emit(Token)

调用的标准方法会在最外层的词法规则中自动发出令牌。 标记对象应指向 char 缓冲区 start。。停。 如果“text”中有文本替代,请使用该替代来设置令牌的文本。 重写此方法以发出自定义令牌对象或提供新工厂。

function emit(token: Token): Token

参数

token

Token

返回

Token

继承自 Lexer.emit

emitEOF()

function emitEOF(): Token

返回

Token

继承自 Lexer.emitEOF

getAllTokens()

返回输入字符流中所有 Token 对象的列表。 强制加载所有令牌。 不包括 EOF 令牌。

function getAllTokens(): Token[]

返回

Token[]

继承自 Lexer.getAllTokens

getCharErrorDisplay(number)

function getCharErrorDisplay(c: number): string

参数

c

number

返回

string

继承自 Lexer.getCharErrorDisplay

getErrorDisplay(string | number)

function getErrorDisplay(s: string | number): string

参数

s

string | number

返回

string

继承自 Lexer.getErrorDisplay

getErrorHeader(RecognitionException)

错误标头是什么,通常是行/字符位置信息?

function getErrorHeader(e: RecognitionException): string

参数

e

RecognitionException

返回

string

继承自 Recognizer.getErrorHeader

getErrorListenerDispatch()

function getErrorListenerDispatch(): ANTLRErrorListener<number>

返回

ANTLRErrorListener<number>

继承自 Recognizer.getErrorListenerDispatch

getErrorListeners()

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

返回

Array<ANTLRErrorListener<number>>

继承自 Recognizer.getErrorListeners

getRuleIndexMap()

从规则名称到规则索引获取映射。 用于 XPath 和树模式编译。

function getRuleIndexMap(): ReadonlyMap<string, number>

返回

ReadonlyMap<string, number>

继承自 Recognizer.getRuleIndexMap

getTokenType(string)

function getTokenType(tokenName: string): number

参数

tokenName

string

返回

number

继承自 Recognizer.getTokenType

getTokenTypeMap()

从令牌名称到令牌类型获取映射。 用于 XPath 和树模式编译。

function getTokenTypeMap(): ReadonlyMap<string, number>

返回

ReadonlyMap<string, number>

继承自 Recognizer.getTokenTypeMap

mode(number)

function mode(m: number)

参数

m

number

继承自 Lexer.mode

more()

function more()

继承自 Lexer.more

nextToken()

从此源返回令牌;即,匹配字符流上的令牌。

function nextToken(): Token

返回

Token

继承自 Lexer.nextToken 的

notifyListeners(LexerNoViableAltException)

function notifyListeners(e: LexerNoViableAltException)

参数

e

LexerNoViableAltException

继承自 Lexer.notifyListeners

popMode()

function popMode(): number

返回

number

继承自 Lexer.popMode

precpred(RuleContext | undefined, number)

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

参数

localctx

RuleContext | undefined

precedence

number

返回

boolean

继承自 Recognizer.precpred

pushMode(number)

function pushMode(m: number)

参数

m

number

继承自 Lexer.pushMode

recover(LexerNoViableAltException)

function recover(re: LexerNoViableAltException)

参数

re

LexerNoViableAltException

继承自 Lexer.recover

recover(RecognitionException)

词法师在匹配令牌后,通常可以匹配其词汇中的任何字符,所以做容易的事情,只是杀死一个角色,并希望它一切都能正常工作。如果处于片段规则中,则可以改用规则调用堆栈执行复杂的错误恢复。

function recover(re: RecognitionException)

参数

re

RecognitionException

继承自 Lexer.recover

removeErrorListener(ANTLRErrorListener<number>)

function removeErrorListener(listener: ANTLRErrorListener<number>)

参数

listener

ANTLRErrorListener<number>

继承自 Recognizer.removeErrorListener

removeErrorListeners()

function removeErrorListeners()

继承自 Recognizer.removeErrorListeners

reset()

function reset()

继承自 Lexer.reset

reset(boolean)

function reset(resetInput: boolean)

参数

resetInput

boolean

继承自 Lexer.reset

skip()

指示词法器跳过为当前词法器规则创建令牌并查找另一个令牌。 nextToken() 知道,当词法器规则完成时,令牌设置为SKIP_TOKEN。 回想一下,如果 token==undefined 位于任何令牌规则的末尾,它将为你创建一个令牌并发出它。

function skip()

继承自 Lexer.skip