999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于C語言的自定制腳本語言設計方法初探

2019-12-16 01:48:12苗金萍
電腦知識與技術 2019年29期
關鍵詞:設計方法

苗金萍

摘要:人們在日常的工作和生活當中,經常會遇到一些很復雜的問題需要人們重復的去解決,當遇到這類問題時,都可以借助編程來解決。隨著技術的不斷創新發展,當前的編程語言雖然有了非常好的發展,但是很多的問題還不能夠解決,有些問題即使能夠解決,所用到的編程語言也非常的煩瑣。因此,需要在一些領域需要特定的語言來解決問題。下文將針對c語言的自定制腳本語言設計方法展開探析。

關鍵詞:c語言;自定制腳本語言;設計方法

中圖分類號:TP 文獻標識碼:A

文章編號:1009-3044(2019)29-0054-02

編程語言大致分為兩種,分別為編譯型語言和解釋型語言。這兩種編程語言當中,目前使用較多的是編譯型語言,其中的C和C++是非常典型的兩種編譯型語言。利用這些語言能夠將程序員所編譯的語言以可執行文件的形式輸出。C語言是程序員的入門語言,只有將基本的c語言掌握才能夠編譯出代碼。將自制的編程語言稱為Crowbar(杠桿)。C語言之所以得到了廣泛的應用是因為這項語言在實際的運行過程中,具有運行速度快的有點,因此,需要程序員對C語言有一定的掌握。采用c語言進行編譯,相對來說方便、簡潔,并且c語言的應用能夠讓讀者從模塊的名字或者文件的名字中了解到各個模塊或者文件的作用。隨著社會的不斷發展,對于編譯性語言的需求也將會越來越多,同時也將會有更多的新型的自制編程語言出現,因此將自制編程語言進行掌握也是變得非常重要。

1Crowbar(杠桿)語言的基本介紹

1.1程序的結構

Crowbar(杠桿)在實際的語言編譯過程中,可以在函數或者類的外側等這些頂層結構中將代碼進行書寫。在借助C語言進行編程時,即使是寫一句非常簡單的C語句,也需要調用main()函數來書寫執行語句,而在函數的外邊只能夠進行變量的定義。因此,要想寫幾句簡單的腳本具有一定的難度,特別是對于初學者來說,C語言的這一特點,也增加了初學者學習的難度。在用Crowbar(杠桿)時,可以借助print將簡單的語句進行顯示,這種方式下,不需要再包裹函數或者類。函數在定義時,需要使用保留字function,書寫方式如下:#將c和d相加的值顯示,并且,作為返回值返回的函數

