TWI408602B - Autolisp程式語言除錯系統 - Google Patents
Autolisp程式語言除錯系統 Download PDFInfo
- Publication number
- TWI408602B TWI408602B TW97121048A TW97121048A TWI408602B TW I408602 B TWI408602 B TW I408602B TW 97121048 A TW97121048 A TW 97121048A TW 97121048 A TW97121048 A TW 97121048A TW I408602 B TWI408602 B TW I408602B
- Authority
- TW
- Taiwan
- Prior art keywords
- program
- autolisp
- atext
- debug
- file
- Prior art date
Links
Landscapes
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Description
Autolisp是電腦輔助製圖軟體Autocad開放架構下的程式設計語言。它能客戶化(customize)Autocad的工作環境,也能設計(programing)自動化的製圖流程。使得通用性(general purpose)的Autocad能化身為土木、建築、化工、機械等各行各業的專用製圖工具。
雖然Autolisp程式語言提供了使用者自行設計與規劃Autocad工作方式的能力。但是Autolisp卻不具有現代程式語言軟體普遍具備的整合式(integrated)工作環境及trace(追蹤執行)程式執行過程的除錯功能;再加上Autolisp語言所特有的多重小括弧的特性,使得Autolisp程式設計者既要計數小括弧個數配對個數,又要查看程式區段與迴路範圍邏輯上是否正確?在系統發展與除錯過程上異常辛苦。
AutoCAD晚近版本雖有以「顏色」區分Autolisp保留字,但在程式區塊辨認上仍不如本發明以「框線包住程式區塊段落」來的清楚明白。
本發明提出一種簡單有效且迅速的整合式除錯處理,過濾Autolisp程式的一般性錯誤:如小括弧個數配對有遺漏,程式區塊範圍互相重疊等等。並能追蹤程式中變數值的變化;讀取被除錯程式、經過語法分析、小括弧配對、針對「程式區塊標上框線」,其成果使程式設計者以目視輕鬆看出那裡錯誤,能不為程式中眼花撩亂的眾多小括弧所苦。
一種針對Autolisp程式語言的除錯系統。請參閱第一圖所示,係包括「除錯程式ld3wave.exe」的執行,針對除錯對象例如atext.lsp程式進行除錯。執行後,產生「保留字拼錯」檔atext.fun、「左右小括弧不平衡」檔atext.cnt及最後成果「程式區塊以框線標示」檔atext.grd。
藉由atext.fun、atext.cnt、尤其atext.grd,讓Autolisp程式設計者可在很短時間內觀察到原有程式atext.lsp中的「保留字拼錯、左右小括弧數目不對稱、程式區塊配對錯誤」等等錯誤,迅速予以更正。
元件(A)‧‧‧ld3wave.exe除錯主程式
元件(a)‧‧‧產生保留字拼錯檔atext.fun
元件(b)‧‧‧產生「左右括弧數」檔atext.cnt
元件(c)‧‧‧產生程式區塊框線檔atext.grd
第1圖係一種Autolisp除錯程序系統
第2a及2b圖係等待除錯之lisp程式
第3a及3b圖係框線標註完成之lisp程式
元件(A)‧‧‧ld3wave. exe除錯主程式,處理對象atext. lsp內容如
第二圖
元件(a)‧‧‧產生保留字拼錯檔atext. fun(圖略)
元件(b)‧‧‧產生「左右括弧數」檔atext. cnt(圖略)
元件(c)‧‧‧產生「程式區塊框線」檔atext. grd如第三圖
Claims (1)
- 一種Autolisp除錯程序系統,其包含一ld3wave.exe除錯主程式,可針對atext.lsp程式進行除錯,讓使用者目視迴路範圍是否有重疊或出入之錯誤,且可方便程式判讀與更新維護,其具有可產生以下之檔案:一保留字拼錯檔(atext.fun),可檢查Autolisp保留字是否拼錯;一左右小括弧數不平衡檔(atext.cnt),可檢查字串的雙引號是否有遺漏,小括弧個數是否有遺漏;一程式區塊以框標示檔(atext.grd),可將source listing的各個程式段落與迴路以「框線」標示出來。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW97121048A TWI408602B (zh) | 2008-06-06 | 2008-06-06 | Autolisp程式語言除錯系統 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW97121048A TWI408602B (zh) | 2008-06-06 | 2008-06-06 | Autolisp程式語言除錯系統 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200951814A TW200951814A (en) | 2009-12-16 |
TWI408602B true TWI408602B (zh) | 2013-09-11 |
Family
ID=44871859
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW97121048A TWI408602B (zh) | 2008-06-06 | 2008-06-06 | Autolisp程式語言除錯系統 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI408602B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5590253A (en) * | 1994-07-14 | 1996-12-31 | Fanuc Ltd. | Sequence program edit system for inserting additional graphic elements and for automatically inserting vertical connector lines |
TWI254866B (en) * | 2004-04-19 | 2006-05-11 | Mitsubishi Electric Corp | Program construction device and program construction method |
-
2008
- 2008-06-06 TW TW97121048A patent/TWI408602B/zh not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5590253A (en) * | 1994-07-14 | 1996-12-31 | Fanuc Ltd. | Sequence program edit system for inserting additional graphic elements and for automatically inserting vertical connector lines |
TWI254866B (en) * | 2004-04-19 | 2006-05-11 | Mitsubishi Electric Corp | Program construction device and program construction method |
Also Published As
Publication number | Publication date |
---|---|
TW200951814A (en) | 2009-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9582396B2 (en) | Techniques for generating an executable debugger script | |
Gong et al. | DLint: Dynamically checking bad coding practices in JavaScript | |
Lahiri et al. | Symdiff: A language-agnostic semantic diff tool for imperative programs | |
JP7042270B2 (ja) | セルフデバッギング | |
US10037260B2 (en) | System for expression evaluation at debug time | |
Donaldson et al. | Putting randomized compiler testing into production (experience report) | |
JP2016511484A5 (zh) | ||
Bhat et al. | Formal verification of the linux kernel eBPF verifier range analysis | |
TWI408602B (zh) | Autolisp程式語言除錯系統 | |
Jayaraman et al. | Consistency of Java run-time behavior with design-time specifications | |
Lindström et al. | Mutating aspect-oriented models to test cross-cutting concerns | |
Schubert et al. | Into the woods: Experiences from building a dataflow analysis framework for C/C++ | |
Könighofer et al. | Automatic error localization for software using deductive verification | |
JP6483507B2 (ja) | 制御プログラム作成装置、及び制御プログラムのデバッグ方法 | |
JP6290147B2 (ja) | 制御機器プログラムコードを作成するコンピュータ実装方法および関連するメッセージ管理システム | |
CN103365775B (zh) | 基于内部状态检查的单元测试方法 | |
JP2008210059A (ja) | 情報処理装置、デバッグ支援方法及びプログラム | |
JP2009070322A (ja) | データ処理装置、システム、プログラム、及び、方法 | |
WO2012133606A1 (ja) | プログラムの影響範囲設定装置、並びにこれを用いた影響範囲特定方法及び影響波及のあるプログラムの抽出方法 | |
Kim et al. | Code transformation issues in move-instance-method refactorings | |
JP2013218574A (ja) | エンディアン問題検出装置 | |
CN104050081A (zh) | 调试静态库函数的方法及系统 | |
JP2016212710A (ja) | ラダープログラム構文解析ツール | |
Brunner et al. | Bug path reduction strategies for symbolic execution | |
Jablonski | Managing the copy-and-paste programming practice in modern IDEs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |