[發(fā)明專利]一種計算機(jī)語言轉(zhuǎn)換系統(tǒng)及C語言到MSVL語言的轉(zhuǎn)換方法有效
| 申請?zhí)枺?/td> | 201310120182.1 | 申請日: | 2013-04-08 |
| 公開(公告)號: | CN103150200A | 公開(公告)日: | 2013-06-12 |
| 發(fā)明(設(shè)計)人: | 段振華;于妍;田聰;王小兵;張南;韓萌 | 申請(專利權(quán))人: | 西安電子科技大學(xué) |
| 主分類號: | G06F9/45 | 分類號: | G06F9/45 |
| 代理公司: | 北京科億知識產(chǎn)權(quán)代理事務(wù)所(普通合伙) 11350 | 代理人: | 湯東鳳 |
| 地址: | 710071 陜西省*** | 國省代碼: | 陜西;61 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 計算機(jī)語言 轉(zhuǎn)換 系統(tǒng) 語言 msvl 方法 | ||
1.一種計算機(jī)語言轉(zhuǎn)換系統(tǒng),其用于將C語言程序轉(zhuǎn)換成MSVL語言程序,其特征在于:其包括,
詞法分析模塊,其將字符序列轉(zhuǎn)換為單詞序列,所述字符序列包括C語言中的關(guān)鍵字、標(biāo)識符、常數(shù)、運算符、頭文件以及注釋行的定義;
語法分析模塊,其基于yacc中所規(guī)定的C語言的相關(guān)詞法規(guī)則,進(jìn)而識別出C語言中特定的語句;
轉(zhuǎn)換處理模塊,其根據(jù)C語言與MSVL語言之間的語言轉(zhuǎn)換規(guī)律將C語言轉(zhuǎn)換成MSVL語言。
2.一種C語言到MSVL語言的轉(zhuǎn)換方法,其提供詞法分析模塊、語法分析模塊及轉(zhuǎn)換處理模塊,其特征在于:所述方法包括以下步驟;
第一步:將C語言程序?qū)朐~法分析模塊,該步驟包括將字符序列轉(zhuǎn)換為單詞序列,所述字符序列包括C語言中的關(guān)鍵字、標(biāo)識符、常數(shù)、運算符、頭文件以及注釋行的定義;
第二步:將步驟一中得到的單詞流導(dǎo)入語法分析模塊,該步驟包括基于yacc中所規(guī)定的C語言的相關(guān)詞法規(guī)則,進(jìn)而識別出C語言中特定的語句;
第三步:將第二步語法分析識別出的C語言語句序列在轉(zhuǎn)換處理模塊中根據(jù)相應(yīng)的轉(zhuǎn)換規(guī)則轉(zhuǎn)換成對應(yīng)的MSVL語句;
第四步:用時序操作符“;”連接得到的MSVL語句序列,得到MSVL程序。
3.根據(jù)權(quán)利要求2所述的一種C語言到MSVL語言的轉(zhuǎn)換方法,其特征在于:語法分析模塊中所述的C語言中的結(jié)構(gòu)化語句包括基本表達(dá)式語句、while語句、if語句、if-else語句、for語句、switch語句、printf語句以及scanf語句。
4.根據(jù)權(quán)利要求2所述的一種C語言到MSVL語言的轉(zhuǎn)換方法,其特征在于:所述語法分析模塊中所述的C語言中結(jié)構(gòu)化語句的while語句、for語句的循環(huán)體部分和if語句、if-else語句的條件語句是一個語句塊。
5.根據(jù)權(quán)利要求1所述的一種C語言到MSVL語言的轉(zhuǎn)換方法,其特征在于:所述C語言與MSVL語言之間的語言轉(zhuǎn)換規(guī)律包括表達(dá)式轉(zhuǎn)換規(guī)則、語句轉(zhuǎn)換規(guī)則和語句塊轉(zhuǎn)換規(guī)則。
6.根據(jù)權(quán)利要求5所述的一種C語言到MSVL語言的轉(zhuǎn)換方法,其特征在于:所述表達(dá)式的轉(zhuǎn)化規(guī)則如下:
對表達(dá)式進(jìn)行轉(zhuǎn)化,假設(shè)x和y是標(biāo)準(zhǔn)符號,e代表一個常量或變量,參照規(guī)則如下:
如果表達(dá)式為e,轉(zhuǎn)化為MSVL表達(dá)式返回e;
如果表達(dá)式為[x++|x--],轉(zhuǎn)化為MSVL語句x:=x+1and?skip或者x:=x-1and?skip;
如果表達(dá)式為x=y,轉(zhuǎn)化為MSVL語句x:=y?and?skip;
如果表達(dá)式為x==y,轉(zhuǎn)化為MSVL語句x==y;
如果表達(dá)式為x[+,-,*,/,%,!=]y,轉(zhuǎn)化為MSVL表達(dá)式x[+,-,*,/,%,!=]y;
如果表達(dá)式為x*=y(*=[<|>]),轉(zhuǎn)化為MSVL表達(dá)式x=y或者x*y;
如果表達(dá)式為x[+|-|*|/|%]=y,轉(zhuǎn)化為x:=x[+|-|*|/|%]y?and?skip;
如果表達(dá)式為x&&y,轉(zhuǎn)化為MSVL語句x?and?skip;
如果表達(dá)式為x||y,轉(zhuǎn)化為MSVL語句x?or?y;
如果表達(dá)式為x,y,轉(zhuǎn)化為MSVL語句x,y;
如果表達(dá)式為(x),轉(zhuǎn)化為MSVL語句為(x)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于西安電子科技大學(xué),未經(jīng)西安電子科技大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310120182.1/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種提示設(shè)備受過撞擊的方法
- 下一篇:一種高原型裝載機(jī)
- 圖像轉(zhuǎn)換設(shè)備、圖像轉(zhuǎn)換電路及圖像轉(zhuǎn)換方法
- 數(shù)模轉(zhuǎn)換電路及轉(zhuǎn)換方法
- 轉(zhuǎn)換設(shè)備和轉(zhuǎn)換方法
- 占空比轉(zhuǎn)換電路及轉(zhuǎn)換方法
- 通信轉(zhuǎn)換方法、轉(zhuǎn)換裝置及轉(zhuǎn)換系統(tǒng)
- 模數(shù)轉(zhuǎn)換和模數(shù)轉(zhuǎn)換方法
- 轉(zhuǎn)換模塊以及轉(zhuǎn)換電路
- 熱電轉(zhuǎn)換材料、熱電轉(zhuǎn)換元件和熱電轉(zhuǎn)換模塊
- 熱電轉(zhuǎn)換材料、熱電轉(zhuǎn)換元件及熱電轉(zhuǎn)換模塊
- 熱電轉(zhuǎn)換材料、熱電轉(zhuǎn)換元件及熱電轉(zhuǎn)換模塊





