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

資源簡介

編譯原理實驗,實現了一個詞法分析器生成Token序列。中間代碼、四元式生成。含有實驗報告。

資源截圖

代碼片段和文件信息

#include
#include
#include?
#include?
#include?

using?namespace?std;

void?printMenu();//打印菜單這個函數的聲明

/******************************************實驗一所用函數*********************************************************/
char?keywords[30][12]={“program““begin““end““var““while““do““repeat“
“until““for““to““if““then““else““;“?“:“?“(“?“)“?““
?“:=“?“+“?“-“?“*“?“/“?“>“?“>=“?“==“?“<“?“<=“};
int?num_key=28;
int?aut[11][8]={?0?0?0?0?0?0?0?0
?????????0?2?0?0?0?8?915
?????????????0?2?3?511?0?011
?????????????0?4?0?0?0?0?0?0
?????????????0?4?0?511?0?011
?????????????0?7?0?0?6?0?0?0
?????????????0?7?0?0?0?0?0?0
?????????????0?7?0?011?0?011
?????????????0?8?0?0?0?8?012
?????????????0?0?0?0?0?01014
?????????????0?0?0?0?0?0?013};
char?ID[50][12];
int?C[20];
int?num_ID=0num_C=0;

struct?token
{?int?code;
??int?value;
};????????????????????????????????????//Token結構
struct?token?tok[100];????????????????????//Token數組
int?i_token=0num_token=0;??????????????//Token計數器和Token個數
char?strTOKEN[15];????????????????????//當前單詞
int?i_str;??????????????????????????????//當前單詞指針
int?npmet;???????????????????????????//尾數值,指數值,小數位數,指數符號,類型
double?num;???????????????????????????//常數值
char?w[50];????????????????????????????//源程序緩沖區
int?i;??????????????????????????????????//源程序緩沖區指針當前字符為w[i]

struct?map?????????????????????????????//當前字符到狀態轉換矩陣列標記的映射
{
char?str[50];
int?col;
};
struct?map?col1[4]={{“0123456789“1}{“.“2}{“Ee“3}{“+-“4}};????//數字
struct?map?col2[2]={{“abcdefghijklmnopqrstuvwxyz“5}{“0123456789“1}};?//關鍵字或標識符
struct?map?col3[1]={{“;:()+-*/=><“6}};????????????????????//界符
struct?map?*ptr;
int?num_map;

void?act(int?s);
int?find(int?schar?ch);
int?InsertConst(double?num);
int?Reserve(char?*str);
int?InsertID(char?*str);

//實驗一中函數的實現
void?act(int?s)
{
int?code;
switch?(s)
{
case?1:n=0;m=0;p=0;t=0;e=1;num=0;i_str=0;
???strTOKEN[i_str]=‘\0‘;???????????????????//其它變量初始化
???break;
????case?2:n=10*n+w[i]-48;
???????break;
????case?3:t=1;
???break;
????case?4:n=10*n+w[i]-48;?m++;
???break;
????case?5:t=1;
???break;
????case?6:if?(w[i]==‘-‘)?e=-1;
???break;
????case?7:p=10*p+w[i]-48;
???break;
????case?8:strTOKEN[i_str++]=w[i];??//將ch中的符號拼接到strTOKEN的尾部;
??break;
????case?9:strTOKEN[i_str++]=w[i];??//將ch中的符號拼接到strTOKEN的尾部;
??break;
case?10:strTOKEN[i_str++]=w[i];?//將ch中的符號拼接到strTOKEN的尾部;
???break;
????case?11:num=n*pow(10.0e*p-m);???????????//計算常數值
???????????tok[i_token].code=2;??tok[i_token++].value=InsertConst(num);??//生成常數Token
????????????num_token++;
break;
case?12:strTOKEN[i_str]=‘\0‘;
???????????code=Reserve(strTOKEN);???????????????????//查關鍵字表
???????????if?(code)?
? ???{?
???tok[i_token].code=code;??tok[i_token++].value=0;
???}???//生成關鍵字Token
else?
{?tok[i_token].co

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

?????文件????????134??2011-10-30?15:42??編譯原理實驗\readme.txt

?????文件??????88064??2011-10-28?14:42??編譯原理實驗\SimpleComplier\Debug\SimpleComplier.exe

?????文件?????604764??2011-10-28?14:42??編譯原理實驗\SimpleComplier\Debug\SimpleComplier.ilk

?????文件?????887808??2011-10-28?14:42??編譯原理實驗\SimpleComplier\Debug\SimpleComplier.pdb

?????文件?????????73??2011-10-28?13:05??編譯原理實驗\SimpleComplier\SimpleComplier\code.txt

?????文件???????9844??2011-10-28?14:42??編譯原理實驗\SimpleComplier\SimpleComplier\Debug\BuildLog.htm

?????文件?????????67??2011-10-28?14:42??編譯原理實驗\SimpleComplier\SimpleComplier\Debug\mt.dep

?????文件????????663??2011-10-28?12:56??編譯原理實驗\SimpleComplier\SimpleComplier\Debug\SimpleComplier.exe.embed.manifest

?????文件????????728??2011-10-28?12:56??編譯原理實驗\SimpleComplier\SimpleComplier\Debug\SimpleComplier.exe.embed.manifest.res

?????文件????????621??2011-10-28?14:42??編譯原理實驗\SimpleComplier\SimpleComplier\Debug\SimpleComplier.exe.intermediate.manifest

?????文件?????227033??2011-10-28?14:42??編譯原理實驗\SimpleComplier\SimpleComplier\Debug\simpleComplier.obj

?????文件?????199680??2011-10-28?14:42??編譯原理實驗\SimpleComplier\SimpleComplier\Debug\vc90.idb

?????文件?????241664??2011-10-28?14:42??編譯原理實驗\SimpleComplier\SimpleComplier\Debug\vc90.pdb

?????文件??????10006??2011-10-28?14:42??編譯原理實驗\SimpleComplier\SimpleComplier\simpleComplier.cpp

?????文件???????4000??2011-10-28?13:06??編譯原理實驗\SimpleComplier\SimpleComplier\SimpleComplier.vcproj

?????文件???????1427??2011-10-28?15:53??編譯原理實驗\SimpleComplier\SimpleComplier\SimpleComplier.vcproj.NEU-C631077854A.wanyao.user

?????文件????2313216??2011-10-28?15:53??編譯原理實驗\SimpleComplier\SimpleComplier.ncb

?????文件????????908??2011-10-28?12:55??編譯原理實驗\SimpleComplier\SimpleComplier.sln

????..A..H.?????13824??2011-10-28?15:53??編譯原理實驗\SimpleComplier\SimpleComplier.suo

?????文件?????243712??2011-11-01?15:30??編譯原理實驗\編譯實驗報告最終版.doc

?????目錄??????????0??2011-10-30?15:39??編譯原理實驗\SimpleComplier\SimpleComplier\Debug

?????目錄??????????0??2011-10-30?15:39??編譯原理實驗\SimpleComplier\Debug

?????目錄??????????0??2011-10-30?15:39??編譯原理實驗\SimpleComplier\SimpleComplier

?????目錄??????????0??2011-10-30?15:39??編譯原理實驗\SimpleComplier

?????目錄??????????0??2011-11-01?15:30??編譯原理實驗

-----------?---------??----------?-----??----

??????????????4848236????????????????????25


評論

共有 條評論