經老師介紹,而且最近進行實驗二(將正則表達式轉換為DFA,然后轉換為代碼;想做一個類似于flex的軟件)覺得flex很奇妙,輸入一個正則表達式就能夠輸出對應的掃描程序,這也開始真正體現老師說的自動化。我一直對計算機的一個終極問題(“什么能夠被有效地自動化”)很感興趣,因此想先從flex開始對這方面有點感性的認識:

在網上搜索flex,安裝flex,先下載flex(原本打算放上來的,但是考慮到版權的問題,還是不要了。需要的朋友,我可以發給你),然后按照默認的步驟逐步安裝。

安裝后,設置環境變量,將Path指向flex.exe所在的文件夾(本機上為:C:\Program Files\GnuWin32\bin,一般按默認方式安裝后flex.exe都在該文件夾內),具體步驟:

→對“我的電腦”圖標按右鍵→選擇“屬性”→選擇“高級”→單擊“環境變量”→在“系統變量”中查找Path項,并選擇之→按“編輯”→在“變量值”的最后一項添加“;C:\Program Files\GnuWin32\bin”,按確定完成。


最近我是先從課本TINY語言開始,TINY語言的lex文件在源代碼的LEX文件夾內

1.       tiny.l的最后添加:

int yywrap()

{

return 1;

}

用來結束掃描

2.       console上輸入flex tiny.l,生成lex.yy.c,將其替換scan.c,編譯鏈接生成tiny的編譯器。

 

參考文獻:

http://course.cugnc.com/bianyi/shiyan/CHAPTER/f1.htm

http://blog.csdn.net/litchh/archive/2004/07/14/40983.aspx

http://www.cnscn.org/read.php?tid-10862.html