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

EverEdit在Maple文件編輯運行中的運用

2021-11-21 00:06:23尚寶欣宮以赫朱振菊
無線互聯科技 2021年18期
關鍵詞:單詞設置功能

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

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

0 引言

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

Maple[1]與MATLAB,Mathematica一起被稱為世界最著名的三大數學軟件。它具有強大的符號計算引擎。Maple把不同數學領域中常用的算法封裝在不同的包中,在使用的時候可單獨加載,這將大大減少了程序運行所需內存,也方便用戶找尋所需函數。

1 使用EverEdit編輯Maple文件

在Maple軟件中,一般會用以下3種方式進行編程:

直接使用Maple命令進行交互。這適合一般簡單的交互式操作。雖然該操作比較簡單,但是如果操作者對Maple的代碼編輯不是特別熟悉,則會很容易出現Maple代碼不能正確運行的情況。筆者的經驗是,該類錯誤多是由于操作不當,使得Maple對文本和數學字符的識別出現了錯誤。一般情況下,重新編寫代碼能夠解決這個問題,但這必然會導致代碼效率的下降。該方法有代碼自動提示與補全功能,但提示的內容有限,例如寫一個包名后,后面并不會提示出該包中函數的名字。

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

使用Maple新提供的Maple IDE編寫Maple源代碼。Maple IDE基于Eclipse,是Maple為方便用戶進行中或大型代碼開發、Maple庫開發而提供的一個集成開發環境。其優點是功能完整豐富,能提升代碼編輯的效率與質量;缺點是程序較大、價格較貴。

為獲取與Maple IDE類似的效率與質量優勢,我們嘗試用EE編輯Maple文件。主要充分利用EE的語法著色、代碼片段自動補全、關鍵字補全、上下文單詞自動補全等功能來提升源代碼編寫的速度與準確度。EE并未提供針對Maple源文件的語法著色文件及代碼片段自動補全文件,因此需要我們創建這兩個文件,文件名分別為Maple.mac、Maple.snippet,把它們分別放在EE安裝目錄下面的文件夾syntax和snippet中。在EE中創建.mpl作為Maple源文件的類型,語法著色與代碼片段補全均與該類型相關聯。

語法著色文件的創建。在Maple.mac中,對Maple語言中的注釋、關鍵字、類型名、函數名(包括自定義、系統自帶)、包名、包內函數名的著色進行了設置。具體設置方法請參考EE在線幫助文檔[3]。例如,可通過

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

將”and … xor”(單詞間用空格隔開)等關鍵字設置成顏色索引COLOR_WORD1所對應的顏色(注意,AddWord函數使這些單詞可進行自動補全)。其它的設置大多與其類似。

代碼片段自動補全文件的創建。創建文件Maple.snippet,在文件Maple.mac文件加入:

maple.AddSnippet “Maple.snippet”

使EE能對.mpl類型的文件編寫進行檢測,并進行代碼自動補全。

Maple.snippet文件中的一個自動補全代碼塊的形式如下

#t=讀數據,用fopen從文件中讀

#g=readfile

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

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

close(file):

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

$0

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

注意${1:filename}、${2:datatype}、$0表示變量,前兩個表示在第3部分中需修改的部分。可用Tab或Shift+Tab鍵使光標在它們之間切換。最后光標會定格在$0所在的位置,即在EE中亦可像在Eclipse,NetBeans中一樣進行熱點導航。

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

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

對函數進行檢測。最后在Maple.mac文件后面添加

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

maple.SetOutlineMethod OUTLINE_FROM_SCRIPT

使EE在打開.mpl文件時,自動對其進行函數的檢測與顯示。

2 使用EverEdit分析Maple程序中的語法錯誤

結合EE與cmaple.exe可實現對Maple源文件中語法錯誤的檢測。

將cmaple.exe所在目錄添加到環境變量path中,在EE的外部工具中進行如下設置:

標題:&Sparse

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

結果:將語法分析的結果輸出到“輸出窗口”中

命令:cmaple.exe -P

參數:$(FileName)

初始目錄:$(FileDir)

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

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

