久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

《編譯原理》課程(詞法分析)實(shí)驗(yàn)報(bào)告5則范文

時(shí)間:2019-05-12 06:46:49下載本文作者:會(huì)員上傳
簡(jiǎn)介:寫(xiě)寫(xiě)幫文庫(kù)小編為你整理了多篇相關(guān)的《《編譯原理》課程(詞法分析)實(shí)驗(yàn)報(bào)告》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫(xiě)寫(xiě)幫文庫(kù)還可以找到更多《《編譯原理》課程(詞法分析)實(shí)驗(yàn)報(bào)告》。

第一篇:《編譯原理》課程(詞法分析)實(shí)驗(yàn)報(bào)告

一.實(shí)驗(yàn)序號(hào):《編譯原理》第一次實(shí)驗(yàn)

二.實(shí)驗(yàn)題目:詞法分析

三.實(shí)驗(yàn)日期:2010.10

四.實(shí)驗(yàn)環(huán)境(操作系統(tǒng),開(kāi)發(fā)語(yǔ)言)

操作系統(tǒng):Windows

開(kāi)發(fā)語(yǔ)言:C

五.實(shí)驗(yàn)內(nèi)容(實(shí)驗(yàn)要求)

a)將標(biāo)識(shí)符的詞法改為“以大寫(xiě)字母或小寫(xiě)字母開(kāi)頭,后面可以跟大寫(xiě)字

母或小寫(xiě)字母或數(shù)字或下劃線”。

b)將<條件>中的表示相等關(guān)系的單詞“=”改為“= =”

c)將原來(lái)的無(wú)小數(shù)的數(shù)改為可以有小數(shù)的數(shù)

六.實(shí)驗(yàn)步驟

a)打開(kāi)VC++,找到getsym()項(xiàng)目。

int getsym()

{...}

在getsym()函數(shù)中設(shè)置斷點(diǎn),F(xiàn)10逐過(guò)程調(diào)試

根據(jù)要求a修改為

if(ch>='a'&&ch<='z'||ch>='A'&&ch<='Z')

往后面看,修改while(ch>='a' && ch<='z' || ch>='0' && ch<='9' ||ch>='A' && ch<='Z' || ch=='_');

b)在檢測(cè)賦值符號(hào)的程序段中找到等號(hào) = 的判斷代碼,改變成為 = = 即

可。

c)在獲取整數(shù)數(shù)字的值的程序段后面添加判斷小數(shù)點(diǎn)的代碼。如果是,即

讀取符號(hào)并且按照小數(shù)的要求將其縮小并且累加到總的符號(hào)串中。

七.實(shí)驗(yàn)體會(huì)(包括收獲、心得體會(huì)、存在的問(wèn)題及解決問(wèn)題的方法、建議等)

通過(guò)實(shí)驗(yàn),如果要修改代碼的話,首先應(yīng)該讀懂源碼,在修改之前了解到程序段的功能是什么,然后再在相應(yīng)的行進(jìn)行修改添加,再進(jìn)行合理的調(diào)試。如果問(wèn)題太過(guò)困難可以查詢資料或與同學(xué)進(jìn)行討論

八.實(shí)驗(yàn)結(jié)果(關(guān)鍵源程序)

a)

int getsym()

