2011-04-05 37 views
1

當我從一個語法文件生成antlr的詞法分析器時,我注意到它會生成一系列十六進制格式的字符串。ANTLR自動生成的DFA字符串如eotS,eofS,acceptS意味着什麼以及它們是如何生成的

這些字符串被DFA用來預測我的下一個令牌。

這些字符串是什麼意思,它們是如何產生的。

我referreing出現在這樣生成的詞法分析器(A和傳遞給DFA在構造函數)的字符串:

static final String DFA1_eotS = .... 

static final String DFA1_eofS = .... 

static final String DFA1_minS = .... 

static final String DFA1_maxS = .... 

static final String DFA1_acceptS = .... 

static final String DFA1_specialS = ....             

static final String[] DFA1_transitionS = .... 

編輯:

我將開始自己的問題來回答讓我們開始

接受[I] =包含可能的令牌的標識符的陣列(我不知道爲什麼它包含了許多-1值)

+0

不知道什麼絃樂器你的意思,但你問只是出於好奇,或者你想解決一個實際的問題? – 2011-04-06 08:06:06

+0

我昨天在編輯中提交了字符串,但他們沒有出現,我再次嘗試,但仍然失敗(頁面未找到)。 – zode64 2011-04-06 15:18:22

+0

但是,您是出於好奇還是想要解決實際問題? – 2011-04-06 15:21:16

回答

1

個DFA_minS,DFA_maxS我認爲是指字符它可以移動通過狀態表

DFA_transitionS之間落入範圍。我認爲是狀態表

DFA_specialsS我認爲是值得做的加入semanticet謂詞的規則和

DFA_acceptS似乎是一個開關指定哪個標記是一套案例值由DFA

注被接受:我還是想知道,如果這些都是正確的,它們是如何產生的

相關問題