1、 詞法分析的功能:
詞法分析器的主要任務是讀入源程式的輸入字元、將它們組成詞素,生成並輸出乙個詞法單元序列,每個詞法單元對應於乙個詞素。
當詞法分析器發現了乙個識別符號的詞素時,要將這個詞素新增到符號表中。
其他任務:
詞法分析器的兩個級聯的處理階段:
掃瞄階段:簡單處理,刪除注釋,壓縮空白字元。
詞法分析階段:處理掃瞄階段的輸出並生成詞法單元。
2、符號與種別碼對照表
單詞符號
begin
ifthen
while
doend+-
*/:: =
種別碼123
45613
1415
1617
18單詞符號
<
<>
<=
>
>==;
()letter(letter|digit)
digit digit*
種別碼20
2122
2324
2526
2728
1011
二。符號與種別碼的對照表以及源程式。
我所做的詞法分析程式和大多數程式差不多,也有著很多的不足,我將需要進行翻譯的各種單詞符號的對應的種別碼分成了若干個陣列,並且在後期的修改中將老師的種別表進行了擴充,具體的功能是:輸入需要翻譯的東西作為字串儲存在a的陣列中,用字元ch來儲存乙個個的字元,在一次的迴圈中翻譯出乙個個種別類並將其用(,)來顯示出來,一次迴圈,用陣列token儲存,進行下一次迴圈的同時清除裡面的資料,方便進行下一次的翻譯與儲存。大致是如此。
源**如下:
/*這是我定義的種別類 符號:
@ 0 # 33
auto 1
break 2
case 3
char 4
const 5
continue 6
default 7
do 8
double 9
else 10
enum 11
extern 12
float 13
for 14
goto 15
if 16
int 17
long 18
register 19
return 20
short 21
signed 22
sizeof 23
static 24
struct 25
switch 26
typedef 27
union 28
unsigned 29
void 30
volatile 31
while 32
end 33
include 34
stdio 35
string 36
main 37
stdlib 38
qita 100
number 40
# 33
<= 41
>= 42
== 43
:= 44
<> 45
< 46
> 47
= 48
: 49
+ 50
- 51
* 52
/ 53
( 54
) 55
57; 58
. 59
*/三 .用文法描述詞法規則。
這個概念我不是太懂,但是也說說自己的理解和想法。
首先是文法形式的定義:a-〉b ,a代表的是左部符號,『-〉』意思是為生成,而b代表的是右部的符號串。
有著終結符號:如0,1:1.組成語言的終止符。2.基本有小寫字母組成。
文法(vn,vt,p,s)
就比如說:a->a|b|e|aa|ae|ao|a
vn = ,
vt =
p=s = a .
其實a-〉aa 就代表著迴圈的意思,每進行一次,就會增加乙個a,假如a-〉aaa,意思就是每迴圈一次,就增加aa,所以暫時也就是理解到了這個意思,然後通過幾道題來強化自己的理解。
就好比q=,l=
首先是看好n的取值範圍,然後看n具體指了多少個,那麼就比如一起來進行迴圈,這個題a,b都有n,但是是分開的,所以不用一起進行。
解題思路如下:
1.增長的趨勢:a^2n,aa aaaa aaaaaa........
b^2n,bb bbbb bbbbbb.......
2.迴圈規律:a->aa a->aaa
b->bb b->bbb
3.s->a|b
a->aa|aaa // 意思是aa為開頭,迴圈不斷增加aa
b->bb|bbb // 意思是bb為開頭,迴圈不斷增加bb
9月9號作業
優點 敲完一條命令,馬上就能看到結果 缺點 無法儲存優點 能以檔案的形式儲存 缺點 檔案永久儲存在硬碟中,並且開啟檔案後,會讀一行翻譯一行當沒有變數名指向變數值時,會消除變數值存在記憶體中的儲存空間 x 10 y 10 z 10 del y10的引用計數為多少?引用計數 2個x 257 y x de...
3月9號總結
3月9號總結 心情 開心 開支 18 收入 500 昨天晚上破解了智睿的乙個商業 今天有點小回報 今天上網檢查了y老師的oask系統,發現一漏洞,我和王凡討論未來計畫,打算做外掛程式,這方面都沒怎麼接觸,moyo哥也參加了,我相信很快就能成功 製作了個半成品的vb 漏洞查詢工具,有這東西,那些0da...
1月30號到31號總結
作為新的一年的第乙個月的最後兩天,這篇部落格也是有一定的意義的吧。一月三十號這一天,我主要完成的就是最小生成樹的克魯斯卡爾演算法,然後完成了最小生成樹這一演算法的總結,具體放在了這裡。這是在學習上的成果,這天下午,我們進行了集訓隊一年一度的搬宿舍活動。額額。其實就是寒假了,學校要將我們這些留校生集中...