




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、編譯原理上機(jī)報告DBMS勺設(shè)計與實(shí)現(xiàn)完成時間:20年 月日精品文檔知識共享1 .項(xiàng)目概況31.1 基本目標(biāo)31.2 完成情況31.3 邏輯結(jié)構(gòu)與物理結(jié)構(gòu)(由于語義制導(dǎo)沒做,所以這部分沒寫) 61.4 語法結(jié)構(gòu)與數(shù)據(jù)結(jié)構(gòu)(由于語義制導(dǎo)沒做,這里只給出語法結(jié)構(gòu)).61.5 執(zhí)行流程71.6 功能測試72 .總結(jié)與未來工作92.1 未完成功能92.2 未來實(shí)現(xiàn)方案 91 .項(xiàng)目概況1.1 基本目標(biāo)本次項(xiàng)目主要的目標(biāo)是 DBMS的設(shè)計與實(shí)現(xiàn),即完成 SQL語句的語法制導(dǎo)解釋,通過這次項(xiàng)目,加深對編譯原理課程的理解,掌握詞法與語法的制導(dǎo)過程,熟悉Lex和Yacc的使用。1.2 完成情況目前完成的功能是S
2、QL詞法分析器和語法分析器,下面介紹一下具體的實(shí)現(xiàn)情況。1 .完成的語句:CREATE DATABASES xCREATE TABLE xSHOW TABLESDROP TABLESINSERT INTO x VALUES xSELECT x FROM xSELECT x FROM x WHERE xSELECT x FROM x GROUP BY xDELETE FROM x WHERE xUPDATE x SET x WHERE x2 .識別出的關(guān)鍵字如下:ID NUMBER CREATE TABLE CHAR INT SELECT GROUP FROM WHERE AND OR DROP
3、 SHOWINSERT INTO BY V ALUES DATABASE TABLES UPDATE DELETE SET OR AND3 .識別出的符號如下:<>=()!,;*.4 .識別標(biāo)示符的說明:0-9的 NUMBER0-9a-zA-Z的字符型。5.lex進(jìn)行的詞法分析如下:%#include "myparser.h"%char a-zA-Z_digit 0-9digits digit+optional_fraction ("."digits)?optional_exponent (E+-?digits)?%+ ;digitsopti
4、onal_fractionoptional_exponent return NUMBER;/SQL關(guān)健字的識別/"CREATE" return CREATE;"DATABASE" return DATABASE;"TABLE"return TABLE;"GROUP"return GROUP;"BY"return BY;"CHAR"return CHAR;"INT"return INT;"SELECT"return SELECT;&quo
5、t;FROM"return FROM;"WHERE" return WHERE;"AND"return AND;"OR"return OR;"DROP"return DROP;"SHOW"return SHOW;"INSERT"return INSERT;"UPDATE"return UPDATE;"DELETE"return DELETE;"TABLES"return TABLES;"INTO&
6、quot;return INTO;"VALUES"return V ALUES;"SET"return SET;char(char|digit)* return ID;/對特殊符號的識別"<"return '<'">"return '>'"="return '='"!"return'!'"("return'('")"return
7、9;)'","return','""return''"*"return '*'"."return'.'%6 .yacc進(jìn)行的語法分析如下:statements : statements statement|statement;statement : createdatabase |createtable |selectsql|droptable | showtables | insertsql | deletesql | updatesql;對
8、于所給語句分別寫出它們的文法如下:CREATE DATABASE 的文法:createdatabase:CREATE DATABASE database ''printf("create database!");database:。CREATE TABLE 的文法:createtable : CREATE TABLE table '(' fieldsdefinition ')''' printf("create table!n");table : ID;fieldsdefinition :
9、field_type | fieldsdefinition ',' field_type;field_type : field type;field : ID;type : CHAR '('NUMBER ')' | INT;SELECT的文法:selectsql : SELECT fields_star FROM tables ''printf("you use SELECT!n");| SELECT fields_star FROM tables WHERE conditions '' pri
10、ntf("you use SELECT!n"); | SELECT fields_star FROM tables GROUP BY fields_star ''printf("you use SELECT!n");fields_star : table_fields | '*'table_fields : table_field | table_fields ',' table_field;table_field : field | table '.' field;tables : tab
11、les ',' table | table;conditions : condition | '(' conditions ')'| conditions AND conditions | conditions OR conditions;condition : comp_left comp_op comp_right;comp_left : table_field;comp_right: table_field | NUMBER;comp_op : '<' | '>' | '=' |
12、'!''='DROP 語句的文法:droptable : DROP table '' printf("you drop table!n");SHOW TABLES 語句的文法:showtables : SHOW TABLES '' printf("show all tables!n");INSERT語句的文法:insertsql :INSERT INTO table '(' fieldname ')' V ALUES '(' fieldvalu
13、es ')''' printf("insert data successfully!n"); |INSERT INTO table V ALUES '(' fieldvalues ')''' printf("insert data successfully!n");fieldname : field | fieldname ',' field;fieldvalues : fieldvalue | fieldvalues ',' fieldval
14、ue;fieldvalue : ID | NUMBER;DELETE 語句的文法:deletesql : DELETE FROM table WHERE conditions '' printf("delete table!n");UPDATE 語句的文法:updatesql : UPDATE table SET condition WHERE conditions '' printf("update table!n");7 .語義制導(dǎo):這部分目前還沒有完成。1.3 邏輯結(jié)構(gòu)與物理結(jié)構(gòu)(由于語義制導(dǎo)沒做,所以這部分沒寫)1
15、.4 語法結(jié)構(gòu)與數(shù)據(jù)結(jié)構(gòu)(由于語義制導(dǎo)沒做,這里只給由語法結(jié)構(gòu))逐條一一說明增加SQL語句的語法結(jié)構(gòu)與數(shù)據(jù)結(jié)構(gòu)。語法結(jié)構(gòu)用產(chǎn)生式說明,其中非終結(jié)符的屬性用結(jié)構(gòu)體表示,所用數(shù)據(jù)結(jié)構(gòu)需要說明,并且最后用 圖形說明整個SQL語句的數(shù)據(jù)結(jié)構(gòu)。CREATE語句的產(chǎn)生式語法結(jié)構(gòu):createsql: CREATE TABLE table '(' fieldsdefinition ')'''SELECT語句的產(chǎn)生式語法結(jié)構(gòu):selectsql : SELECT fields_star FROM tables ''| SELECT fields_
16、star FROM tables WHERE conditions ''| SELECT fields_star FROM tables GROUP BY fields_star ''DROP語句的產(chǎn)生式語法結(jié)構(gòu):droptable : DROP table ''SHOW TABLES語句的產(chǎn)生式語法結(jié)構(gòu):showtables : SHOW TABLES ''INSERT語句的產(chǎn)生式語法結(jié)構(gòu):insertsql :INSERT INTO table '(' fieldname ')' VALUES
17、'(' fieldvalues ')'''|INSERT INTO table VALUES '(' fieldvalues ')'''DELETE語句的產(chǎn)生式語法結(jié)構(gòu):deletesql : DELETE FROM table WHERE conditions ''UPDATE語句的產(chǎn)生式語法結(jié)構(gòu):updatesql : UPDATE table SET condition WHERE conditions ''1.5 執(zhí)行流程逐條一一說明增加SQL語句的執(zhí)行流程,
18、并且配以流程圖。流程中涉及到的函數(shù)需要對其名稱、說明、輸入?yún)?shù)、輸出參數(shù)、執(zhí)行流程進(jìn)行一一說明。函數(shù)名稱:CreateValueIndex(int datasetID, int docID)函數(shù)說明:結(jié)合XML文檔的Schema信息對一個給定文檔上所有節(jié)點(diǎn)及屬 性值建立值索引輸入?yún)?shù):datasetID dataset編號,docID doc 編號輸出參數(shù):0表示正確,其他表示錯誤執(zhí)行流程:? ? ?1.6 功能測試測試所實(shí)現(xiàn)的SQL語句的基本功能,框架如下:測試1輸入:CREATE DATABASE mydb;輸出:create database!測試2輸入:CREATE TABLE Student(Sno CHAR(9), Sname CHAR(20), Ssex CHAR(2), Sage INT );輸出:create ta
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鋼絲格柵網(wǎng)施工方案
- 露臺地面施工方案
- 嘉興小型樂園施工方案
- 成語運(yùn)用與寫作技巧:高二語文知識點(diǎn)解析
- 個人月度收支平衡統(tǒng)計表
- 入戶小區(qū)光纜施工方案
- 鋼化夾膠玻璃雨棚施工方案
- 卵石路面施工方案
- 氧氣壓力容器打磨施工方案
- 咸寧環(huán)氧富鋅底漆施工方案
- DL-T 736-2021 農(nóng)村電網(wǎng)剩余電流動作保護(hù)器安裝運(yùn)行規(guī)程
- SB/T 10439-2007醬腌菜
- GB/T 33644-2017數(shù)控板料折彎機(jī)精度
- GB/T 32434-2015塑料管材和管件燃?xì)夂徒o水輸配系統(tǒng)用聚乙烯(PE)管材及管件的熱熔對接程序
- GB/T 17888.3-2020機(jī)械安全接近機(jī)械的固定設(shè)施第3部分:樓梯、階梯和護(hù)欄
- 產(chǎn)品質(zhì)量承諾及保障措施-產(chǎn)品質(zhì)量承諾
- 高考語文文化常識之天文歷法課件
- 長短樁組合樁基礎(chǔ)的分析
- 《英語閱讀4》課程教案(下)
- 金壇區(qū)蘇科版二年級心理健康教育第1課《我喜歡我自己》課件(定稿)
- ava標(biāo)準(zhǔn)錄播教室應(yīng)用解決方案
評論
0/150
提交評論