91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

一.課程設計目的 在分析理解一個教學型編譯程序(如PL/0)的基礎上,對其詞法分析程序、語法分析程序和語義處理程序進行部分修改擴充。 二.課程設計要求 1. 基本內容 (1)擴充賦值運算:+= 和 -= (2)擴充語句(Pascal的FOR語句): ①FOR := TO DO ②FOR := DOWNTO DO 其中,語句①的循環變量的步長為2, 語句②的循環變量的步長為-2。 2. 選做內容 (1)增加運算:++ 和 --。 (2)增加類型:① 字符類型; ② 實數類型。 (3)擴充函數:① 有返回值和返回語句;② 有參數函數。 (4)增加一維數組類型(可增加指令)。 (5)其他典型語言設施。 3.本人在課程設計中已實現的功能 (1)增加單詞:保留字 ELSE,FOR,TO,DOWNTO, REPEAT, UNTIL, RETURN 運算符 +=,-=,++,-- (2)修改單詞:不等號# 改為 (3)增加條件語句的ELSE子句 (4)擴充賦值運算:+= 和 -= (5)擴充語句 ①FOR := TO DO ②FOR := DOWNTO DO (6)增加運算:++ 和 --(包括前后++、--運算) (7)增加一維數組類型 (8) 其他典型語言設施:REPEAT 語句 UNTIL 語句

資源截圖

代碼片段和文件信息

//A.2?????C??????版???本