Functionhoge(c,d){

a=c+dtrtumal

程序中的任何一個位置都可以進行函數定義。當程序開始執行時,會首先從程序的頂層結構中的語句從上往下的開始運行,在運行的過程中,如果遇到函數定義,就會自動跳過函數定義的部分,直到函數被調用時,才會執行函數定義的部分。如果程序中沒有編寫出return語句,那么將會返回特殊常量null。

1.2數據類型

c語言編譯中,使用的數據類型有四種,布爾型、整數型、實數型和字符串型。其中布爾型的數據類型可以是true或者是false;整數型數據實質上就是Crowbar(杠桿)中底層的C語言中的int型數據;實數型的數據也就是Crowbar(杠桿)中底層的c語言中的double型。如果整數型數據與實數型數據在一起進行運算,那么整數型數據將會直接被擴充為實數型;字符串型數據,在進行編譯時,可以直接用“+”進行連接。除此之外,當字符串與數值用“+”連接時,如果字符串在左邊,數值在右邊,那么右側的數值也將會轉換成字符串型。

1.3變量

Crowbar(杠桿1是一種靜態無類型的語言,同Perl和Ruby這些語言相同。當使用Crowbar(杠桿)進行語言編譯時,可以直接省去變量聲明的過程,以為在進行變量初值的賦予時,其中就包含了對變量的聲明。變量在引用時必須是賦值的變量,如果引用了沒有賦值的變量,那么將會出現錯誤。

對于變量的命名有一定的規則,規則基本上與C語言的變量命名是一樣的。在命名時,開頭必須是字母,第二個字符可以是數字也可以是字母,也可以使用下劃線。Crowbar(杠桿1變量的命名中有些規則與Perl和Ruby等是有所不同的,不同的部分就是Crowbar(杠桿)變量的開頭不需要書寫$符號。函數中,存在著局部變量,而這個局部變量就是函數內部首次進行賦值的變量,這些變量就會變成函數內部的局部變量,并且局部變量的使用也只是在當前的函數當中。C語言的函數中還可開辟出一個塊(Block),這個塊中含有這更小作用域的局部變量,這一功能是C語言特有的,Crowbar(杠桿)所不具有的。當語句執行時,才進行變量的聲明。下邊給出一個具體的例子:

a只有為10時,b才能夠被聲明,print語句可以正常顯示。如果a不是10,那么將會報出沒有進行聲明的警告。global語句的使用有一定的方式,如下:global變量名,變量名...;比如函數內用globala;當變量進行聲明之后,當使用該函數時,就能夠在函數的內部使用全局變量a。如果全局變量a不存在時,系統將會發出運行錯誤的警報。之所以采用global語句將變量進行聲明之后再使用全局變量,有兩點原因。其中第一點是因為一些函數在使用時強調高內聚性,這也就要求全局變量在引用時需要有一定的約束性,如果沒有任何約束性就直接引用全局變量,那么就要求所編寫的函數必須掌握全局變量。如果沒有進行變量的聲明,那么就會導致錯誤出現;第二個原因是因為全局變量在整個程序編寫的過程中,使用的頻率較低,因此,進行聲明之后,就能夠避免全局變量帶來的不必要的麻煩,避免對程序的執行產生影響。

1.4語句與結構控制

Crowbarf杠桿)中的語句與結構控制語句與C語言是一樣的,含有if、while等語句。但是Crowbar(杠桿)與c語言、Java語言等編譯語言存在一些較大的差別,其中,Crowbar(杠桿)中不可以出現懸空else,因為不允許出現else語句,所以又引入了一種else if語句。當程序中輸人break時,可以直接從最內層的循環中跳出。Continue能夠跳過最內層循環中剩余的代碼。而return可以從函數中退出,并在返回時將函數后面的值作為返回值。

1.5運算符

Crowbar(杠桿)中支持整數、實數字、字符串這些形式的常量可以作為操作數。不僅如此,Crowbar中的變量也可以作為操作數。將變量作為操作數能夠實現與運算符和括號的結合,與運算符和括號進行結合之后能夠組成更加復雜的表達式。

2Crowbar的主要模塊和命名規則

2.1模塊與命名規則

Crowbar(杠桿)中包含三個模塊,分別為Crowbar主程序簡稱CRB、內存管理模塊,簡稱為MEM,Debug模塊,簡稱為DBG。這些模塊能夠完成一些特定的功能。每一個模塊中都包含著多個c.文件。MEM和DBG這兩個模塊能夠進行通用,兩個模塊的代碼在Crowbar文件夾中的memory和debug的子文件夾中。

對C語言進行深入的分析和研究能夠看出,C語言中不含有C++和C#的命名空間,同時,也不具有Java中的包機制,因此,需要制定相關的命名規則,來避免命名沖突問題的出現。本文中所介紹的語言設計中所采用的命名規則如下:

1)模塊在進行命名時,開頭的三個字符必須是英文字母的大寫,例如:DVF。

2)進行類的命名時,也要使用三個大寫字母開頭,同時,兩個英文單詞之間的連接需要使用大寫字母,例如DVF_Int。

3)在進行變量命名和函數命名時,要使用小寫字母,如果出現兩個英文單詞的連接時,也要全部使用小寫的英文字母。例如:alloc_expression。

4)進行宏命名時,所涉及的英文字母要全部使用大寫,需要下劃線進行連接的英文單詞也要全部使用大寫。例如:IDENTIFlER_TABLE_ALLOC_SIZE。如果宏定義中帶有參數,那么就要遵循帶函數的命名規則。例如:small(a,b).

5)模塊中會有一些函數時向外公開的,對于這些函數的命名,要使用模塊名+下劃線作為前綴,其中模塊名中的字母全部為大寫。例如:CRB_ereate_interpreter().

61對于模塊中不向外公開的函數需要用模塊的名字+下劃線的方式作為前綴,并全部采用小寫的方式。例如:crb_al-loc_expression。

7)用st_fV為函數外部的靜態變量名。

2.2內存管理模塊

如果經常使用c語言進行編程,那么就會深刻地感受到c語言在進行編程時,很容易就會遇到電腦內存損壞的額情況,有時會出現忘記釋放內存而導致泄露等問題。內存會經常出現一些BUG,讓人很苦惱。特別是在Crowbar編程中,還會涉及一些字符串型的變量,這些變量在進行運算時可以借助“+”進行連接,這也就要求內存管理模塊中必須設計一個垃圾回收機制。鑒于上述的這些理由,將內存管理模塊的功能進行了設計。MEM為模塊名,根據上文中對模塊的命名規則,所有的公共函數都以MEM_為開頭。

