2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、<p><b>  編譯技術(shù)課程設(shè)計</b></p><p><b>  一、目的</b></p><p>  <<編譯技術(shù)>>是理論與實踐并重的課程,而其實驗課要綜合運(yùn)用一、二年級所學(xué)的多門課程的內(nèi)容,用來完成一個小型編譯程序。從而鞏固和加強(qiáng)對詞法分析、語法分析、語義分析、代碼生成和報錯處理等理論的認(rèn)識和理解;

2、培養(yǎng)學(xué)生對完整系統(tǒng)的獨(dú)立分析和設(shè)計的能力,進(jìn)一步培養(yǎng)學(xué)生的獨(dú)立編程能力。</p><p><b>  二、任務(wù)及要求</b></p><p><b>  基本要求:</b></p><p>  詞法分析器 產(chǎn)生下述小語言的單詞序列</p><p>  這個小語言的所有的單詞符號,以及它們的種別編碼

3、和內(nèi)部值如下表:</p><p>  對于這個小語言,有幾點(diǎn)重要的限制:</p><p>  首先,所有的關(guān)鍵字(如IF﹑WHILE等)都是“保留字”。所謂的保留字的意思是,用戶不得使用它們作為自己定義的標(biāo)示符。例如,下面的寫法是絕對禁止的:</p><p>  IF(5)=x </p><p>  

4、其次,由于把關(guān)鍵字作為保留字,故可以把關(guān)鍵字作為一類特殊標(biāo)示符來處理。也就是說,對于關(guān)鍵字不專設(shè)對應(yīng)的轉(zhuǎn)換圖。但把它們(及其種別編碼)預(yù)先安排在一張表格中(此表叫作保留字表)。當(dāng)轉(zhuǎn)換圖識別出一個標(biāo)識符時,就去查對這張表,確定它是否為一個關(guān)鍵字。</p><p>  再次,如果關(guān)鍵字、標(biāo)識符和常數(shù)之間沒有確定的運(yùn)算符或界符作間隔,則必須至少用一個空白符作間隔(此時,空白符不再是完全沒有意義的了)。例如,一個條件語句

5、應(yīng)寫為</p><p>  IF i>0 i= 1;</p><p><b>  而絕對不要寫成</b></p><p>  IFi>0 i=1;</p><p>  因為對于后者,我們的分析器將無條件地將IFI看成一個標(biāo)識符。</p><p>  這個小語言的單詞符號的狀態(tài)轉(zhuǎn)換

6、圖,如下圖:</p><p>  語法分析器 能識別由加+ 減- 乘* 除/ 乘方^ 括號()操作數(shù)所組成的算術(shù)表達(dá)式,其文法如下:</p><p>  E→E+T|E-T|T</p><p>  T→T*F|T/F|F</p><p><b>  F→P^F|P</b></p><p><

7、b>  p→(E)|i</b></p><p>  使用的算法可以是:預(yù)測分析法;遞歸下降分析法;算符優(yōu)先分析法;LR分析法等。</p><p>  中間代碼生成器 產(chǎn)生上述算術(shù)表達(dá)式的中間代碼(四元式序列)</p><p><b>  三、實現(xiàn)過程說明</b></p><p>  1、詞法分析器的流

8、程圖</p><p>  2、語法分析器流程圖</p><p>  3、中間代碼生成器流程圖</p><p><b>  四、源程序清單</b></p><p><b>  詞法分析器:</b></p><p>  #include "stdafx.h"&

9、lt;/p><p>  #include "iostream"</p><p>  #include "string"</p><p>  using namespace std;</p><p>  //reserve保留字</p><p>  string reserve[5]

10、= {"DIM","IF","DO","STOP","END"};</p><p>  //結(jié)構(gòu)體數(shù)組,保存已識別的單詞</p><p>  struct table</p><p><b>  {</b></p><p>

11、;  string str;</p><p>  string name;</p><p>  }table[400];</p><p>  int count = 0;</p><p>  //判斷是否為保留字</p><p>  bool Reserve(string str)</p><p&g