{

int i,j,k;

while(ch==' '||ch==10||ch==9)/*忽略空格,換行和TAB*/{

getchdo;

}

if(ch>='a'&&ch<='z'||ch>='A'&&ch<='Z')/*名字或保留字以a..zA。Z開(kāi)頭*/{

k=0;

do{

if(k

{

a[k]=ch;

k++;

}

getchdo;

}while(ch>='a' && ch<='z' || ch>='0' && ch<='9' || ch>='A' && ch<='Z' || ch=='_');//

if(ch>='0'&&ch<='9')/*檢測(cè)是否為數(shù)字,以0..9開(kāi)頭*/{

k=0;

num=0;

sym=number;

do{

//435

num=10*num+ch-'0';

k++;

getchdo;

}while(ch>='0' && ch<='9');

if(ch=='.')

{

k++;

sym=period;

getchdo;

sym=number;

int div=10;

do{num=num+(ch-'0')/div;

k++;

getchdo;

div=div*10;

}while(ch>='0'&&ch<='9');

}

b)

else

{

if(ch=='>')//檢測(cè)大于或大于等于符號(hào){

getchdo;

if(ch=='=')//add by M

{

sym=geq;//構(gòu)成>=

getchdo;

}

else

{

sym=gtr;//否則就是一個(gè)單獨(dú)的>號(hào)}

}

else

{

if(ch=='=')

{

getchdo;

if(ch=='=')

{

sym=deq;

getchdo;

}

else

{

sym=eql;

}

}

c)else

{if(ch == ’.’)

{k=10;

getchdo;

do{num=num+(ch-'0')/k;

k=k*10;

getchdo;

}while(ch>='0'&&ch<='9');}

}

第二篇:編譯原理實(shí)驗(yàn)報(bào)告

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

報(bào)告完成日期 2018.5.30

一. 組內(nèi)分工與貢獻(xiàn)介紹

二. 系統(tǒng)功能概述;

我們使用了自動(dòng)生成系統(tǒng)來(lái)完成我們的實(shí)驗(yàn)內(nèi)容。我們?cè)O(shè)計(jì)的系統(tǒng)在完成了實(shí)驗(yàn)基本要求的前提下,進(jìn)行了一部分的擴(kuò)展。增加了聲明變量類型、類型賦值判定和聲明的變量被引用時(shí)作用域的判斷。從而使得我們的實(shí)驗(yàn)結(jié)果呈現(xiàn)的更加清晰和易懂。

三. 分系統(tǒng)報(bào)告;

一、詞法分析子系統(tǒng)

詞法的正規(guī)式:

標(biāo)識(shí)符

<字母>(<字母>|<數(shù)字字符>)* 十進(jìn)制整數(shù)

0 |(1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)* 八進(jìn)制整數(shù) 0(1|2|3|4|5|6|7)(0|1|2|3|4|5|6|7)* 十六進(jìn)制整數(shù) 0x(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)* 運(yùn)算符和分隔符 +| * | / | > | < | = |(|)| <=|>=|==; 對(duì)于標(biāo)識(shí)符和關(guān)鍵字: A5—〉 B5C5 B5—〉a | b |??| y | z C5—〉(a | b |??| y | z |0|1|2|3|4|5|6|7|8|9)C5|ε 綜上正規(guī)文法為: S—〉I1|I2|I3|A4|A5 I1—〉0|A1 A1—〉B1C1|ε C1—〉E1D1|ε D1—〉E1C1|ε

E1—〉0|1|2|3|4|5|6|7|8|9 B1—〉1|2|3|4|5|6|7|8|9 I2—〉0A2 A2—〉0|B2 B2—〉C2D2 D2—〉F2E2|ε E2—〉F2D2|ε

C2—〉1|2|3|4|5|6|7 F2—〉0|1|2|3|4|5|6|7 I3—〉0xA3 A3—〉B3C3 B3—〉0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f C3—〉(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)|C3|ε

A4—〉+ |-| * | / | > | < | = |(|)| <=|>=|==; A5—〉 B5C5 B5—〉a | b |??| y | z C5—〉(a | b |??| y | z |0|1|2|3|4|5|6|7|8|9)C5|ε

狀態(tài)圖

流程圖:

詞法分析程序的主要數(shù)據(jù)結(jié)構(gòu)與算法

考慮到報(bào)告的整潔性和整體觀感,此處我們僅展示主要的程序代碼和算法,具體的全部代碼將在整體的壓縮包中一并呈現(xiàn)

另外我們考慮到后續(xù)實(shí)驗(yàn)中,如果在bison語(yǔ)法樹(shù)生成的時(shí)候推不出目標(biāo)的產(chǎn)生式時(shí),我們?cè)O(shè)計(jì)了報(bào)錯(cuò)提示,在這個(gè)詞的位置出現(xiàn)錯(cuò)誤提示,將記錄切割出來(lái)的詞在code.txt中保存,并記錄他們的位置。

以下是我們的主要代碼:

進(jìn)制的識(shí)別:

結(jié)果展示:

二、語(yǔ)法分析子系統(tǒng)

根據(jù)選擇的語(yǔ)法分析方法進(jìn)行描述

我們使用了遞歸子程序發(fā),并且對(duì)原有的產(chǎn)生式進(jìn)行了改寫(xiě),改寫(xiě)后的結(jié)果如下: P→LP1|L L→S

S→id=E|{P}|if C then S | if C then S

1else S2 | while C do S1 C→E1C’

C’→>E2|

E→int8E’| int10E’| int16E’| idE’|T E’→+T|-T||+TE’|-TE’

T→int8T’| int10T’| int16T’| idT’|F T’→*F|/F|*FT’|/FT’

F→(E)|int8|int10|int16|id

簡(jiǎn)化的語(yǔ)法圖: S的語(yǔ)法圖:

C的語(yǔ)法圖:

E的語(yǔ)法圖:

T的語(yǔ)法圖:

F的語(yǔ)法圖:

流程圖:

語(yǔ)法分析子系統(tǒng)的主要數(shù)據(jù)結(jié)構(gòu)與算法

我們采用了自動(dòng)生成技術(shù),同樣在這里也是展示主要的核心功能代碼,全部的代碼展示在壓縮包中:

我們?cè)谠O(shè)計(jì)時(shí),實(shí)現(xiàn)了產(chǎn)生式對(duì)應(yīng)的字符串同時(shí)標(biāo)識(shí)產(chǎn)生式定義的int值 輔助程序:

生成語(yǔ)法樹(shù)的程序:

1.樹(shù)節(jié)點(diǎn):

2.創(chuàng)建新節(jié)點(diǎn)

3.創(chuàng)建實(shí)數(shù)類型新節(jié)點(diǎn)

4.創(chuàng)建標(biāo)識(shí)符類型新節(jié)點(diǎn)

5.輸出語(yǔ)法樹(shù) 三、三地址碼生成器

算法的基本思想:

我們?cè)黾恿寺暶髯兞款愋汀㈩愋唾x值判定和聲明的變量被引用時(shí)作用域的判斷。從而使得我們的實(shí)驗(yàn)結(jié)果呈現(xiàn)的更加清晰和易懂。

