999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人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部分中需修改的部分。可用Tab或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)思考
本刊欄目設(shè)置說(shuō)明
中俄臨床醫(yī)學(xué)專業(yè)課程設(shè)置的比較與思考
中西醫(yī)結(jié)合治療甲狀腺功能亢進(jìn)癥31例
辨證施護(hù)在輕度認(rèn)知功能損害中的應(yīng)用
地鐵出入段線轉(zhuǎn)換軌設(shè)置
主站蜘蛛池模板: 日韩人妻精品一区| 亚洲综合天堂网| 国产精品大白天新婚身材| 喷潮白浆直流在线播放| 国产成年女人特黄特色大片免费| 亚洲国产精品成人久久综合影院| 一级成人欧美一区在线观看 | 国产福利大秀91| 欧美激情第一欧美在线| 无码内射在线| 一区二区三区四区日韩| 午夜性爽视频男人的天堂| 亚洲天堂久久| 午夜少妇精品视频小电影| 国产欧美又粗又猛又爽老| 中文字幕无码电影| 一区二区影院| 一级毛片高清| 99久久精品免费观看国产| 亚洲中文久久精品无玛| 国产在线第二页| 久久亚洲欧美综合| 亚洲欧美另类专区| 亚洲午夜福利在线| 久久久四虎成人永久免费网站| 凹凸国产分类在线观看| 97国内精品久久久久不卡| 欧美亚洲另类在线观看| 国产成人亚洲综合a∨婷婷| 亚欧乱色视频网站大全| 免费人欧美成又黄又爽的视频| 无码专区第一页| 欧美午夜理伦三级在线观看| 97视频精品全国在线观看| 老司机aⅴ在线精品导航| 日韩精品一区二区三区大桥未久 | 免费观看国产小粉嫩喷水| 欧美一区精品| 成人无码一区二区三区视频在线观看| 伊人久久久大香线蕉综合直播| 色窝窝免费一区二区三区| 成人综合网址| 亚洲国产清纯| 久久男人视频| 国产成人精品亚洲77美色| 国产大片黄在线观看| 国产精品免费p区| 99这里只有精品在线| 国产粉嫩粉嫩的18在线播放91| 国产凹凸一区在线观看视频| 欧美精品综合视频一区二区| 午夜福利免费视频| 午夜视频日本| 99精品在线看| 亚洲人成影视在线观看| 国产簧片免费在线播放| 亚洲无线视频| 亚洲精品视频免费看| 色135综合网| 国产成人综合日韩精品无码首页 | 亚洲首页在线观看| 91精品网站| 色悠久久久久久久综合网伊人| 男女性午夜福利网站| 毛片在线播放a| 亚洲免费毛片| 日韩精品毛片| 国产99精品久久| 99re在线观看视频| AV网站中文| 99久久婷婷国产综合精| 欧美区国产区| 欧美激情视频二区| 亚洲成人黄色在线观看| 在线视频97| 一区二区三区精品视频在线观看| 成人精品免费视频| 色综合久久无码网| 热这里只有精品国产热门精品| av免费在线观看美女叉开腿| 婷婷激情五月网| 日韩最新中文字幕|