1)借助MEM_malloc()能夠實現內存空間的配置,并且內存空間開始處的默認填充為oxCC。將OxCC作為開始處的默認填充,能夠避免傳統的內存空間出現遺漏初始化的現象。因為OxCC是一個沒有意義的值,因此不會出現遺漏這一情況。

2)當,MEM__reallocO作為擴充內存空間時,默認的擴充值為OxCC。

3)OxCC會隨著開辟的內存空間釋放,這樣一來內存空間釋放所引起的BUG就能夠被較早的發現。

4)如果內存空間采用malloe()開辟,那么就需要借助free()來進行釋放。

2.3調試模塊DBG

調試時會用到DBG模塊,這一模塊具有非常多的功能,如果是在Crowbar的程序中使用,那么只需要調用宏DBG_assert()以及DBG_panic()就可以。當DBG在輸出時,可以借助DBG set debug_write fg()將輸出目標進行更改,盡管輸出目標得到了更改,同樣stderr會保留一份相同的信息。如果輸出目標不進行更改,stderr將會輸出兩行一樣的信息。

3結束語

上文中借助C語言的語法特點以及程序編寫方式自定制了Crowbar(杠桿)的基本語法。對Crowbar(杠桿)中的程序結構、數據類型、變量、語句與結構控制、運算符等多方面的內容都進行了設計,特別是給出了一套模塊命名的規則以及內存管理的方法。采用Crowbar語言,能夠為讀者的使用帶來非常大的方便。

猜你喜歡
設計方法
怎樣進行漢語拼音的教學
基于用戶體驗的產品交互設計研究
藝術科技(2016年9期)2016-11-18 18:05:44
古城墻中所包含的藝術文化解析
景觀設計中的兒童娛樂場所設計與探索
讓靈活精悍的微課程成為初中語文課堂的左膀右臂
文教資料(2016年20期)2016-11-07 11:37:21
低碳背景下標準化展示道具的設計方法
議傳統漢字圖形的設計方法
淺析兒童家具模塊化設計方法
人間(2016年26期)2016-11-03 19:16:30
話劇舞臺服裝設計方法探究
戲劇之家(2016年19期)2016-10-31 17:12:25
淺析旅游景區公共設施的設計
今傳媒(2016年9期)2016-10-15 23:14:14
主站蜘蛛池模板: 免费av一区二区三区在线| 97精品久久久大香线焦| 国产精品专区第一页在线观看| 中国国产A一级毛片| 9999在线视频| 国产福利不卡视频| 思思热精品在线8| 久久无码av三级| 91美女视频在线| 久久久精品国产亚洲AV日韩| 91小视频版在线观看www| 国产精品综合久久久| 五月激激激综合网色播免费| 久久久久88色偷偷| 国产成人一级| 激情午夜婷婷| 久久人搡人人玩人妻精品| 色播五月婷婷| 国产精品丝袜在线| 成人午夜视频网站| 99视频精品在线观看| 国产成人精品午夜视频'| 美女裸体18禁网站| 欧美激情一区二区三区成人| 伊人久久大线影院首页| 欧美日韩精品综合在线一区| 国产福利小视频高清在线观看| 第一区免费在线观看| 欧美中日韩在线| 国产在线视频欧美亚综合| 亚洲成a人片在线观看88| 丁香婷婷久久| 成人在线天堂| 国产精品第页| 国产91色在线| 国产精品手机在线播放| 国产幂在线无码精品| 久久亚洲黄色视频| 亚洲欧美色中文字幕| 老司机久久精品视频| 色综合成人| av一区二区三区高清久久| 亚洲国产亚综合在线区| 中文无码精品a∨在线观看| 92午夜福利影院一区二区三区| 日本在线欧美在线| 97超爽成人免费视频在线播放| 999国产精品| 国产欧美另类| 国产精品无码作爱| 亚洲AV无码久久精品色欲| 嫩草在线视频| 久久精品亚洲专区| 亚洲精品老司机| 午夜毛片免费观看视频 | 国产一级做美女做受视频| 欧美成人h精品网站| 色综合五月婷婷| 国产成人精品一区二区| 亚洲天堂精品在线| 538精品在线观看| 成人欧美日韩| 国内精品一区二区在线观看| 亚洲天堂首页| 毛片在线看网站| 免费毛片全部不收费的| 啪啪免费视频一区二区| 国产又爽又黄无遮挡免费观看| 成人午夜福利视频| 亚洲综合香蕉| 成人精品在线观看| 亚洲综合国产一区二区三区| 日韩av在线直播| 国产极品美女在线观看| 国产情侣一区| 国产一在线| 国产特级毛片| 美女视频黄频a免费高清不卡| 一级香蕉视频在线观看| 亚洲女同欧美在线| 四虎免费视频网站| 国产精品开放后亚洲|