在報(bào)錯(cuò)的時(shí)候,我們會(huì)呈現(xiàn)類型、作用域和賦值三種的問(wèn)題的報(bào)錯(cuò)信息。

流程圖:

算法展示:

四、實(shí)驗(yàn)體會(huì)

這次實(shí)驗(yàn)其實(shí)總的來(lái)說(shuō)是讓我們更加清晰的理解到了我們所學(xué)的內(nèi)容。有時(shí)候我們上課聽(tīng)講,課下復(fù)習(xí)寫(xiě)作業(yè)的時(shí)候,其實(shí)看似掌握了所學(xué)內(nèi)容,但實(shí)際上并沒(méi)有親身體會(huì)的操作很難讓我們深刻的理解其中的相關(guān)意義。通過(guò)這次實(shí)驗(yàn),我們能夠從根源處了解到了我們所學(xué)的內(nèi)容,并且基于我們理解之后的輸出。比如詞法分析不能采用空格來(lái)區(qū)分單詞,因?yàn)榇嬖诩訙p乘除等運(yùn)算符和分隔符,使用空格來(lái)區(qū)分可能會(huì)造成錯(cuò)誤的分解。又比如我們?cè)僭诔绦蛟O(shè)計(jì)中,常常體會(huì)到效率的重要性。影響詞法分析的效率的主要因素是各個(gè)狀態(tài)的分支如何規(guī)劃。如果每個(gè)進(jìn)來(lái)的單詞都能在最短的時(shí)間和最少的匹配次數(shù)內(nèi)找到其入口,則效率將得到很大程度上的提高。所以由此我們產(chǎn)生了聲明變量類型、賦值和作用域的想法,將其放在最后來(lái)進(jìn)行判斷,這樣可以提高整體的執(zhí)行效率。

另外,這次小組成員彼此不在一個(gè)班級(jí),這樣從某一方面來(lái)說(shuō),也加強(qiáng)了我們互相快速熟識(shí)并團(tuán)結(jié)協(xié)作的能力,有了這種體驗(yàn),我想我們?cè)诮窈蟮纳钪校鎸?duì)這種情況的時(shí)候,將會(huì)變得更加有經(jīng)驗(yàn)。

