詞法分析
1 試驗(yàn)?zāi)康?
設(shè)計(jì),編制并調(diào)試一個(gè)此法分析程序,加深對(duì)此法分原理的理解.
2 試驗(yàn)要求
1)待分析的簡(jiǎn)單語(yǔ)言的詞法
* 關(guān)鍵字:
begin if then while do end
所有關(guān)鍵字都是小寫.
2)運(yùn)算符和界符:
: = + * - / < <= <> > >= = ( ) #
3)其他單詞是標(biāo)識(shí)符(ID)和整數(shù)型常數(shù)(NUM),通過(guò)一下正規(guī)式定義:
ID=letter (letter|digit)*
NUM=digit digit*
4)空格由空白,制表符和換行符組成,空格一般用來(lái)分隔ID,NUM,運(yùn)算符,界符和關(guān)鍵字,此法分析階段通常被忽略.
3 各種單詞符號(hào)對(duì)應(yīng)的種別碼如表所示
標(biāo)簽:
begin
分
then
whi
上傳時(shí)間:
2017-01-08
上傳用戶:dongqiangqiang
本題要完成的是一組簡(jiǎn)單C表達(dá)的運(yùn)算。所有表達(dá)式存放在文件 CExpression.txt 中,每個(gè)表達(dá)式一行。每行的長(zhǎng)度不會(huì)超過(guò)80個(gè)字符。文件最后有一個(gè)空行表示結(jié)束。
每個(gè)表達(dá)式,只包含簡(jiǎn)單的整數(shù)變量和限定的一些操作符,表達(dá)式中沒有常量。總共有26個(gè)可能出現(xiàn)在表達(dá)式中的變量,分別命名為 a,b,...,z。每個(gè)變量最多出現(xiàn)一次。26個(gè)變量的初值分別為1,2,...,26。
表達(dá)式中的操作符,包括:兩個(gè)二元操作符 +, -,表示加,減運(yùn)算。例如,表達(dá)式a+c-d+b(即1+3-4+2)的結(jié)果為2。 單獨(dú)一個(gè)-號(hào)不能放在變量前面,表示負(fù)數(shù)。
表達(dá)式中還包含兩個(gè)一元運(yùn)算符:++,--,表示加一和減一運(yùn)算。它們既可以出現(xiàn)在一個(gè)變量的前面、也可以出現(xiàn)在后面。如果出現(xiàn)在變量前面,則表示先對(duì)變量進(jìn)行加一/減一運(yùn)算,然后變量值參與表達(dá)式計(jì)算。如果出現(xiàn)在變量后面,則表示變量的原值參與表達(dá)式計(jì)算,表達(dá)式計(jì)算完之后,變量值加一/減一。
例如,表達(dá)式 -- c + b-- 的結(jié)果為 4, 表達(dá)式計(jì)算完之后, b,c的值分別為1,2
輸出格式要求:輸出直接顯示在屏幕上。對(duì)于每個(gè)表達(dá)式,第一行輸出表達(dá)式的內(nèi)容。第二行輸出表達(dá)式的值,后面幾行輸出參與運(yùn)算的各個(gè)變量的結(jié)果值。
標(biāo)簽:
CExpression
txt
運(yùn)算
表達(dá)式
上傳時(shí)間:
2017-01-17
上傳用戶:cjf0304