/*編譯和運行環境:
*1Visual?C++6.0VisualC++.NET?and?Visual?C++.NET?2003
*WinNT?Win?200?WinXP?and??Win2003?
*2?gcc?version?3.3.2??20031022(Red?Hat?Linux?3.3.2-1)
*Redhat?Fedora?core?1
*Intel?32?platform
*使用方法:
*運行后輸入PL/0?源程序文件名
*回答是否輸出虛擬機代碼
*回答是否輸出名字表
*fa.tmp?輸出虛擬機代碼
*fa1.tmp??輸出源文件及其各行對應的首地址
*fa2.tmp??輸出結果?
*fas.tmp??輸出名字表
*/
#include
#include?
#include
#include“pl0.h“
#include“string.h“
/*解釋執行時使用的棧*/
#define?stacksize?500
int?main()
{
bool?nxtlev[symnum];
printf(“\n????????**************?????????????編譯原理實驗??????????******************\n“);
printf(“\n??????****??班別:08計算機科學與技術2班??姓名:蔡謀善??學號:3108006465?****\n\n“);?
printf(“??????*???????????????????開始調試代碼時間:1月2號?????????????????????????*??\n“);
printf(“??????*???????????????????完成調試代碼時間:1月9號?????????????????????????*??\n“);
????printf(“??????*????????????????????????????????????????????????????????????????????*??\n“);
printf(“\n??????**********************************************************************\n“);
printf(“\n請輸入PL/0文件路徑>>“);
scanf(“%s“fname);?????????????????????????????????????/*輸入文件名*/
fin=fopen(fname“r“);
//fin=fopen(“05.txt““r“);
if(fin)
{
printf(“是否輸出虛擬機代碼?(Y/N)“);????????????????//是否輸出虛擬機代碼
scanf(“%s“fname);
listswitch=(fname[0]==‘y‘||fname[0]==‘Y‘);
printf(“是否輸出名字表??(Y/N)“);?????????????//是否輸出名字表
scanf(“%s“fname);
tableswitch=(fname[0]==‘y‘||fname[0]==‘Y‘);
fa1=fopen(“fa1.tmp““w“);
printf(“\n\n輸出源文件及其各行對應的首地址:\n“);
fprintf(fa1“輸出源文件及其各行對應的首地址:\n“);
init();??????????????????????????????????????????/*初始化*/
err=0;
cc=cx=ll=0;
ch=‘?‘;
/*
//***************************************
//詞法分析程序
getsym();
while(sym!=period)
{
printf(“%s??“symout[sym]);
if(sym==ident)
printf(“%s??“id);
else?if(sym==number)
printf(“%d??“num);

getsym();
}
//******************************************
*/
if(-1!=getsym())
{

fa=fopen(“fa.tmp““w“);
fas=fopen(“fas.tmp““w“);
addset(nxtlevdeclbegsysstatbegsyssymnum);
nxtlev[period]=true;??

if(-1==block(00nxtlev)) //調用編譯程序
{
fclose(fa);
fclose(fa1);
fclose(fas);
fclose(fin);
printf(“\n“);
return?0;
}
fclose(fa);
fclose(fa1);
fclose(fas);
if(sym!=period)
{
error(9);
}
if(err==0)
{
time_t?timep;?
????????????????struct?tm?*p;
char?*wday[]={“Sun““Mon““Tue““Wed““Thu““Fri““Sat“};???
fa2=fopen(“fa2.tmp““w“); ??????????????????
????????????????time(&timep);?
????????????????p=gmtime(&timep);?
????????????????printf(“開始解釋執行目標代碼時間:?%d-%d-%d“(1900+p->tm_year)?(1+p->tm_mon)p->tm_mday);?
????????????????printf(“?%s?%d:%d:%d\n“?wday[p->tm_wday]?p->tm_hour?p->tm_min?p->tm_sec);?
interpret();
printf(“完成解釋執行目標代碼時間:?%d-%d-%d“(1900+p->tm_year)?(1+p->tm_mon)p->tm_mday);?
????????????????printf(“?%s?%d:%d:%d\n“?wday[

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件????????218??2009-01-06?17:44??編譯原理課程設計\課程設計\測試代碼\ARRAY.PL0

?????文件?????????95??2011-01-08?23:58??編譯原理課程設計\課程設計\測試代碼\ELSE.PL0

?????文件????????187??2011-01-09?21:03??編譯原理課程設計\課程設計\測試代碼\fa.tmp

?????文件????????105??2011-01-09?21:03??編譯原理課程設計\課程設計\測試代碼\fa1.tmp

?????文件?????????68??2011-01-09?21:03??編譯原理課程設計\課程設計\測試代碼\fa2.tmp

?????文件?????????21??2011-01-09?21:03??編譯原理課程設計\課程設計\測試代碼\fas.tmp

?????文件?????????60??2011-01-09?21:03??編譯原理課程設計\課程設計\測試代碼\FORDOWNTO.PL0

?????文件?????????53??2011-01-09?20:58??編譯原理課程設計\課程設計\測試代碼\FORTO.PL0

?????文件?????233560??2011-01-09?20:58??編譯原理課程設計\課程設計\測試代碼\PL0.exe

?????文件????????111??2011-01-09?01:44??編譯原理課程設計\課程設計\測試代碼\REPEAT.PL0

?????文件????????114??2011-01-09?00:06??編譯原理課程設計\課程設計\測試代碼\YUNSUAN.PL0

?????目錄??????????0??2011-01-08?15:35??編譯原理課程設計\課程設計\測試代碼

?????文件?????233560??2011-01-09?20:58??編譯原理課程設計\課程設計\源程序\Debug\PL0.exe

?????文件?????294652??2011-01-09?20:58??編譯原理課程設計\課程設計\源程序\Debug\PL0.ilk

?????文件??????96596??2011-01-09?20:57??編譯原理課程設計\課程設計\源程序\Debug\PL0.obj

?????文件?????255556??2011-01-08?23:55??編譯原理課程設計\課程設計\源程序\Debug\PL0.pch

?????文件?????574464??2011-01-09?20:58??編譯原理課程設計\課程設計\源程序\Debug\PL0.pdb

?????文件??????41984??2011-01-09?20:58??編譯原理課程設計\課程設計\源程序\Debug\vc60.idb

?????文件??????53248??2011-01-09?20:57??編譯原理課程設計\課程設計\源程序\Debug\vc60.pdb

?????目錄??????????0??2011-01-08?23:53??編譯原理課程設計\課程設計\源程序\Debug

?????文件??????53598??2011-01-09?20:57??編譯原理課程設計\課程設計\源程序\PL0.cpp

?????文件???????3365??2011-01-09?20:57??編譯原理課程設計\課程設計\源程序\PL0.dsp

?????文件????????531??2011-01-09?22:08??編譯原理課程設計\課程設計\源程序\PL0.dsw

?????文件?????233560??2011-01-09?20:58??編譯原理課程設計\課程設計\源程序\PL0.exe

?????文件???????7238??2011-01-09?21:11??編譯原理課程設計\課程設計\源程序\pl0.h

?????文件??????41984??2011-01-09?01:23??編譯原理課程設計\課程設計\源程序\PL0.ncb

?????文件??????48640??2011-01-09?22:08??編譯原理課程設計\課程設計\源程序\PL0.opt

?????文件????????731??2011-01-09?20:58??編譯原理課程設計\課程設計\源程序\PL0.plg

?????目錄??????????0??2011-03-18?13:32??編譯原理課程設計\課程設計\源程序

?????文件????2410496??2011-03-18?13:32??編譯原理課程設計\課程設計\課程設計報告.doc

............此處省略5個文件信息

評論

共有 條評論