五、源程序

詞法分析器: 輸入結(jié)果:

輸出結(jié)果:

語(yǔ)義分析結(jié)果:

輸入:

第二組數(shù)據(jù)的輸入:

輸出:

三地址碼的輸入:

第二組數(shù)據(jù)的輸入:

輸出:

第三篇:《編譯原理》課程設(shè)計(jì)報(bào)告--詞法分析器

201X-201X學(xué)年第x學(xué)期

《編譯原理》課程設(shè)計(jì)報(bào)告

院 系: 計(jì)算機(jī)科學(xué)與技術(shù) 班 級(jí): XX級(jí)XX 班 學(xué)生姓名: XXXXXX 學(xué) 號(hào): XXXXXXXX 指導(dǎo)老師: XXXXXX

計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院監(jiān)制

20XX年X月

目錄

1.課程設(shè)計(jì)的目的 2.課程設(shè)計(jì)的內(nèi)容和要求 3.問(wèn)題分析和相關(guān)知識(shí)介紹 4.設(shè)計(jì)思路和關(guān)鍵問(wèn)題及其解決方案 5.測(cè)試和結(jié)果分析 6.總結(jié)和心得體會(huì)

附件1:參考文獻(xiàn) 附件2:核心源代碼

1.課程設(shè)計(jì)的目的(1)編寫(xiě)詞法分析器

(2)加深對(duì)詞法分析器工作原理的了解和認(rèn)識(shí)

2.課程設(shè)計(jì)的內(nèi)容和要求

編寫(xiě)詞法分析器,詞法分析器能夠識(shí)別關(guān)系算符,詞法分析器能夠識(shí)別標(biāo)識(shí)符和關(guān)鍵字,詞法分析器能夠識(shí)別無(wú)符號(hào)數(shù)。

3.問(wèn)題分析和相關(guān)知識(shí)介紹

構(gòu)成詞法分析器的一種簡(jiǎn)單方法是用狀態(tài)轉(zhuǎn)換圖來(lái)描述源語(yǔ)言詞法記號(hào)的結(jié)構(gòu),然后手工把這種狀態(tài)轉(zhuǎn)換圖翻譯成為識(shí)別詞法記號(hào)的程序。詞法分析器的任務(wù)是把構(gòu)成源程序的字符流翻譯成詞法記號(hào)流。

4.設(shè)計(jì)思路和關(guān)鍵問(wèn)題及其解決方案

把自然語(yǔ)言構(gòu)造成正規(guī)式,把正規(guī)式構(gòu)造成有限自動(dòng)機(jī)NFA,然后根據(jù)子集構(gòu)造法把有限自動(dòng)機(jī)構(gòu)造成無(wú)限自動(dòng)機(jī)DFA,根據(jù)極小化DFA狀態(tài)數(shù)算法把DFA構(gòu)造成最簡(jiǎn)DFA,其次根據(jù)最簡(jiǎn)DFA畫(huà)出轉(zhuǎn)換表,根據(jù)轉(zhuǎn)換表畫(huà)出裝換圖,最后根據(jù)裝換圖就可以編寫(xiě)詞法分析器。

5.測(cè)試和結(jié)果分析

6.總結(jié)和心得體會(huì)

通過(guò)本次試驗(yàn),不僅僅是我學(xué)會(huì)了C#基礎(chǔ)知識(shí),而且還是我對(duì)詞法分析器有了更深入的認(rèn)識(shí),雖然在編寫(xiě)詞法分析器過(guò)程中遇到了很多困難,例如:C#語(yǔ)言不熟悉,對(duì)此法分析器的工作原理分析的不透徹,但在老師和同學(xué)的幫助下,我有了很大的提高,通過(guò)不斷的努力最終順利的完成了課程設(shè)計(jì),很感謝幫助我的XX同學(xué)和XX老師。附件1:參考文獻(xiàn)

《編譯原理(第2版)》 高等教育出版社; 《C#程序設(shè)計(jì)及應(yīng)用教程(第2版)》 人民教育出版社。附件2:

1.Code文檔截圖

2.程序源代碼

using System;using System.Collections.Generic;using System.Text;using System.IO;

namespace LexicalAnalysis { class Program { static string[] keys = { “static”, “true”, “return”, “string”, “Length”, “break”, “Console”, “WriteLine”, “bool”, “false”, “ture”, “void”, “if”, “else”, “while”, “int”, “float”, “for”, “enum”, “default”, “case”, “double”, “do” };

static List key = new List();//保存關(guān)鍵字

static List bsf = new List();//保存標(biāo)識(shí)符

static List sz = new List();//保存數(shù)字

static List gx = new List();//保存關(guān)系運(yùn)算符

static List ys = new List();//保存數(shù)字運(yùn)算符

//數(shù)字,標(biāo)識(shí)符,空白,關(guān)系符,運(yùn)算符

static void Main(string[] args){

string[] date = File.ReadAllLines(@“d:code.txt”);//路徑,并存入data

for(int i = 0;i < date.Length;i++){ Console.WriteLine(“第” +(i + 1)+ “行code: ” + date.GetValue(i));analysisByLine(date[i]);

} //分別輸出存儲(chǔ)在四個(gè)List中的String

Console.WriteLine(“關(guān)鍵字,輸入回車”);//輸出所有的關(guān)鍵字 Console.ReadLine();

foreach(string id in key){ Console.WriteLine(id);

}

Console.WriteLine(“標(biāo)識(shí)符,輸入回車”);//輸出所有的標(biāo)識(shí)符

Console.ReadLine();foreach(string id in bsf){ Console.WriteLine(id);

}

Console.WriteLine(“數(shù)字,輸入回車”);Console.ReadLine();foreach(string id in sz){ Console.WriteLine(id);

}

Console.WriteLine(“關(guān)系運(yùn)算符,輸入回車”);Console.ReadLine();foreach(string id in gx){ Console.WriteLine(id);

}

Console.WriteLine(“算數(shù)運(yùn)算符,輸入回車”);Console.ReadLine();foreach(string id in ys){ Console.WriteLine(id);

}

Console.WriteLine(“輸入回車退出”);

Console.ReadLine();

} static void analysisByLine(string code)

//輸出所有的數(shù)字 //輸出所有的關(guān)系運(yùn)算符//輸出所有的算數(shù)運(yùn)算符

{

char a = ' ';string temp = “";int j = 0;while(j < code.Length){ a = code[j];temp = ”“;if(Char.IsLetter(a)|| a == '_')//是否為標(biāo)識(shí)符 { temp = temp + a.ToString();j++;a = code[j];while(Char.IsLetterOrDigit(a)){ temp = temp + a.ToString();j++;a = code[j];} if(isKey(temp)){

//Console.WriteLine(”保留字:“+temp);

if(!key.Contains(temp)){ // Console.WriteLine(”添加成功“);key.Add(temp);}

} else {

//Console.WriteLine(”標(biāo)識(shí)符:“+temp);

if(!bsf.Contains(temp)){ //Console.WriteLine(”添加成功標(biāo)識(shí)符==“);bsf.Add(temp);} }

} else if(Char.IsDigit(a)){ temp = temp + a.ToString();j++;a = code[j];while(Char.IsDigit(a)){ temp = temp + a.ToString();j++;a = code[j];

} //判斷是否是小數(shù)

if(a.Equals('.')){ temp = temp + a.ToString();j++;a = code[j];while(Char.IsDigit(a)){ temp = temp + a.ToString();j++;a = code[j];} //判讀是否是科學(xué)記數(shù)法

if(a.Equals('E')|| a.Equals('e')){ temp = temp + a.ToString();j++;a = code[j];while(Char.IsDigit(a)){

temp = temp + a.ToString();j++;a = code[j];} }

}

// Console.WriteLine(”數(shù)字:“+temp);if(!sz.Contains(temp)){ //Console.WriteLine(”添加成功標(biāo)識(shí)符==“);sz.Add(temp);} } else if(a == '<'){ temp = temp + a.ToString();j++;a = code[j];if(a == '='){ temp = temp + a.ToString();j++;a = code[j];} else if(a == '>'){ temp = temp + a.ToString();j++;a = code[j];} //Console.WriteLine(”關(guān)系符“+temp);if(!gx.Contains(temp)){ //Console.WriteLine(”添加成功標(biāo)識(shí)符==“);gx.Add(temp);} } else if(a == '='){ temp = temp + a.ToString();j++;

a = code[j];// Console.WriteLine(”關(guān)系符“+temp);if(!gx.Contains(temp)){ //Console.WriteLine(”添加成功關(guān)系==“);gx.Add(temp);} } else if(a == '>'){ temp = temp + a.ToString();j++;a = code[j];if(a == '='){ temp = temp + a.ToString();j++;a = code[j];}

// Console.WriteLine(”關(guān)系符“+temp);if(!gx.Contains(temp)){ //Console.WriteLine(”添加成功標(biāo)識(shí)符==“);gx.Add(temp);}

} else { if(a == '+' || a == '-' || a == '/' || a == '*'){ temp = temp + a.ToString();j++;a = code[j];//Console.WriteLine(”運(yùn)算符“+temp);if(!ys.Contains(temp)){ //Console.WriteLine(”添加成功標(biāo)識(shí)符==“);ys.Add(temp);} } else

{ j++;}

} } }

//判斷是不是保留字的IsKey方法

static bool isKey(string key){

bool flag = false;for(int i = 0;i < keys.Length;i++)

if(keys[i] == key){ flag = true;//Console.WriteLine(key+”是不是key“+flag);break;} else { flag = false;

} //Console.WriteLine(key+”是不是key“);// Console.WriteLine(flag+”是不是key");return flag;

} } }

第四篇:編譯原理語(yǔ)法分析實(shí)驗(yàn)報(bào)告

實(shí)驗(yàn)2:語(yǔ)法分析

1.實(shí)驗(yàn)題目和要求

題目:語(yǔ)法分析程序的設(shè)計(jì)與實(shí)現(xiàn)。

實(shí)驗(yàn)內(nèi)容:編寫(xiě)語(yǔ)法分析程序,實(shí)現(xiàn)對(duì)算術(shù)表達(dá)式的語(yǔ)法分析。要求所分析算術(shù)表達(dá)式由如下的文法產(chǎn)生。

E?E?T|E?T|TT?T*F|T/F|F F?id|(E)|num實(shí)驗(yàn)要求:在對(duì)輸入表達(dá)式進(jìn)行分析的過(guò)程中,輸出所采用的產(chǎn)生式。方法1:編寫(xiě)遞歸調(diào)用程序?qū)崿F(xiàn)自頂向下的分析。方法2:編寫(xiě)LL(1)語(yǔ)法分析程序,要求如下。

(1)編程實(shí)現(xiàn)算法4.2,為給定文法自動(dòng)構(gòu)造預(yù)測(cè)分析表。(2)編程實(shí)現(xiàn)算法4.1,構(gòu)造LL(1)預(yù)測(cè)分析程序。

方法3:編寫(xiě)語(yǔ)法分析程序?qū)崿F(xiàn)自底向上的分析,要求如下。(1)構(gòu)造識(shí)別所有活前綴的DFA。(2)構(gòu)造LR分析表。

(3)編程實(shí)現(xiàn)算法4.3,構(gòu)造LR分析程序。

方法4:利用YACC自動(dòng)生成語(yǔ)法分析程序,調(diào)用LEX自動(dòng)生成的詞法分析程序。實(shí)現(xiàn)(采用方法1)

1.1.步驟:

1)對(duì)文法消除左遞歸

E?TE'E'??TE'|?TE'|?T?FT'T'?*FT'|/FT'|?F?id|(E)|num

2)畫(huà)出狀態(tài)轉(zhuǎn)換圖

化簡(jiǎn)得:

3)源程序

在程序中I表示id N表示num

1.2.例子:

a)例子1 輸入:I+(N*N)輸出:

b)例子2 輸入:I-NN 輸出:

第五篇:編譯原理課程-教學(xué)計(jì)劃

編譯原理教學(xué)大綱2001,9

周次課內(nèi)學(xué)時(shí)課內(nèi)安排(講授內(nèi)容)建議課外安排備注

