日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

《编译原理》实验预习报告——TINY语言的词法分析

發布時間:2024/10/5 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《编译原理》实验预习报告——TINY语言的词法分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

實驗目的

構造tiny語言的詞法分析器(掃描器),要求利用第三方的lex工具進行構造。實驗結果:構造出的掃描器,能夠讀入教材樣例中給出的tiny語言的示例代碼,分解成token輸出。

Experimental Requirement

Build the lexical parser (a scanner) of TINY language, using the Lex tool of third party. The experimental result Scanner can receive the sample program of Tiny language, and output is a sequence of tokes that are defined by regular expression.?

?

預習要求

Preview requirements:

1.查閱各種專業文獻,針對任意二種現代程序設計語言編譯器的詞法分析技術,找出各自的標志性的特征點,并加以比較分析和比較,指出其優缺點,并試圖給出自已的結論。

Referring to professional literatures, aiming at the lexical analysis technology of any two modern programming language compilers, finds out their respective features, compares them, points out their advantages and disadvantages, and tries to give your Evaluation and conclusions.

?

答:

flex的設計目標就是生成一個高性能的掃描器。它已經對處理大量rule 做了優化。除了用-C 選項進行表格壓縮之外,還有一些option/action 會影響到掃描器的速度。

比如JavaScript,就不適合使用flex作為詞法分析器,JavaScript 正則表達式字面量和除法操作符的二義性, 很難用 lex 解決, 一般只用 lex 做很少的事情, 然后把真正含義的辨清延遲到 parse 階段.

?

?

2.請描述自已擬定的實驗計劃和步驟,以及對輸入和輸出的設計。

Please design your experimental plan and procedures, as well as the design of input and output of the SCANNER

?

答:

?

3.選擇三方工具,閱讀其使用說明,并嘗試建立起工作環境。

Choose the LEX tools, read their instructions, and try to establish a working environment.

?

答:

我們采用flex進行詞法分析。flex是一個用來生成掃描器(scanners)的工具,其中掃描器就是可以識別文本中詞法模式的程序。具體流程為:flex讀取給定的輸入文件,或標準輸入(當沒有給定文件名時)讀取信息來生成一個掃描器。信息以正則表達式和C代碼組成,這種形式稱為規則(rule)。flex生成C源代碼文件lex.yy.c,其中定義了一個函數yylex()。這個文件通過編譯,并用-lfl 鏈接生成可執行文件。當可執行文件被執行時,它分析輸入中可能存在的符合正則表達的內容。當找到任何一個與正則表達式相匹配內容時,相應的C 代碼將被執行。

總結

以上是生活随笔為你收集整理的《编译原理》实验预习报告——TINY语言的词法分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。