3 使用EverEdit運行Maple程序

對EE進行簡單配置可實現在EE窗口下運行Maple源程序。在EE的外部工具中進行如下設置:

標題:&Maple

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

結果:將運行結果輸出到“輸出窗口”中

命令:cmaple.exe

參數:$(FileName)

初始目錄:$(FileDir)

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

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

需注意,用EE運行Maple程序時,每次均將整個文件全部運行一遍,這樣會失去了一定的靈活性。因此使用EE編輯運行Maple文件,最適合于多函數或創建Maple庫的應用中。

4 結語

用EE編輯Maple源代碼可大幅提高源碼編寫的效率與質量;在EE中使用cmaple.exe –P分析語法,可快速定位語法錯誤的位置;在EE中使用cmaple.exe或cmaple.exe –q運行Maple文件可使運行結果直接在EE中呈現出來,方便調試源代碼的邏輯錯誤。這能大大提高中、大型Maple程序的編寫與調試的效率與質量。

猜你喜歡
單詞設置功能
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
中隊崗位該如何設置
少先隊活動(2021年4期)2021-07-23 01:46:22
單詞連一連
看圖填單詞
關于非首都功能疏解的幾點思考
本刊欄目設置說明
中俄臨床醫學專業課程設置的比較與思考
中西醫結合治療甲狀腺功能亢進癥31例
辨證施護在輕度認知功能損害中的應用
地鐵出入段線轉換軌設置
主站蜘蛛池模板: 精品欧美日韩国产日漫一区不卡| 天堂va亚洲va欧美va国产| 色婷婷久久| 激情综合图区| 毛片免费视频| 丁香六月激情婷婷| 中文字幕有乳无码| 91午夜福利在线观看| 丰满的少妇人妻无码区| 国产高潮视频在线观看| 国产精品亚洲日韩AⅤ在线观看| 亚洲人免费视频| 亚洲精品中文字幕无乱码| 福利小视频在线播放| 国产成人综合日韩精品无码首页| …亚洲 欧洲 另类 春色| 黄网站欧美内射| 国产亚洲精品yxsp| 91久久国产热精品免费| 欧美日韩国产综合视频在线观看| 久久综合国产乱子免费| 国产麻豆va精品视频| 青青草原国产一区二区| 免费国产在线精品一区| 在线精品视频成人网| 一级毛片基地| 亚洲美女高潮久久久久久久| 在线精品亚洲国产| 免费观看男人免费桶女人视频| 精品三级网站| 国产99视频精品免费视频7| 亚洲国产天堂久久综合226114| 亚洲va欧美va国产综合下载| 国产另类视频| 福利在线一区| 黄色成年视频| 一区二区自拍| 国产av剧情无码精品色午夜| 欧美色视频在线| 亚洲欧美不卡中文字幕| 精品无码一区二区在线观看| 青青极品在线| jizz在线观看| 亚洲av无码人妻| 欧美性天天| 试看120秒男女啪啪免费| 91口爆吞精国产对白第三集| 国产中文一区二区苍井空| 曰韩人妻一区二区三区| 成年人国产网站| 久久国产精品无码hdav| 亚洲成人动漫在线观看| 国产免费a级片| 99国产精品一区二区| 久久男人视频| 日本在线欧美在线| 欧美成人日韩| 国产97视频在线观看| 精品国产福利在线| 少妇精品网站| 国产午夜小视频| 欧美日韩成人在线观看| 免费一级毛片在线观看| 国产在线视频自拍| 日韩无码视频网站| 538国产在线| 又大又硬又爽免费视频| 成人免费黄色小视频| 丁香五月激情图片| 亚洲精品无码成人片在线观看| 99久久精品久久久久久婷婷| 亚洲福利视频一区二区| 日韩精品一区二区深田咏美| 毛片在线播放网址| 美女高潮全身流白浆福利区| 免费久久一级欧美特大黄| 欧美国产日韩一区二区三区精品影视| 欧洲高清无码在线| 亚洲第一色视频| 国产系列在线| 中美日韩在线网免费毛片视频| 久久久久久国产精品mv|