西北工業(yè)大學(xué)數(shù)據(jù)庫(kù)編輯作業(yè)_第1頁(yè)
西北工業(yè)大學(xué)數(shù)據(jù)庫(kù)編輯作業(yè)_第2頁(yè)
西北工業(yè)大學(xué)數(shù)據(jù)庫(kù)編輯作業(yè)_第3頁(yè)
西北工業(yè)大學(xué)數(shù)據(jù)庫(kù)編輯作業(yè)_第4頁(yè)
西北工業(yè)大學(xué)數(shù)據(jù)庫(kù)編輯作業(yè)_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

用c語(yǔ)言編譯where子句2008年11月8日數(shù)據(jù)庫(kù)表格SnumberSnameSsexSageSdept06311男21計(jì)算機(jī)06423女21微電子06671男19航空06712女20法律匯編語(yǔ)言基礎(chǔ)文法G[S]:它可表示成形如(Vt,Vn,P,S)的四元式。其中是非終結(jié)符號(hào)集,是終結(jié)符號(hào)集,產(chǎn)生式和開(kāi)始符號(hào)。遞歸文法:許多無(wú)限的語(yǔ)言仍可用有限個(gè)產(chǎn)生式既用有限的文法來(lái)描述。狀態(tài)轉(zhuǎn)換圖:是一組矢線連接的有限個(gè)結(jié)點(diǎn)所組成的有向圖。每個(gè)結(jié)點(diǎn)均代表在識(shí)別過(guò)程中掃描器所處的狀態(tài)。左(右)推導(dǎo):是指對(duì)一個(gè)推導(dǎo)序列中的每一直接推導(dǎo),被替換的總是當(dāng)前符號(hào)中的最左(右)非終結(jié)符號(hào)集。自頂向下的語(yǔ)法分析:就是對(duì)已給的輸入符號(hào)串w,試圖自上向下為它構(gòu)造一棵語(yǔ)法樹(shù)。遞歸向下法:是指對(duì)文法的每一個(gè)非終結(jié)符號(hào),都根據(jù)相應(yīng)產(chǎn)生式各候選式的結(jié)構(gòu),為其編寫一個(gè)子程序,用來(lái)識(shí)別該非終結(jié)符號(hào)所表示的語(yǔ)法范疇。中間代碼:是指把單詞符號(hào)串形式的源程序轉(zhuǎn)換為另一種等價(jià)的表示,而這種表示更便于以后的代碼優(yōu)化處理和目標(biāo)代碼生成工作。逆波蘭表達(dá)式:我們通常把波蘭表達(dá)式。后綴表達(dá)式稱為逆波蘭表達(dá)式。屬性:一個(gè)文法符號(hào)X∈Vn∪Vt的語(yǔ)義性質(zhì)稱為該文法符號(hào)的語(yǔ)義屬性(SemanticAttributes).常用的查詢條件查詢條件謂詞比較<,<=,>,>=,==,!=確定范圍BETWEENAND,NOTBETWEENAND確定集合IN,NOTIN字符匹配LIKE,NOTLIKE空值ISNULL,NOTISNULL多重條件AND,OR非終結(jié)符號(hào)集合和終結(jié)符號(hào)集合表序號(hào)符號(hào)

值1<NULL2<=NULL3>NULL4>=NULL5==NULL6!=NULL7ANDVALUE8ORVALUE序號(hào)符號(hào)

值9INVALUE10NOTINVALUE11LIKEVALUE12NOTLIKEVALUE13ISNLLVALUE14ISNOTNULLVALUE序號(hào)符號(hào)值15BETWEENANDNULL16NOTBETWEENANDNULL17SnumberVALUE18SnameVALUE19SsexVALUE20SageVALUE21SdeptVALUE非終結(jié)符號(hào)集合和終結(jié)符號(hào)集合表舉例說(shuō)明:

我們用以下的例子簡(jiǎn)要地說(shuō)明計(jì)算機(jī)如何檢測(cè)和識(shí)別where子句。例1:Sage<=22詞法分析(LexicalAnalysis)

詞法分析:就是把依次輸入的字符流轉(zhuǎn)換成具有獨(dú)立意義的單詞流。確定的有限自動(dòng)機(jī)(FA):我們把這五個(gè)元素組成的五元式M=(K,∑,f,So,Z)稱為確定的有限自動(dòng)機(jī)DFA(DeterministicFiniteAutomatic)。狀態(tài)圖:是由一組連接的有限個(gè)結(jié)點(diǎn)組成的有向圖。每個(gè)結(jié)點(diǎn)均代表在識(shí)別過(guò)程或分析過(guò)程中掃描器所處的狀態(tài)。正規(guī)文法:我們把左線性文法和右線性文法統(tǒng)稱為3型文法。例1的狀態(tài)圖1234例1:Sage<=22

對(duì)于上面所列的文法G[<where>],若把<where>,<Sage>,<<=>,<22>分別表示為編號(hào)1,2,3,4。whereSage<=22語(yǔ)法分析(SyntaxAnalysis)語(yǔ)法分析:它是以單詞流作為輸入,并根據(jù)語(yǔ)言的與法規(guī)則,分析源程序的語(yǔ)法結(jié)構(gòu),而且對(duì)源程序進(jìn)行語(yǔ)法檢查。注意:在語(yǔ)法分析過(guò)程中,要消除大量的回溯和文法中的左遞歸。通常用遞歸下降法和LL(1)消除回溯。預(yù)測(cè)分析法LL(1):是一種比遞歸子程序發(fā)更為有效的自頂向下語(yǔ)法分析方法,采用此種方法的分析器由一張預(yù)測(cè)分析表、一個(gè)控制程序和一個(gè)分析站組成。自頂向下分析法:是對(duì)已給的輸入符號(hào)串w,試圖自上向下地為它構(gòu)造一棵語(yǔ)法樹(shù)?;蛘哒f(shuō),從文法的開(kāi)始符號(hào),為w構(gòu)造一個(gè)最左推導(dǎo)。語(yǔ)法樹(shù)whereSnumberSnameSsexSageSdept比較多重條件確定范圍空值字符匹配確定集合<<=>>===!=屬性列的值查找的結(jié)果

因繪制語(yǔ)法樹(shù)比較復(fù)雜,我只繪制舉例中的部分語(yǔ)法樹(shù),其余的語(yǔ)法樹(shù)大部分雷同。語(yǔ)義分析(SemanticAnalysis)語(yǔ)義分析:是對(duì)文法中的每個(gè)產(chǎn)生式都附加一個(gè)語(yǔ)義動(dòng)作或語(yǔ)義子程序,且在語(yǔ)法分析過(guò)程中,每當(dāng)需要使用一個(gè)產(chǎn)生式進(jìn)行推導(dǎo)或歸約時(shí),語(yǔ)法分析程序除了執(zhí)行語(yǔ)法動(dòng)作外,還要執(zhí)行語(yǔ)義動(dòng)作或語(yǔ)義子程序。屬性文法AG:是一個(gè)形如AG=(G,A,R,B)的四元組,其中:G=(Vt,Vn,S,P)是已簡(jiǎn)化的前后無(wú)關(guān)文法;A=∈A(X)是屬性的有限集合;R=∈R(P)是屬性定義規(guī)則的有限集;而B(niǎo)=∈B(P)是條件的有限集。屬性翻譯文法ATG(AttributeTranslationGrammar):是具有以下性質(zhì)的翻譯文法,1.每個(gè)文法符號(hào)和語(yǔ)義動(dòng)作符號(hào)X都有一個(gè)相關(guān)的有限集合A(X),且每個(gè)屬性都有一個(gè)允許值的集合。2.每個(gè)非終結(jié)符號(hào)和動(dòng)作符號(hào)的屬性可分為繼承性與綜合性兩類。3.繼承性和綜合性的定義規(guī)則各不相同。中間代碼生成:是指把單詞符號(hào)串形式的源程序轉(zhuǎn)換成為另一種等價(jià)的表示,而且這種表示更便于以后的代碼優(yōu)化出來(lái)和目標(biāo)代碼的生成。目前常見(jiàn)的中介代碼是逆波蘭表示、三元式和四元式。語(yǔ)義樹(shù)whereSnumberSnameSsexSageSdept比較多重條件確定范圍空值字符匹配確定集合<<=>>===!=屬性列的值查找的結(jié)果語(yǔ)義子程序語(yǔ)義動(dòng)作語(yǔ)義子程序語(yǔ)義動(dòng)作語(yǔ)義子程序語(yǔ)義子程序語(yǔ)義動(dòng)作語(yǔ)義子程序語(yǔ)義動(dòng)作語(yǔ)義動(dòng)作語(yǔ)義子程序語(yǔ)義動(dòng)作語(yǔ)義動(dòng)作語(yǔ)義子程序

