1. 編譯原理項目集規范族問題GO(I,X)中的X是安什麼順序進行測試的
這個問題本身不太准確。
GO(I,X)是一個轉換函數,它的定義如下:
GO(I,X)中的X是一個文法符號,可以是終結符或非終結符,CLOSURE(J)是J的閉包函數,閉包函數的定義就不多說了。
問題「GO(I,X)中的X是按什麼順序進行測試」,是否可解釋成「X是按出現在產生式中的順序進行測試」
2. 編譯原理詞法分析實驗中, 文件寫入順序的問題(fputs)
1)fopen在代碼中出現2次,沒有必要
2)你的程序不對 你搞混和S這個字元和TOKEN。
你的第一個WHILE讀入的是字元S,而TOKEN是由若干字元S構成的。而你的SWITCH(S)裡面按理應該是組成TOKEN的規則,而你直接就輸出了。這樣如果你要結果,我給你改了下,你看下:
int main()
{
char token[20] = {'