12編譯原理概述閱讀PL/0程序文本

24介紹PL/0編譯程序閱讀PL/0程序文本

32詞法分析程序自動(dòng)構(gòu)造閱讀PL/0程序文本

(正規(guī)式,有窮自動(dòng)機(jī))

44(2)詞法分析程序自動(dòng)構(gòu)造練習(xí)題

Lex(Flex)介紹,布置PP1實(shí)踐題一PP1

52文法和語(yǔ)言練習(xí)題

64自頂向下語(yǔ)法分析練習(xí)題提交PP1LL(1)文法

72自底向上語(yǔ)法分析練習(xí)題

LR文法

84LR分析練習(xí)題

期中考試

92Yacc介紹,布置PP2實(shí)踐題一PP2

104習(xí)題課

語(yǔ)法分析方法比較提交PP2 112語(yǔ)法制導(dǎo)翻譯,布置PP3實(shí)踐題一PP3

124語(yǔ)法制導(dǎo)翻譯

運(yùn)行時(shí)存儲(chǔ)組織提交PP3 132運(yùn)行時(shí)存儲(chǔ)組織練習(xí)題144代碼優(yōu)化, 布置PP4實(shí)踐題一PP4

152代碼生成164實(shí)踐題目總結(jié)答辯

習(xí)題課

附1 實(shí)踐題目(從中選一)

實(shí)踐題一 Deacf編譯程序的設(shè)計(jì)和實(shí)現(xiàn).實(shí)踐題二Pl/0編譯程序擴(kuò)充,用Lex和 Yacc實(shí)現(xiàn)一個(gè)小解釋器.實(shí)踐題三 java實(shí)現(xiàn)的Mini-Triangle編譯程序.(限少數(shù)同學(xué)選,在第四周作選題報(bào)告)附2 課程評(píng)分

1課堂小測(cè)驗(yàn),作業(yè)抽查 10%期中考試20%

3實(shí)踐題一 40% 實(shí)踐題二20% 實(shí)踐題三 50%

4期末考試 完成實(shí)踐題一 30% 完成實(shí)踐題二50% 完成實(shí)踐題三 20%

下載《編譯原理》課程(詞法分析)實(shí)驗(yàn)報(bào)告5則范文word格式文檔
下載《編譯原理》課程(詞法分析)實(shí)驗(yàn)報(bào)告5則范文.doc
將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
點(diǎn)此處下載文檔

文檔為doc格式


聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

