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

資源簡介

大連理工大學軟件學院編譯技術課程——詞法分析上機實驗 實驗目的:對循環語句和條件判斷語句編寫詞法分析編譯程序,只能通過一遍掃描完成。(用c++實現) 實驗要求: (1) 關鍵字: for if then else while do 所有關鍵字都是小寫。 (2)運算符和分隔符: : = + - * / <= >= ; ( ) # (3)其他標識符(ID)和整型常數(NUM),通過以下正規式定義: ID=letter(letter | digit)* NUM=digit digit* (4)空格由空白、制表符和換行符組成。空格一般用來分隔ID、NUM、運算符、分隔符和關鍵字,詞法分析階段通常被忽略。 各種詞法單元對應的詞法記號如下: 詞法單元 詞法記號 詞法單元 詞法記號 for 1 : 17 if 2 := 18 then 3 < 20 else 4 21 while 5 23 letter(letter+digit)* 10 >= 24 digit digit* 11 = 25 + 13 ; 26 - 14 ( 27 * 15 ) 28 / 16 # 0 詞法分析程序的功能 輸入:源程序 輸出:二元組(詞法記號,屬性值/其在符號表中的位置)構成的序列。 例如:對源程序 x:=5; if (x>0) then x:=2*x+1/3; else x:=2/x; # 經詞法分析后輸出如下序列: (10,’x’)(18, :=) (11,5) (26, ;) (2, if ) (27,( )…… 1.幾點說明: (1)關鍵字表的初值。 關鍵字作為特殊標識符處理,把它們預先安排在一張表格中(稱為關鍵字表),當掃描程序識別出標識符,查關鍵字表。如能查到匹配的單詞,則該單詞的關鍵字,否則為一般標識符。關鍵表為一個字符串數組,其描述如下: char *keyword[6]={”for”, ”if”, ”then” ,”else”,”while”, ”do” }; (2) 程序中需要用到的主要變量為 token , id和num. 1)id用來存放構成詞法單元的字符串; 2)num用來存放整數(可以擴展到浮點數和科學計數法表示); 3)token用來存放詞法單元的詞法記號。 可以參考下面的代碼: do{ lexical(); //將詞法單元對應的記號保存到token中,屬性值保存到num或者id中 switch(token) { case 11: printf ("(token, %d\n) ", num); break; case -1: printf("error!\n");break; default: printf("(%d,%s)\n", token, id); } }while (token!=0);

資源截圖

代碼片段和文件信息

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????10512??2018-11-19?16:02??test.zip

評論

共有 條評論