日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Lex和Yacc從入門到精通(1)--環(huán)境配置篇

 rookie 2012-08-06

環(huán)境設(shè)置

本文版權(quán)歸熊春雷所有 ,我的郵箱:,歡迎大家和我討論計(jì)算機(jī)方面 的問題,在我的博客上 面還寫了很多其他的文檔,有空來看看哦。如果轉(zhuǎn)載,請保留此版權(quán)信息,并注 明出處。謝謝:)

Abstract

在開發(fā)程序的過程中經(jīng)常會遇到文本解析的問題,例如:解析C語言源程序,編寫 腳本引擎等等,解決這種文本解析的方法有很多,一種方法就是自己手動用C或者 C++直接編寫解析程序,這對于簡單格式的文本信息來說,不會是什么問題,但是 對于稍微復(fù)雜一點(diǎn)的文本信息的解析來說,手工編寫解析器將會是一件漫長痛苦 而容易出錯的事情。本系列文檔就是專門用來由淺入深的介紹兩個有名的Unix工 具Lex和Yacc,并會一步一步的詳細(xì)解釋如何用這兩個工具來實(shí)現(xiàn)我們想要的任何 功能的解析程序,為了方便理解和應(yīng)用,我會在該系列的文章中盡可能的采用具 體可行的實(shí)例來加以闡釋,而且這種實(shí)例都是盡可能的和具體的系統(tǒng)平臺無關(guān)的 ,因此我采用命令行程序作為我們的解析程序的最終結(jié)果。

開發(fā)Lex和Yacc程序最需要的程序就是lex和yacc了,如果你是Unix或者Linux系統(tǒng),則 系統(tǒng)自帶了這兩個工具,無需安裝,不過值得說明的是GNU/Linux下面的Lex是flex, 而Yacc則是bison。另外需要的就是一個C/C++語言編譯器,由于我們采用的是GNU的 lex和yacc,所以,理所當(dāng)然的我們就使用GNU的編譯器了,如果是Unix或者Linux系統(tǒng) ,那么編譯器應(yīng)該已經(jīng)安裝了。在這里我重點(diǎn)討論的是Windows系統(tǒng)環(huán)境下的Lex和 Yacc程序的開發(fā),至于為什么選擇Windows系統(tǒng)作為開發(fā)平臺,則是為了盡可能的讓初 學(xué)者容易入門。

必備工具

言歸正傳,首先列舉Windows平臺下面Lex和Yacc開發(fā)環(huán)境所需要安裝的程序:

  1. Lex(flex.exe)和Yacc(bison.exe)環(huán)境

  2. C/C++編譯器

flex和bison

值得說明的是,flex.exe和bison.exe是UnxUtils包中的文件,已經(jīng)將許多 Unix/Linux平臺的程序都移植到了Windows平臺,可以直接到UnxUtils網(wǎng)站下載, 下 載解壓縮之后在系統(tǒng)的PATH環(huán)境變量中增加UnxUtils所有的exe文件所在的目錄,使 得DOS命令行可以直接搜索到flex.exe和bison.exe,除此之外還需要從網(wǎng)絡(luò)上下載 bison需要的bison.simple和bison.hairy兩個文件,并且還要分別設(shè)置環(huán)境變量 BISON_HAIRY指向bison.hairy,BISON_SIMPLE指向bison.simple。

Tip

如果覺得麻煩也可以直接使用我做好的flex和bison環(huán)境,點(diǎn)擊這里下載。

解壓縮lexyacc.rar之后運(yùn)行里面的lexyacc.bat文件就會得到一個lex和yacc環(huán)境, 下圖是簡單的運(yùn)行結(jié)果:

 
 
  --lex和yacc環(huán)境

C/C++編譯器

由于我們使用的flex和bison都是GNU的工具,所以為了方便,采用的C/C++編譯器也 采用GNU的編譯器GCC,當(dāng)然我們需要的也是Windows版本的GCC了。目前Windows平臺 的GCC主要是MinGW編譯器,可以到 MinGW的主頁下載安裝。

Important

注意安裝了MinGW之后一定要將安裝后的MinGW的bin路徑設(shè)置到環(huán)境變量PATH中。

我們在下一章里面將會真正的接觸到Lex和Yacc的具體內(nèi)容,敬請關(guān)注:)

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多