12、t;<b>  {</b></p><p>  bool flag = false;</p><p>  for(int i=0; i<sizeof(reserve); i++)</p><p><b>  {</b></p><p>  if(str == reserve[i])</p

13、><p><b>  { </b></p><p>  flag = true;</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p>&

14、lt;p>  return flag;</p><p><b>  }</b></p><p><b>  //讀入源程序</b></p><p>  string readStr() {</p><p><b>  FILE *fp;</b></p>&l

15、t;p>  string str = "";</p><p>  char c, filename[20];</p><p>  cout<<"輸入源文件名:";</p><p>  cin>>filename;</p><p>  if((fp = fopen(filen

16、ame,"r")) == NULL)</p><p><b>  {</b></p><p>  cout<<"file not found"<<endl;</p><p><b>  } else {</b></p><p>  wh

17、ile((c = fgetc(fp)) != EOF)</p><p><b>  { </b></p><p><b>  str += c;</b></p><p><b>  }</b></p><p><b>  }</b></p>

18、<p>  return str;</p><p><b>  }</b></p><p><b>  //將結(jié)果顯示</b></p><p>  void putToFile(struct table tablep[])</p><p><b>  {</b><

19、;/p><p><b>  char ch;</b></p><p>  int i, j, k;</p><p>  for(i=0; i<count; i++)</p><p><b>  {</b></p><p>  for(j=0; j<table[i].s

20、tr.size(); j++)</p><p><b>  {</b></p><p>  ch = table[i].str[j];</p><p><b>  cout<<ch;</b></p><p><b>  }</b></p><p&

21、gt;  cout<<" ";</p><p>  for(k=0; k<table[i].name.size(); k++)</p><p><b>  {</b></p><p>  ch = table[i].name[k];</p><p><b>

22、  cout<<ch;</b></p><p><b>  }</b></p><p>  cout<<endl;</p><p><b>  }</b></p><p>  cout<<"分析完畢!"<<endl;&l

23、t;/p><p><b>  }</b></p><p><b>  //詞法分析</b></p><p>  void lex(string input)</p><p><b>  {</b></p><p><b>  char c;<

24、/b></p><p>  string strToken;</p><p>  int i = 0, n;</p><p>  //i數(shù)組input游標(biāo);n數(shù)組input剩余長度</p><p>  n = input.size();</p><p>  while(n > 0) </p>

25、<p><b>  {</b></p><p>  c = input[i++];</p><p><b>  n --;</b></p><p>  //找到第一個不為空的字符</p><p>  while(c == ' ' || c == '\n' |

26、| c == '\t')</p><p><b>  {</b></p><p>  c = input[i++];</p><p><b>  n --;</b></p><p><b>  }</b></p><p>  if(isa

27、lpha(c)) {</p><p>  while(isalpha(c) || isdigit(c))</p><p><b>  {</b></p><p>  strToken += c;</p><p>  c = input[i++];</p><p><b>  n --;&

28、lt;/b></p><p><b>  }</b></p><p>  i--; //將游標(biāo)回退一位</p><p><b>  n++; </b></p><p>  table[count].str = strToken;</p><p>  if(!Reserv

29、e(strToken))</p><p><b>  {</b></p><p><b>  //不是保留字</b></p><p>  table[count++].name = "$ID";</p><p><b>  } else {</b></

30、p><p>  for(int k=0; k<sizeof(reserve); k++)</p><p><b>  {</b></p><p>  if(strToken == reserve[k])</p><p><b>  {</b></p><p>  table

31、[count++].name = "$"+reserve[k];</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b>&

32、lt;/p><p>  strToken = ""; //清空,以備下次使用</p><p>  } else if(isdigit(c)) {</p><p>  while(isdigit(c))</p><p><b>  {</b></p><p>  strToken

33、 += c;</p><p>  c = input[i++];</p><p><b>  n --;</b></p><p><b>  }</b></p><p><b>  i--;</b></p><p><b>  n++;<

34、/b></p><p>  table[count].str = strToken;</p><p>  table[count++].name = "$INT";</p><p>  strToken = "";</p><p>  } else if(c == '*') {&l

35、t;/p><p>  c = input[i++];</p><p><b>  n--;</b></p><p>  if(c == '*') { </p><p>  table[count].str = "**";</p><p>  table[count+

36、+].name = "$POWER";</p><p><b>  } else {</b></p><p><b>  i--;</b></p><p><b>  n++;</b></p><p>  table[count].str = "*

37、";</p><p>  table[count++].name = "$STAR";</p><p><b>  }</b></p><p><b>  } else {</b></p><p>  strToken += c;</p><p>

38、;  table[count].str = strToken;</p><p>  switch(c) {</p><p>  //暫時識別以下符號</p><p>  case '#' : </p><p>  table[count++].name = "$POUND";</p><

39、p><b>  break;</b></p><p>  case '"' : </p><p>  table[count++].name = "$QUOTE";</p><p><b>  break;</b></p><p>  case &

40、#39;=' : </p><p>  table[count++].name = "$ASSIG";</p><p><b>  break;</b></p><p>  case '+' : </p><p>  table[count++].name = "$P

41、LUS";</p><p><b>  break;</b></p><p>  case ';' :</p><p>  table[count++].name = "$SEMICOLON"; </p><p><b>  break;</b>&

42、lt;/p><p>  case '(' :</p><p>  table[count++].name = "$LPAR";</p><p><b>  break;</b></p><p>  case ')' :</p><p>  table

43、[count++].name = "$RPAR";</p><p><b>  break;</b></p><p>  case '{' : </p><p>  table[count++].name = "$LBRACE";</p><p><b>

44、  break;</b></p><p>  case ',' :</p><p>  table[count++].name = "$COMMA"; </p><p><b>  break;</b></p><p>  case '}' :<

45、;/p><p>  table[count++].name = "$RBRACE"; </p><p><b>  break;</b></p><p>  default : </p><p><b>  count++;</b></p><p>&

46、lt;b>  break;</b></p><p><b>  }</b></p><p>  strToken = "";</p><p><b>  } </b></p><p><b>  }</b></p><p

47、><b>  }</b></p><p>  void main()</p><p><b>  {</b></p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  s

48、tring str;</p><p>  str = readStr();</p><p><b>  lex(str);</b></p><p>  putToFile(table);</p><p><b>  }</b></p><p><b>  }<

49、/b></p><p><b>  語法分析器 :</b></p><p>  #include "stdafx.h"</p><p>  #include<iostream></p><p>  #include<string></p><p>

50、  using namespace std;</p><p><b>  void E();</b></p><p>  void E1();</p><p><b>  void T();</b></p><p>  void T1();</p><p><b>

51、  void F();</b></p><p><b>  string s;</b></p><p><b>  int i;</b></p><p><b>  int ERR;</b></p><p>  int SwitchNum;</p>&

