LGFileLexer class
- Extends
-
Lexer
建構函式
LGFile |
屬性
繼承的屬性
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 在任何令牌規則結束時,它會為您建立一個令牌,併發出它。 |
建構函式詳細資料
LGFileLexer(CharStream)
new LGFileLexer(input: CharStream)
參數
- input
-
CharStream
屬性詳細資料
channelNames
public static channelNames: string[] = [
"DEFAULT_TOKEN_CHANNEL", "HIDDEN",
]
屬性值
string[]
channelNames
string[] channelNames
屬性值
string[]
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
modeNames
public static modeNames: string[] = [
"DEFAULT_MODE", "MULTILINE_MODE",
]
屬性值
string[]
modeNames
string[] modeNames
屬性值
string[]
MULTILINE_MODE
public static MULTILINE_MODE: 1 = 1
屬性值
1
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[] = [
"WHITESPACE", "NEWLINE", "OPTION", "COMMENT", "IMPORT", "TEMPLATE_NAME_LINE",
"INLINE_MULTILINE", "MULTILINE_PREFIX", "TEMPLATE_BODY", "INVALID_LINE",
"MULTILINE_SUFFIX", "ESCAPE_CHARACTER", "MULTILINE_TEXT",
]
屬性值
string[]
ruleNames
string[] ruleNames
屬性值
string[]
serializedATN
string serializedATN
屬性值
string
startTemplate
startTemplate: boolean = false
屬性值
boolean
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(LGFileLexer._LITERAL_NAMES, LGFileLexer._SYMBOLIC_NAMES, [])
屬性值
Vocabulary
vocabulary
Vocabulary vocabulary
屬性值
Vocabulary
繼承的屬性詳細資料
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