語(yǔ)義樹(shù):既為語(yǔ)法樹(shù)的每個(gè)結(jié)點(diǎn)添加語(yǔ)義子程序和語(yǔ)義動(dòng)作兩個(gè)屬性。目標(biāo)代碼(ObjectCodeGeneration)目標(biāo)代碼:將語(yǔ)義分析的中間代碼作為輸入,翻譯成計(jì)算機(jī)能夠直接識(shí)別的程序,通常翻譯成匯編語(yǔ)言的形式。代碼優(yōu)化:首先主要考慮生成的目標(biāo)代碼占用盡量少的內(nèi)存空間,其次考慮生成的目標(biāo)代碼的執(zhí)行時(shí)間盡量短,盡量訪問(wèn)寄存器少訪問(wèn)內(nèi)存。存儲(chǔ)組織:是指目標(biāo)代碼在運(yùn)行時(shí)對(duì)內(nèi)存的使用和再使用的安排。盡量可能滿足對(duì)內(nèi)存使用的合理性和經(jīng)濟(jì)性,以及對(duì)程序中各個(gè)數(shù)據(jù)和實(shí)體訪問(wèn)的方便性。符號(hào)表:符號(hào)表一般由兩欄組成,第一欄為名字欄,用來(lái)存放標(biāo)識(shí)符或其內(nèi)部碼;另一欄為信息欄,一般由若干個(gè)子欄來(lái)記錄與該項(xiàng)名字相對(duì)應(yīng)的隔著那個(gè)屬性和特征。目標(biāo)代碼的存儲(chǔ)

既例1:Sage<=22最終的目標(biāo)代碼如何在堆棧中存儲(chǔ):SP棧底Sage圖(a)POP()

SP是棧頂指針,POP()是出棧函數(shù),PUSH()是入棧函棧數(shù),以上是目標(biāo)代碼如何入出棧。棧底圖(c)圖(b)<=棧底SPSagePOP()PUSH()PUSH()執(zhí)行后的結(jié)果棧底Sage結(jié)果棧底SPSagePUSH()PUSH()POP()小結(jié)

通過(guò)學(xué)習(xí)數(shù)據(jù)庫(kù)管理系統(tǒng)這門課程和做這次大作業(yè),不僅使我加深了對(duì)數(shù)據(jù)庫(kù)中的基本知識(shí)點(diǎn)的理解;而且也對(duì)匯編語(yǔ)言有膚淺的了解,它讓我知道where子句如何被計(jì)算機(jī)檢測(cè)和識(shí)別最終將運(yùn)行的結(jié)果反饋給用戶。在此,我對(duì)袁老是和我班的同學(xué)給予的幫助和支持深表謝意。課程設(shè)計(jì)運(yùn)行結(jié)果

謝謝2008年11月8日人

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論