相關(guān)范文推薦

    編譯原理--實(shí)驗(yàn)報(bào)告(小編推薦)

    吉林大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院實(shí)驗(yàn)報(bào)告 計(jì)算機(jī)基礎(chǔ)實(shí)驗(yàn)教學(xué)中心編制姓名,學(xué)號(hào):胡智超,53070108;陳玉娟,53070130;程明,53070109;張宇航,53070110 2007 級(jí)1班 實(shí)驗(yàn)室:A209成績(jī)指導(dǎo)教師(......

    編譯原理課程和助教工作總結(jié)

    編譯原理課程和助教工作總結(jié) 時(shí)間如流水般,轉(zhuǎn)眼,一學(xué)期將至,每個(gè)人為了能交上一份滿意的答卷,無(wú)時(shí)無(wú)刻不在傾注著汗水,揮灑著熱淚。掩卷長(zhǎng)思,細(xì)細(xì)品味,這學(xué)期的點(diǎn)點(diǎn)滴滴不禁又浮上......

    《編譯原理》課程培訓(xùn)心得體會(huì)

    《編譯原理》課程培訓(xùn)心得體會(huì) 天津科技大學(xué) 吳江紅 首先感謝全國(guó)高校教師網(wǎng)絡(luò)培訓(xùn)中心為我們這些工作在教學(xué)第一線的教師提供一個(gè)提高自己教學(xué)水平、方法和能力的機(jī)會(huì),使得......

    編譯原理實(shí)驗(yàn)二(設(shè)計(jì)一個(gè)詞法分析器)五篇范文

    編譯原理實(shí)驗(yàn)二 1. 實(shí)驗(yàn)名稱:一個(gè)簡(jiǎn)單語(yǔ)言詞法分析器設(shè)計(jì) 2.實(shí)驗(yàn)內(nèi)容 (1) 閱讀并理解教材第三章詞法分析p42“簡(jiǎn)單語(yǔ)言”詞法分析構(gòu)造實(shí)例 (2) 完善P45給出的“簡(jiǎn)單語(yǔ)言”詞法分析......

    詞法分析設(shè)計(jì)實(shí)驗(yàn)報(bào)告(附代碼)[精選合集]

    實(shí)驗(yàn)一詞法分析設(shè)計(jì) 實(shí)驗(yàn)學(xué)時(shí):4 實(shí)驗(yàn)類型:綜合 實(shí)驗(yàn)要求:必修 一、實(shí)驗(yàn)?zāi)康?通過(guò)本實(shí)驗(yàn)的編程實(shí)踐,使學(xué)生了解詞法分析的任務(wù),掌握詞法分析程序設(shè)計(jì)的原理和構(gòu)造方法,使學(xué)生對(duì)編譯......

    編譯原理課程報(bào)告(共5則范文)

    編譯原理課程報(bào)告學(xué)院: 信息工程學(xué)院專業(yè): 軟件工程 姓名: 賴杰學(xué)號(hào): 09927212 指導(dǎo)老師: 朱文華完成時(shí)間: 2012.5.19編譯原理是計(jì)算機(jī)專業(yè)的一門(mén)重要專業(yè)課,旨在介紹編譯程序構(gòu)造......

    編譯原理課程學(xué)習(xí)總結(jié)體會(huì)

    編譯原理課程學(xué)習(xí)總結(jié)體會(huì) 編譯原理是我們計(jì)算機(jī)科學(xué)與技術(shù)的一門(mén)非常重要的專業(yè)課,它主要介紹了高級(jí)程序設(shè)計(jì)語(yǔ)言編譯程序構(gòu)造的一般原理、基本設(shè)計(jì)方法、主要實(shí)現(xiàn)技術(shù)和一......

    《編譯原理》課程設(shè)計(jì)說(shuō)明-第1次

    《編譯原理》課程設(shè)計(jì) 《編譯原理》課程設(shè)計(jì) 1. 要求 完成一個(gè)簡(jiǎn)化C語(yǔ)言——TINY C語(yǔ)言的編譯程序,最終能為用TINY C語(yǔ)言編寫(xiě)的源程序(后綴為.tny,已給sample.tny,用一般的文本......

主站蜘蛛池模板: 国内精品人妻无码久久久影院| 疯狂做受xxxx高潮欧美日本| 熟妇女人妻丰满少妇中文字幕| 国产美足白丝榨精在线观看sm| 亚洲成av人片在线观看www| 亚洲三区在线观看内射后入| 日韩精品无码久久一区二区三| 玩弄japan白嫩少妇hd小说| 国产精品高清一区二区三区不卡| 99久久久无码国产麻豆| 无码中文av有码中文av| 麻豆一区二区三区精品视频| 国产精品aⅴ免费视频| 国内精品久久久久影院免费| 天天躁夜夜躁天干天干2020| 女人被狂躁c到高潮喷水一区二区| 日日拍夜夜嗷嗷叫国产| 久久婷婷国产综合精品| 精品人妻少妇嫩草AV无码专区| 亚洲国产成人无码网站大全| h番动漫福利在线观看| 好想被狂躁无码视频在线观看| 国产亚洲精品久久久久久男优| 国精产品999一区二区三区有限| 国产精品ⅴ无码大片在线看| 国产成人免费高清直播| 免费欧洲美女牲交视频| 东京热中文字幕a∨无码| 欧美疯狂性xxxxxbbbbb| 国产成年无码久久久久下载| 4hu四虎永久在线影院| 蜜臀精品国产高清在线观看| 欧美内射rape视频| 日日摸夜夜添夜夜添高潮喷水| 又粗又猛又黄又爽无遮挡| 中国少妇内射xxxx狠干| 国内大量偷窥精品视频| av天堂亚洲区无码小次郎| 国产成人精品日本亚洲网站| 国产福利视频在线观看| 国产拍揄自揄精品视频|