LGTemplateLexer class
- Extends
-
Lexer
建構函式
LGTemplate |
屬性
繼承的屬性
atn | 取得辨識器用於預測的 serializedATN。 |
channel | |
char |
lookahead 目前字元的索引為何? |
char |
|
DEFAULT_MODE | |
DEFAULT_TOKEN_CHANNEL | |
EOF | |
HIDDEN | |
input |
設定 char 數據流並重設 lexer |
interpreter | 設定辨識器用於預測的 ATN 解釋器。 |
line | |
MAX_CHAR_VALUE | |
MIN_CHAR_VALUE | |
MORE | |
parse |
如果在剖析/lex 期間進行分析,這會傳回 ParseInfo 物件中辨識器中每個決策的 DecisionInfo 記錄。 |
SKIP | |
source |
|
state | 指出辨識器已變更與傳入 ATN 狀態一致的內部狀態。 如此一來,我們一律知道我們在 ATN 中的位置,因為剖析器會繼續。 規則內容物件會形成堆疊,讓我們查看叫用規則的堆疊。 結合這一點,而且我們有完整的 ATN 組態資訊。 |
text | 設定此令牌的完整文字;它會抹除任何先前對文字所做的變更。 |
token | 如果發出多個權杖,請覆寫 。 |
token |
|
type |
方法
action(Rule |
|
sempred(Rule |
繼承的方法
add |
|
emit() | 基於效率考慮,默認不支援每個 nextToken 調用的多個發出。 子類別並覆寫這個方法 nextToken 和 getToken (若要將令牌推送至清單,並從該清單中提取,而不是此實作所做的單一變數)。 |
emit(Token) | 呼叫以自動在最外層語匯規則發出令牌的標準方法。 Token 對象應該指向 char 緩衝區 start。。停。 如果 'text' 中有文字覆寫,請使用它來設定令牌的文字。 覆寫此方法以發出自定義 Token 物件或提供新的處理站。 |
emitEOF() | |
get |
傳回輸入字元數據流中所有 Token 物件的清單。 強制載入所有令牌。 不包含 EOF 令牌。 |
get |
|
get |
|
get |
錯誤標頭是什麼,通常是行/字元位置資訊? |
get |
|
get |
|
get |
從規則名稱到規則索引取得對應。 用於 XPath 和樹狀結構模式編譯。 |
get |
|
get |
從令牌名稱取得對應至令牌類型。 用於 XPath 和樹狀結構模式編譯。 |
mode(number) | |
more() | |
next |
從這個來源傳回令牌;亦即,比對 char 數據流上的令牌。 |
notify |
|
pop |
|
precpred(Rule |
|
push |
|
recover(Lexer |
|
recover(Recognition |
Lexers 在比對令牌之後,通常可以比對任何字元的詞彙,所以做容易的事情,只是殺死一個角色,並希望這一切都能奏效。如果您位於片段規則中,您可以改用規則調用堆疊來執行複雜的錯誤復原。 |
remove |
|
remove |
|
reset() | |
reset(boolean) | |
skip() | 指示語匯器略過建立目前語匯器規則的令牌,並尋找另一個令牌。 nextToken() 知道當 lexer 規則完成時,令牌設定為 SKIP_TOKEN。 回想一下,如果 token==undefined 在任何令牌規則結束時,它會為您建立一個令牌,併發出它。 |
建構函式詳細資料
LGTemplateLexer(CharStream)
new LGTemplateLexer(input: CharStream)
參數
- input
-
CharStream
屬性詳細資料
beginOfStructureProperty
beginOfStructureProperty: boolean = false
屬性值
boolean
beginOfTemplateBody
beginOfTemplateBody: boolean = true
屬性值
boolean
beginOfTemplateLine
beginOfTemplateLine: boolean = false
屬性值
boolean
CASE
public static CASE: 14 = 14
屬性值
14
channelNames
public static channelNames: string[] = [
"DEFAULT_TOKEN_CHANNEL", "HIDDEN",
]
屬性值
string[]
channelNames
string[] channelNames
屬性值
string[]
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
ignoreWS
ignoreWS: boolean = true
屬性值
boolean
inMultiline
inMultiline: boolean = false
屬性值
boolean
inStructuredValue
inStructuredValue: boolean = false
屬性值
boolean
INVALID_TOKEN
public static INVALID_TOKEN: 6 = 6
屬性值
6
LEFT_SQUARE_BRACKET
public static LEFT_SQUARE_BRACKET: 5 = 5
屬性值
5
modeNames
public static modeNames: string[] = [
"DEFAULT_MODE", "NORMAL_TEMPLATE_BODY_MODE", "MULTILINE_MODE", "STRUCTURE_NAME_MODE",
"STRUCTURE_BODY_MODE",
]
屬性值
string[]
modeNames
string[] modeNames
屬性值
string[]
MULTILINE_MODE
public static MULTILINE_MODE: 2 = 2
屬性值
2
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
NORMAL_TEMPLATE_BODY_MODE
public static NORMAL_TEMPLATE_BODY_MODE: 1 = 1
屬性值
1
ruleNames
public static ruleNames: string[] = [
"A", "C", "D", "E", "F", "H", "I", "L", "S", "T", "U", "W", "LETTER",
"NUMBER", "WHITESPACE", "STRING_LITERAL", "STRING_INTERPOLATION", "ESCAPE_CHARACTER_FRAGMENT",
"IDENTIFIER", "OBJECT_DEFINITION", "EXPRESSION_FRAGMENT", "NEWLINE_FRAGMENT",
"WS", "NEWLINE", "COMMENTS", "DASH", "LEFT_SQUARE_BRACKET", "INVALID_TOKEN",
"WS_IN_BODY", "MULTILINE_PREFIX", "NEWLINE_IN_BODY", "IF", "ELSEIF", "ELSE",
"SWITCH", "CASE", "DEFAULT", "ESCAPE_CHARACTER", "EXPRESSION", "TEXT",
"MULTILINE_SUFFIX", "MULTILINE_ESCAPE_CHARACTER", "MULTILINE_EXPRESSION",
"MULTILINE_TEXT", "WS_IN_STRUCTURE_NAME", "NEWLINE_IN_STRUCTURE_NAME",
"STRUCTURE_NAME", "TEXT_IN_STRUCTURE_NAME", "STRUCTURED_COMMENTS", "WS_IN_STRUCTURE_BODY",
"STRUCTURED_NEWLINE", "STRUCTURED_BODY_END", "STRUCTURE_IDENTIFIER", "STRUCTURE_EQUALS",
"STRUCTURE_OR_MARK", "ESCAPE_CHARACTER_IN_STRUCTURE_BODY", "EXPRESSION_IN_STRUCTURE_BODY",
"TEXT_IN_STRUCTURE_BODY",
]
屬性值
string[]
ruleNames
string[] ruleNames
屬性值
string[]
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_BODY_MODE
public static STRUCTURE_BODY_MODE: 4 = 4
屬性值
4
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_NAME_MODE
public static STRUCTURE_NAME_MODE: 3 = 3
屬性值
3
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(LGTemplateLexer._LITERAL_NAMES, LGTemplateLexer._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
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
繼承自 辨識器.EOF
HIDDEN
static HIDDEN: number
屬性值
number
繼承自 Lexer.HIDDEN
inputStream
設定 char 數據流並重設 lexer
inputStream: CharStream
屬性值
CharStream
繼承自 Lexer.inputStream
interpreter
設定辨識器用於預測的 ATN 解釋器。
interpreter: LexerATNSimulator
屬性值
LexerATNSimulator
繼承自 Recognizer.解釋器
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
如果在剖析/lex 期間進行分析,這會傳回 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)
呼叫以自動在最外層語匯規則發出令牌的標準方法。 Token 對象應該指向 char 緩衝區 start。。停。 如果 'text' 中有文字覆寫,請使用它來設定令牌的文字。 覆寫此方法以發出自定義 Token 物件或提供新的處理站。
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()
從這個來源傳回令牌;亦即,比對 char 數據流上的令牌。
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)
Lexers 在比對令牌之後,通常可以比對任何字元的詞彙,所以做容易的事情,只是殺死一個角色,並希望這一切都能奏效。如果您位於片段規則中,您可以改用規則調用堆疊來執行複雜的錯誤復原。
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() 知道當 lexer 規則完成時,令牌設定為 SKIP_TOKEN。 回想一下,如果 token==undefined 在任何令牌規則結束時,它會為您建立一個令牌,併發出它。
function skip()
繼承自 Lexer.skip