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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java实验文法报告_西安邮电大学编译原理LL文法分析器实验(java).doc

發(fā)布時(shí)間:2023/12/2 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java实验文法报告_西安邮电大学编译原理LL文法分析器实验(java).doc 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

西安郵電大學(xué)編譯原理LL文法分析器實(shí)驗(yàn)(java)

《編譯原理》實(shí)驗(yàn)報(bào)告

題目: 語法分析器的制作

學(xué)生姓名:

班 級(jí): 軟件1202

學(xué) 號(hào):

指導(dǎo)教師:

成 績(jī):

西安郵電大學(xué)計(jì)算機(jī)學(xué)院

2015 年 6 月 7 日

一:實(shí)驗(yàn)?zāi)康?/p>

熟悉語法分析的過程;

理解相關(guān)文法的步驟;

熟悉First集和Follow集生成

二:實(shí)驗(yàn)要求

對(duì)于給定的文法,試編寫調(diào)試一個(gè)語法分析程序:

要求和提示:

可選擇一種你感興趣的語法分析方法(LL(1) 、算符優(yōu)先、遞歸下降、SLR(1)等)作為編制語法分析程序的依據(jù)。

對(duì)于所選定的分析方法,如有需要,應(yīng)選擇一種合適的數(shù)據(jù)結(jié)構(gòu),以構(gòu)造所給文法的機(jī)內(nèi)表示。

能進(jìn)行分析過程模擬。如輸入一個(gè)句子,能輸出與句子對(duì)應(yīng)的語法樹,能對(duì)語法樹生成過程進(jìn)行模擬;能夠輸出分析過程每一步符號(hào)棧的變化情況。

設(shè)計(jì)一個(gè)由給定文法生成First集和Follow集并進(jìn)行簡(jiǎn)化的算法動(dòng)態(tài)模擬。

三:實(shí)驗(yàn)過程

1:文法:

E->TE’

E’->+TE’|ε

T->FT’

T’->*FT’|ε

F->(E)|i:

2程序描述(LL(1)文法)

本程序是基于已構(gòu)建好的某一個(gè)語法的預(yù)測(cè)分析表來對(duì)用戶的輸入字符串進(jìn)行分析,判斷輸入的字符串是否屬于該文法的句子。

基本實(shí)現(xiàn)思想:接收用戶輸入的字符串(字符串以“#”表示結(jié)束)后,對(duì)用做分析棧的一維數(shù)組和存放分析表的二維數(shù)組進(jìn)行初始化。然后取出分析棧的棧頂字符,判斷是否為終結(jié)符,若為終結(jié)符則判斷是否為“#”且與當(dāng)前輸入符號(hào)一樣,若是則語法分析結(jié)束,輸入的字符串為文法的一個(gè)句子,否則出錯(cuò)若不為“#”且與當(dāng)前輸入符號(hào)一樣則將棧頂符號(hào)出棧,當(dāng)前輸入符號(hào)從輸入字符串中除去,進(jìn)入下一個(gè)字符的分析。若不為“#”且不與當(dāng)前輸入符號(hào)一樣,則出錯(cuò)。

3:流程圖

4:該文法的預(yù)測(cè)分析表為:

四:實(shí)驗(yàn)結(jié)果

1、顯示預(yù)測(cè)分析表,提示用戶輸入字符串

2、輸入的字符串為正確的句子:

3、輸入的字符串中包含了不屬于終結(jié)符集的字符

4、輸入的字符串不是該文法能推導(dǎo)出來的句子

五:實(shí)驗(yàn)心得

通過本次實(shí)驗(yàn)基本掌握了語法分析的原理和LL(1)語法分析方法,以及預(yù)測(cè)分析表的構(gòu)造;進(jìn)一步熟悉了語法分析的詳細(xì)過程。通過編寫程序進(jìn)一步復(fù)習(xí)鞏固了java語言和數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識(shí),尤其是加深了對(duì)棧相關(guān)知識(shí)的印象;在編程過程中遇到了很多基礎(chǔ)性問題,通過不斷的查閱課本,最終解決了問題,但程序仍然存在很多值得改進(jìn)和完善的地方,這就提醒我們?cè)谝院蟮膶W(xué)習(xí)過程當(dāng)中應(yīng)該及時(shí)復(fù)習(xí)鞏固以前學(xué)過的相關(guān)知識(shí)。

總結(jié)

以上是生活随笔為你收集整理的java实验文法报告_西安邮电大学编译原理LL文法分析器实验(java).doc的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。