52、lt;p>  int main()</p><p><b>  {</b></p><p><b>  do</b></p><p><b>  {</b></p><p><b>  s="";</b></p>&

53、lt;p><b>  i=0;</b></p><p><b>  ERR=0;</b></p><p>  cout<<"請輸入你要分析的句子:"<<endl;</p><p><b>  cin>>s;</b></p>&

54、lt;p>  s.resize(s.size()+1);</p><p>  s[s.size()-1]='#';</p><p><b>  E();</b></p><p>  if(s[i]=='#')</p><p>  cout<<"是該文法產(chǎn)生的算術(shù)

55、表達(dá)式"<<endl;</p><p><b>  else</b></p><p>  cout<<endl;</p><p>  cout<<"輸入繼續(xù),n退出:";</p><p>  }while(cin>>SwitchNum);<

56、;/p><p><b>  return 0;</b></p><p><b>  }</b></p><p><b>  void E()</b></p><p><b>  { </b></p><p>  if(ERR==0)&l

57、t;/p><p><b>  {</b></p><p><b>  T();</b></p><p><b>  E1();</b></p><p><b>  }</b></p><p><b>  }</b>

58、</p><p><b>  void E1()</b></p><p><b>  {</b></p><p>  if(ERR==0)</p><p><b>  {</b></p><p>  if(s[i]=='+')</p

59、><p><b>  {</b></p><p><b>  ++i;</b></p><p><b>  T();</b></p><p><b>  E1();</b></p><p><b>  }</b>&

60、lt;/p><p>  else if(s[i]!='#'&&s[i]!=')')</p><p><b>  {</b></p><p>  cout<<"不是該文法產(chǎn)生的算術(shù)表達(dá)式"<<endl;</p><p><b>

61、;  ERR=1;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  void T()</b></p><p>&

62、lt;b>  {</b></p><p>  if(ERR==0)</p><p><b>  {</b></p><p><b>  F();</b></p><p><b>  T1();</b></p><p><b>

63、  }</b></p><p><b>  }</b></p><p><b>  void T1()</b></p><p><b>  {</b></p><p>  if(ERR==0)</p><p><b>  {<

64、/b></p><p>  if(s[i]=='*')</p><p><b>  {</b></p><p><b>  ++i;</b></p><p><b>  F();</b></p><p><b>  T1(

65、);</b></p><p><b>  }</b></p><p>  else if(s[i]!='#'&&s[i]!=')'&&s[i]!='+')</p><p><b>  {</b></p><p&g

66、t;  cout<<"不是該文法產(chǎn)生的算術(shù)表達(dá)式"<<endl;</p><p><b>  ERR=1;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  

67、}</b></p><p><b>  void F()</b></p><p><b>  {</b></p><p>  if(ERR==0)</p><p><b>  {</b></p><p>  if(s[i]=='(&#

68、39;)</p><p><b>  {</b></p><p><b>  ++i;</b></p><p><b>  E();</b></p><p>  if(s[i]==')')</p><p><b>  ++i;&

69、lt;/b></p><p>  else if(s[i]== '#')</p><p><b>  {</b></p><p>  cout<<"不是該文法產(chǎn)生的算術(shù)表達(dá)式"<<endl;</p><p><b>  ERR=1;</b&

70、gt;</p><p><b>  ++i;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  else if(s[i]=='i')</p><p><b>  ++i;

71、</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  cout<<"不是該文法產(chǎn)生的算術(shù)表達(dá)式"<<endl;</p><p><b>  ERR=1;</b>

72、</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  中間代碼生成器:</b></p><p>  #include "std

73、afx.h"</p><p>  #include<stdlib.h></p><p>  #include<fstream></p><p>  #include<iostream></p><p>  using namespace std;</p><p>  #de

74、fine MAX 100</p><p>  int m=0,sum=0;//sum用于計算運(yùn)算符的個數(shù)</p><p>  //m用于標(biāo)記輸入表達(dá)式中字符的個數(shù)</p><p>  char JG='A';</p><p>  char str[MAX];//用于存輸入表達(dá)式</p><p>  in

75、t token=0;//左括號的標(biāo)志</p><p>  /***********用于更改計算后數(shù)組中的值**************/</p><p>  void change(int e)</p><p><b>  {</b></p><p>  int f=e+2;</p><p> 

76、 char ch=str[f];</p><p>  if(ch>='A'&&ch<='Z')</p><p><b>  {</b></p><p>  for(int l=0;l<m+10;l++)</p><p><b>  {</

77、b></p><p>  if(str[l]==ch)</p><p>  str[l]=JG;</p><p><b>  }</b></p><p><b>  }</b></p><p>  if(str[e]>='A'&&s

78、tr[e]<='Z')</p><p><b>  {</b></p><p>  for(int i=0;i<m;i++)</p><p><b>  {</b></p><p>  if(str[i]==str[e])</p><p>  st

79、r[i]=JG;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void chengchuchuli(int i,int m)</p><p><b&g

80、t;  {</b></p><p><b>  i++;</b></p><p>  for( ;i<=m-1;i++)//處理乘除運(yùn)算</p><p><b>  {</b></p><p>  if(str[i]=='*'||str[i]=='/'

81、;) </p><p><b>  {</b></p><p>  cout<<"("<<str[i]<<" "<<str[i-1]<<" "<<str[i+1]<<" "<<JG<

82、<")"<<endl;</p><p>  change(i-1);</p><p>  str[i-1]=str[i]=str[i+1]=JG;</p><p><b>  sum--;</b></p><p>  JG=(char)(int)JG++;</p>&l

83、t;p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void jiajianchuli(int j,int m)</p><p><b>  {</b></p>

84、;<p><b>  j++;</b></p><p>  for( ;j<=m-1;j++)//處理加減運(yùn)算</p><p><b>  {</b></p><p>  if(str[j]=='+'||str[j]=='-') </p><p>

85、<b>  {</b></p><p>  cout<<"("<<str[j]<<" "<<str[j-1]<<" "<<str[j+1]<<" "<<JG<<")"<<

86、;endl;</p><p>  change(j-1);</p><p>  str[j-1]=str[j]=str[j+1]=JG;</p><p><b>  sum--;</b></p><p>  JG=(char)(int)JG++;</p><p><b>  }</

87、b></p><p><b>  }</b></p><p><b>  }</b></p><p>  /*掃描一遍從文件中讀入表達(dá)式*/</p><p>  void scan(FILE *fin)</p><p><b>  { </b>

88、</p><p>  int p[MAX];</p><p>  char ch='a';</p><p>  int c=-1,q=0;</p><p>  while(ch!=EOF)</p><p><b>  {</b></p><p>  ch=g

89、etc(fin);</p><p>  while(ch==' '||ch=='\n'||ch=='\t') ch=getc(fin);//消除空格和換行符</p><p>  str[m++]=ch;</p><p>  if(ch=='='||ch=='+'||ch=='-&

90、#39;||ch=='*'||ch=='/') sum++;</p><p>  else if(ch=='(') </p><p><b>  {</b></p><p>  p[++c]=m-1;</p><p><b>  }</b></p

91、><p>  else if(ch==')')</p><p><b>  {</b></p><p><b>  q=m-1;</b></p><p>  chengchuchuli(p[c],q);//從左括號處理到又括號</p><p>  jiajianc

92、huli(p[c],q); </p><p>  JG=(char)(int)JG--;</p><p>  str[p[c]]=str[m-1]=JG;</p><p><b>  c--;</b></p><p>  JG=(char)(int)JG++;</p><

93、;p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  /*對表達(dá)是進(jìn)行處理并輸出部分四元式*/</p><p>  void siyuanshi()</p><p>&l

94、t;b>  {</b></p><p>  for(int i=0;i<=m-1;i++)//處理乘除運(yùn)算</p><p><b>  {</b></p><p>  if(str[i]=='*'||str[i]=='/') </p><p><b>  

95、{</b></p><p>  cout<<"("<<str[i]<<" "<<str[i-1]<<" "<<str[i+1]<<" "<<JG<<")"<<endl;</

96、p><p>  change(i-1);</p><p>  str[i-1]=str[i]=str[i+1]=JG;</p><p><b>  sum--;</b></p><p>  JG=(char)(int)JG++;</p><p><b>  }</b></p

97、><p><b>  }</b></p><p>  for(int j=0;j<=m-1;j++)//處理加減運(yùn)算</p><p><b>  {</b></p><p>  if(str[j]=='+'||str[j]=='-') </p><

98、;p><b>  {</b></p><p>  cout<<"("<<str[j]<<" "<<str[j-1]<<" "<<str[j+1]<<" "<<JG<<")"&

99、lt;<endl;</p><p>  change(j-1);</p><p>  str[j-1]=str[j]=str[j+1]=JG;</p><p><b>  sum--;</b></p><p>  JG=(char)(int)JG++;</p><p><b>  

100、}</b></p><p><b>  } </b></p><p>  for(int k=0;k<=m-1;k++)//處理賦值運(yùn)算</p><p><b>  {</b></p><p>  if(str[k]=='=') </p><p&

101、gt;<b>  {</b></p><p>  JG=(char)(int)--JG;</p><p>  cout<<"("<<str[k]<<" "<<str[k+1]<<" "<<" "<<&

102、quot; "<<str[k-1]<<")"<<endl;</p><p><b>  sum--;</b></p><p>  change(k+1);</p><p>  str[k-1]=JG;</p><p><b>  }</b&

103、gt;</p><p><b>  }</b></p><p><b>  }</b></p><p>  /***************主函數(shù)*******************/</p><p>  void main(){</p><p>  char in[MAX

104、]; //用于接收輸入輸出文件名</p><p>  FILE *fin; //用于指向輸入輸出文件的指針</p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  cout<<"請輸入源程序文件名(例如ceshi.txt

105、):";</p><p><b>  cin>>in;</b></p><p>  cout<<endl;</p><p>  if ((fin=fopen(in,"r"))==NULL) //判斷輸入文件名是否正確</p><p><b>  {</

106、b></p><p>  cout<<endl<<"打開詞法分析輸入文件出錯!"<<endl;</p><p><b>  }</b></p><p>  cout<<"四元式如下:"<<endl;</p><p>

107、  scan(fin);//調(diào)用函數(shù)從文件中讀入表達(dá)式 </p><p>  /********調(diào)用生成四元式的函數(shù)********/</p><p>  siyuanshi();</p><p>  /*********判斷是否成功**********/</p><p>  if(sum==0) cout<<"成功!

108、"<<endl;</p><p>  else cout<<"有錯誤!"<<endl;</p><p><b>  //關(guān)閉文件</b></p><p>  fclose(fin);</p><p><b>  }</b></

109、p><p><b>  }</b></p><p><b>  五、程序運(yùn)行結(jié)果</b></p><p><b>  詞法分析器</b></p><p><b>  測試用例:</b></p><p>  DIM IF DO SDOP

110、END 76 = + * ** , ( )</p><p><b>  語法分析器</b></p><p><b>  測試用例:</b></p><p> ?。?)輸入i,預(yù)期顯示:是該文法產(chǎn)生的算術(shù)表達(dá)式</p><p> ?。?)輸入a,預(yù)期顯示:不是該文法產(chǎn)生的算術(shù)表達(dá)式&l

111、t;/p><p> ?。?)輸入((((i+i*i)))),預(yù)期顯示:是該文法產(chǎn)生的算術(shù)表達(dá)式</p><p> ?。?)輸入(i+i,預(yù)期顯示:不是該文法產(chǎn)生的算術(shù)表達(dá)式</p><p><b>  中間代碼生成器:</b></p><p><b>  測試用例</b></p><

112、p><b>  x=i+i</b></p><p><b>  y=i*i</b></p><p><b>  z=i</b></p><p><b>  a=(i+i)*i</b></p><p>  b=(i+i)*i+i*i</p>

113、<p><b>  六、總結(jié)</b></p><p>  本課程設(shè)計程序是以C語言為基礎(chǔ),并整合了C、C++等一些編譯語言的思想,能夠?qū)崿F(xiàn)對整數(shù)的四則運(yùn)算以及相應(yīng)的賦值語句、條件語句和循環(huán)語句,其中以遞歸的思想實現(xiàn)了詞法分析、語法分析和語義分析,最終結(jié)果使用四元式輸出。增加了對注釋的分析,并能夠?qū)崿F(xiàn)文件的讀入,大大地增強(qiáng)了程序的可用性和效率。美中不足的是程序中沒有類型檢查、沒

114、有布爾表達(dá)式的分析,結(jié)果只以中間代碼(四元式)表示,沒有生成目標(biāo)代碼,還有受文件操作的限制分析的程序不支持中文,這些也希望在以后的日子里繼續(xù)學(xué)習(xí)和完成。</p><p>  做這份課程設(shè)計也用了近一周的時間,整體來說對課本的知識的鞏固和對自己的編程思想都有一定的好處,通過課程設(shè)計使我進(jìn)一步鞏固課堂上所學(xué)的理論知識,深化理解和靈活掌握教學(xué)內(nèi)容,培養(yǎng)獨(dú)立思考問題、分析問題、解決實際問題的動手能力,使我了解到編譯原理與

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論