亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        EverEdit在Maple文件編輯運(yùn)行中的運(yùn)用

        2021-11-21 00:06:23尚寶欣宮以赫朱振菊
        無(wú)線互聯(lián)科技 2021年18期
        關(guān)鍵詞:單詞設(shè)置功能

        尚寶欣,宮以赫*,朱振菊

        (1.東北電力大學(xué) 理學(xué)院,吉林 吉林 132012;2.群山大學(xué),群山 541150)

        0 引言

        EverEdit(EE)是國(guó)內(nèi)一款快速、輕量級(jí)、功能強(qiáng)大的純文本編輯器,目前最新版本為4.4,在Windows操作系統(tǒng)下 32位安裝程序的大小為4.2 M。通過(guò)設(shè)置“工具→外部工具”它可成為C++、Java等語(yǔ)言的一個(gè)簡(jiǎn)單的IDE。它的優(yōu)點(diǎn)有啟動(dòng)速度快、界面簡(jiǎn)潔、語(yǔ)法著色功能完善、代碼片段及關(guān)鍵字(包括上下文單詞)自動(dòng)補(bǔ)全功能強(qiáng)大等等。另外通過(guò)修改代碼片段自動(dòng)補(bǔ)全、代碼折疊、大綱顯示等功能,可實(shí)現(xiàn)對(duì)不同文件類型上述功能的個(gè)性化設(shè)置。

        Maple[1]與MATLAB,Mathematica一起被稱為世界最著名的三大數(shù)學(xué)軟件。它具有強(qiáng)大的符號(hào)計(jì)算引擎。Maple把不同數(shù)學(xué)領(lǐng)域中常用的算法封裝在不同的包中,在使用的時(shí)候可單獨(dú)加載,這將大大減少了程序運(yùn)行所需內(nèi)存,也方便用戶找尋所需函數(shù)。

        1 使用EverEdit編輯Maple文件

        在Maple軟件中,一般會(huì)用以下3種方式進(jìn)行編程:

        直接使用Maple命令進(jìn)行交互。這適合一般簡(jiǎn)單的交互式操作。雖然該操作比較簡(jiǎn)單,但是如果操作者對(duì)Maple的代碼編輯不是特別熟悉,則會(huì)很容易出現(xiàn)Maple代碼不能正確運(yùn)行的情況。筆者的經(jīng)驗(yàn)是,該類錯(cuò)誤多是由于操作不當(dāng),使得Maple對(duì)文本和數(shù)學(xué)字符的識(shí)別出現(xiàn)了錯(cuò)誤。一般情況下,重新編寫代碼能夠解決這個(gè)問(wèn)題,但這必然會(huì)導(dǎo)致代碼效率的下降。該方法有代碼自動(dòng)提示與補(bǔ)全功能,但提示的內(nèi)容有限,例如寫一個(gè)包名后,后面并不會(huì)提示出該包中函數(shù)的名字。

        在代碼編輯器中編寫代碼[2]。它更適合編寫帶函數(shù)的小規(guī)模Maple源程序。該方法的好處有代碼編輯器中的內(nèi)容全是文本模式,不會(huì)出現(xiàn)文本與數(shù)學(xué)字符誤識(shí)的問(wèn)題;代碼的自動(dòng)提示與補(bǔ)全功能比第一種方法更加易用,且提示的內(nèi)容也比較多,例如在包名后面加“:-”后會(huì)提示整個(gè)包中函數(shù)的名字;具有代碼自動(dòng)縮進(jìn)功能,使得代碼的邏輯更為清楚。它的問(wèn)題有:在編輯框內(nèi)換行的話需要用Ctrl+Enter組合鍵,使用起來(lái)較為麻煩;代碼提示與補(bǔ)全僅限于包名及函數(shù)名,據(jù)筆者所知,Maple并沒(méi)有提供代碼片段的提示與初步功能。

        使用Maple新提供的Maple IDE編寫Maple源代碼。Maple IDE基于Eclipse,是Maple為方便用戶進(jìn)行中或大型代碼開發(fā)、Maple庫(kù)開發(fā)而提供的一個(gè)集成開發(fā)環(huán)境。其優(yōu)點(diǎn)是功能完整豐富,能提升代碼編輯的效率與質(zhì)量;缺點(diǎn)是程序較大、價(jià)格較貴。

        為獲取與Maple IDE類似的效率與質(zhì)量?jī)?yōu)勢(shì),我們嘗試用EE編輯Maple文件。主要充分利用EE的語(yǔ)法著色、代碼片段自動(dòng)補(bǔ)全、關(guān)鍵字補(bǔ)全、上下文單詞自動(dòng)補(bǔ)全等功能來(lái)提升源代碼編寫的速度與準(zhǔn)確度。EE并未提供針對(duì)Maple源文件的語(yǔ)法著色文件及代碼片段自動(dòng)補(bǔ)全文件,因此需要我們創(chuàng)建這兩個(gè)文件,文件名分別為Maple.mac、Maple.snippet,把它們分別放在EE安裝目錄下面的文件夾syntax和snippet中。在EE中創(chuàng)建.mpl作為Maple源文件的類型,語(yǔ)法著色與代碼片段補(bǔ)全均與該類型相關(guān)聯(lián)。

        語(yǔ)法著色文件的創(chuàng)建。在Maple.mac中,對(duì)Maple語(yǔ)言中的注釋、關(guān)鍵字、類型名、函數(shù)名(包括自定義、系統(tǒng)自帶)、包名、包內(nèi)函數(shù)名的著色進(jìn)行了設(shè)置。具體設(shè)置方法請(qǐng)參考EE在線幫助文檔[3]。例如,可通過(guò)

        maple.AddWord( maple.CreateWord(COLOR_WORD1, “and … xor”, True ) )

        將”and … xor”(單詞間用空格隔開)等關(guān)鍵字設(shè)置成顏色索引COLOR_WORD1所對(duì)應(yīng)的顏色(注意,AddWord函數(shù)使這些單詞可進(jìn)行自動(dòng)補(bǔ)全)。其它的設(shè)置大多與其類似。

        代碼片段自動(dòng)補(bǔ)全文件的創(chuàng)建。創(chuàng)建文件Maple.snippet,在文件Maple.mac文件加入:

        maple.AddSnippet “Maple.snippet”

        使EE能對(duì).mpl類型的文件編寫進(jìn)行檢測(cè),并進(jìn)行代碼自動(dòng)補(bǔ)全。

        Maple.snippet文件中的一個(gè)自動(dòng)補(bǔ)全代碼塊的形式如下

        #t=讀數(shù)據(jù),用fopen從文件中讀

        #g=readfile

        file:=fopen(“${1:filename}”, READ, TEXT):

        b:=readdata(file, ${2:datatype}):

        close(file):

        i:=b[1]; # 注意b是一個(gè)列表

        $0

        鍵入第2部分“#g=”后面的單詞(readfile)后,會(huì)出現(xiàn) 第1部分“#t=”后的內(nèi)容作為提示,此時(shí)按Tab鍵,第3部分中內(nèi)容會(huì)替換第2部分“#g=”后面的單詞,即只鍵入一個(gè)單詞可完成在“filename”文件中讀取一個(gè)“datatype”型數(shù)據(jù)的代碼,后續(xù)鍵入filename和datatype即可。對(duì)常用結(jié)構(gòu)進(jìn)行上述設(shè)置可大大減輕大腦記憶代碼的負(fù)擔(dān),極大提高代碼編輯的速度。

        注意${1:filename}、${2:datatype}、$0表示變量,前兩個(gè)表示在第3部分中需修改的部分??捎肨ab或Shift+Tab鍵使光標(biāo)在它們之間切換。最后光標(biāo)會(huì)定格在$0所在的位置,即在EE中亦可像在Eclipse,NetBeans中一樣進(jìn)行熱點(diǎn)導(dǎo)航。

        為了在EE中快速定位Maple源代碼中函數(shù)的位置,創(chuàng)建“Maple大綱.mac”文件(放在macro/__outline__目錄下),借用EE的自定義顯示大綱功能實(shí)現(xiàn)函數(shù)快速定位。將函數(shù)作為唯一的一級(jí)大綱,在Maple大綱.mac中使用正則表達(dá)式

        “^[s]*(w+)[s]*:=[s]*proc[s]*((.*)).*”

        對(duì)函數(shù)進(jìn)行檢測(cè)。最后在Maple.mac文件后面添加

        maple.SetOutlineScript APP_PATH + “macro\__ outline__Maple大綱.mac”

        maple.SetOutlineMethod OUTLINE_FROM_SCRIPT

        使EE在打開.mpl文件時(shí),自動(dòng)對(duì)其進(jìn)行函數(shù)的檢測(cè)與顯示。

        2 使用EverEdit分析Maple程序中的語(yǔ)法錯(cuò)誤

        結(jié)合EE與cmaple.exe可實(shí)現(xiàn)對(duì)Maple源文件中語(yǔ)法錯(cuò)誤的檢測(cè)。

        將cmaple.exe所在目錄添加到環(huán)境變量path中,在EE的外部工具中進(jìn)行如下設(shè)置:

        標(biāo)題:&Sparse

        功能:分析Maple文件(.mpl)中的語(yǔ)法錯(cuò)誤

        結(jié)果:將語(yǔ)法分析的結(jié)果輸出到“輸出窗口”中

        命令:cmaple.exe -P

        參數(shù):$(FileName)

        初始目錄:$(FileDir)

        動(dòng)作模式:捕獲輸出(隱藏窗口)

        若.mpl文件中有語(yǔ)法錯(cuò)誤,用Sparse菜單可將Maple對(duì)該文件所做語(yǔ)法分析顯示在EverEdit的“輸出窗口”。注意,它只顯示語(yǔ)法錯(cuò)誤第一次出現(xiàn)的位置。

        3 使用EverEdit運(yùn)行Maple程序

        對(duì)EE進(jìn)行簡(jiǎn)單配置可實(shí)現(xiàn)在EE窗口下運(yùn)行Maple源程序。在EE的外部工具中進(jìn)行如下設(shè)置:

        標(biāo)題:&Maple

        功能:運(yùn)行Maple文件(.mpl)

        結(jié)果:將運(yùn)行結(jié)果輸出到“輸出窗口”中

        命令:cmaple.exe

        參數(shù):$(FileName)

        初始目錄:$(FileDir)

        動(dòng)作模式:捕獲輸出(隱藏窗口)

        進(jìn)行上述設(shè)置之后,EE的輸出窗口會(huì)捕獲到Maple的運(yùn)行結(jié)果,包括命令的回顯及程序的結(jié)果。若不想看到命令的回顯,可把“命令”里的cmaple.exe加參數(shù)“–q”。

        需注意,用EE運(yùn)行Maple程序時(shí),每次均將整個(gè)文件全部運(yùn)行一遍,這樣會(huì)失去了一定的靈活性。因此使用EE編輯運(yùn)行Maple文件,最適合于多函數(shù)或創(chuàng)建Maple庫(kù)的應(yīng)用中。

        4 結(jié)語(yǔ)

        用EE編輯Maple源代碼可大幅提高源碼編寫的效率與質(zhì)量;在EE中使用cmaple.exe –P分析語(yǔ)法,可快速定位語(yǔ)法錯(cuò)誤的位置;在EE中使用cmaple.exe或cmaple.exe –q運(yùn)行Maple文件可使運(yùn)行結(jié)果直接在EE中呈現(xiàn)出來(lái),方便調(diào)試源代碼的邏輯錯(cuò)誤。這能大大提高中、大型Maple程序的編寫與調(diào)試的效率與質(zhì)量。

        猜你喜歡
        單詞設(shè)置功能
        也談詩(shī)的“功能”
        中隊(duì)崗位該如何設(shè)置
        單詞連一連
        看圖填單詞
        關(guān)于非首都功能疏解的幾點(diǎn)思考
        看完這些單詞的翻譯,整個(gè)人都不好了
        本刊欄目設(shè)置說(shuō)明
        中俄臨床醫(yī)學(xué)專業(yè)課程設(shè)置的比較與思考
        中西醫(yī)結(jié)合治療甲狀腺功能亢進(jìn)癥31例
        辨證施護(hù)在輕度認(rèn)知功能損害中的應(yīng)用
        成人影院视频在线免费观看| 久久久久久亚洲AV成人无码国产| 精品久久杨幂国产杨幂| 五月激情在线观看视频| 亚洲中文字幕久久精品品| 日韩一级精品亚洲一区二区精品| 日产一区二区三区免费看| 国产精品成人久久电影| 国产综合色在线视频| 久久久国产精品五月天伊人| 亚洲一区二区免费在线观看视频 | 精品国产免费一区二区久久| 日本边添边摸边做边爱喷水 | 中文字幕一区二区三区在线看一区| 色婷婷av一区二区三区久久| 天天躁日日躁狠狠躁av| 免费人成再在线观看网站| 蜜芽尤物原创AV在线播放| 91桃色在线播放国产| 亚洲综合在线观看一区二区三区| 亚洲婷婷五月综合狠狠爱| 成人无码免费一区二区三区| 国产在线精品福利大全| 日本韩国一区二区高清| 亚洲乱码中文字幕久久孕妇黑人| 亚洲女人被黑人巨大进入| 精品黑人一区二区三区| 亚洲精品综合中文字幕组合 | 久久天天躁夜夜躁狠狠85麻豆| 色偷偷偷久久伊人大杳蕉| 国产尻逼视频| 日本人妻三级在线观看| 精品偷自拍另类在线观看| 粉嫩虎白女毛片人体| 欧美日韩国产成人高清视| 日本无吗一区二区视频| 一区二区三区中文字幕p站| 蜜臀av无码精品人妻色欲| 99在线无码精品秘 入口九色| 亚洲高清一区二区精品| 午夜理论片yy6080私人影院 |