lisp編譯
1. lisp有什麼比較好用的編譯器么
如果你是學的是common lisp的話:可以使用 lisp in a box。
lisp in a box 是一個在emacs的基礎上擴展的ide
如果你是學的是autolisp的話:可以使用 cad裡面自帶的vlisp開發環境。
在cad的命令行輸入vlisp或者vide後回車即可進入。
如果你是學的是elisp的話:可以 直接使用emacs。
如果你是學的是scheme的話:可以 直接使用ChezScheme
如果你想自己動手做一個的話可以參考sicp後幾章或者看看王垠的如何寫解釋器那篇文章
2. lisp編程:編譯完lisp源代碼後,出現了四個文件
XXXXX.lisp是lisp的源文件
XXXXX.list~是XXXXX.lisp的備份文件
XXXXX.lisp是XXXXX.lisp的加速載入文件
XXXXX.lib是編譯過的庫文件
3. 怎麼能將Lisp代碼編譯成EXE文件
為什麼要編譯成exe文件呢?要讓其在所有的windows上都能運行?
【首先】:lisp是腳本語言,所以它是跨平台的,也就是說它不需要被編譯成exe文件,就能在所以機器上運行。
【方法】這方法有點笨,但是很好,也適用於想把java轉exe苦苦掙扎的人們
方法就是:寫一個bat文件
【bat文件的內容】文件名暫定為run.bat
.\clispfolder\clisp programname
PAUSE
【注】
(1)一定要用反斜杠
(2)clispfolder 為你的lisp的解釋器的文件夾的名字
(3)clisp 為你的解釋器的名字(就是clispfolder中那個exe文件)
(4)programname為你的lisp程序的名字,貌似帶不帶後綴都可以。
(5)用記事本寫完上面兩行東東後,將其存為.bat格式
【然後的操作】
隨便建一個文件夾,這個文件夾中要放進去三個東東
(1)你的lisp的源代碼
(2)你的lisp的完整的解釋器,就是講clispfolder完整的拷貝到這個文件夾即可
(3)剛才寫的那個bat文件
【之後】
你就可以帶著這個文件夾滿世界跑啦,在「所有」的windows中,雙擊那個bat文件,即可運行你寫的lisp啦..................................
【此方法的缺點】
(1)那個clispfolder太大,如果你只是寫一個不到1M的lisp的話,那這種方法很臃腫
(2)這種方法貌似不適用於用lisp寫windows的@病#毒!
----------------------------------------------------------------
不過這個方法可靠,簡單!
4. 如何在AutoCAD Visual Lisp編輯器中創建與編譯lisp程序
打開Visual Lisp編輯器有兩種方式:
1.AutoCAD2008及之前的版本,在菜單欄「工具(Tools)"下面,選擇」AutoLisp"---->"Visual
Lisp編輯器"。(」AutoLisp"---->"導入應用"這個命令是用來載入AutoLisp腳本的)
2.AutoCAD2009及之後的版本,在功能區的」管理「選項卡里可以直接打開Visual Lisp編輯器。
如何在AutoCAD Visual Lisp編輯器中創建與編譯lisp程序
打開Visual Lisp編輯器之後新建一個文件,並另存為Lisp源文件。然後就可以在編輯窗口裡輸你的代碼了。
代碼編輯並調試確認無錯誤後,就可以在AutoCAD中使用了。
如何在AutoCAD Visual Lisp編輯器中創建與編譯lisp程序
左邊的按鈕表示立即運行當前代碼,如果有錯誤就會提示出來,右邊按鈕是切換到CAD窗口。
如果不需要再修改代碼了還可以將代碼進行編譯以加速運行。
如何在AutoCAD Visual Lisp編輯器中創建與編譯lisp程序
根據向導一步步進行編譯很簡單的。
如果在其他CAD圖形文件中需使用當前代碼文件或編譯後的文件,就按上面第一點的,或者在命令行輸入」ap",打開導入應用的對話框。
如何在AutoCAD Visual Lisp編輯器中創建與編譯lisp程序
1是用來臨時導入的,2是將程序加入CAD的啟動組。
lisp解決重復性勞動問題
在設計和繪圖中,你覺得都是簡單粗暴的重復性工作,就可以考慮用AutoLisp來代替你做。
首先,AutoLisp也是一個程序設計語言,屬於Common
Lisp的子集,同時加入了很多自定義的函數。即然是一個程序語言,就是其他編程語言能做的,它也能做,只是他的lisp語法跟一般的語言有些差另就是了,但是如果是一個沒有VB、C#、C++(對應於AutoCAD的開發方式分別是VBA,.net,ObjectArx)的基礎的人來說,AutoLisp是很簡單而且特別容易上手的一個語言。
作為一個編程語言,AutoLisp能做的很多:
1、擴充AutoCAD的原有命令。任何帶有C:前綴的AutoLisp函數,在AutoCAD中都可以像"line" "circle"
"dim"等命令一樣使用。
2、編寫代碼直接根據國標圖庫要求來繪出一些常用圖庫標准件什麼的,或是代替人查找各種設計手冊中的相關數據並繼續使用。
3、進行參數化繪圖,對於一些不特別復雜的系統,提供窄范圍、大深度的專業設計自動化或者輔助系統,如發動機裝配工具設計、縱使機主軸箱設計等。
4、DWG文件本質上是AutoCAD在圖形生成和編輯中使用的資料庫,可以將一些非圖形信息的數據(粗糙度,高度,厚度。。)等存於DWG文件中作
為非圖形資料庫文件,然後利用Lisp程序進行讀取等。
各種AutoCAD二次開發方式的比較:
由於 .net語言和c++的學習曲線比較陡峭,所以簡單易學的AutoLisp經常與VBA進行對比。(當然如果有VB的基礎還是直接學VBA好了。)
AutoLISP擅長建立新命令和產生已有命令的連接。VBA擅長執行包括在其他應用程序中的組件,如Microsoft的Excel和Access。AutoLISP是基於表處理的編程體系,它允許程序員隨意地存儲和操作傳送信息,然而VBA部件包括數據和對復雜情況的各種有效操作,這就是問題變得復雜的地方。
不過,在AutoCAD2000開始,Autodesk公司就在AutoCAD中加入了Visual
Lisp編輯器,引入了許多新函數擴充AutoLisp的功能,並支持ActiveX對象的訪問方式,所以使用AutoLisp來與Word\Excel等程序進行交互也是變簡單了。
另外,在創建帶GUI圖形界面的應用程序上,VBA當然是所見即所得的了,而AutoLisp是通過DCL文件來實現GUI的(語法很簡單,但做不到所見即所得).這點是AutoLisp略遜一籌了。原文出自[
CAD自學網 ] 轉載請保留原文鏈接:http://www.cadzxw.com/1873.html
5. lisp語言編譯器 和書
lisp語言編譯器是CAD自帶的(CAD2000以後都有),書的話到當當網上買,很多的
6. lisp編程:怎麼編譯lisp源代碼呢
lisp程序不需要編譯,直接在autocad中載入就可以了,然後執行定義的命令就行。
7. 如何將LISP源程序編譯成fas\vlx格式
1、打開Visual
LISP編輯器。
2、點文件/生成
應用程序
/新建應用程序向導。
3、如文件品種單一,則選簡單模式,如用幾種類型文件,如LISP,DCL等等,則選擇專家模式。
4、按程序要求,選擇已有的
程序文件
所在
文件夾
,並填寫想要的
編譯
後的VLX文件名稱如123。
5、最在當出現編譯應用程序時,默認為打勾項。此時點擊完成按鈕,就KO了。
6、打開已有的程序文件所在文件夾,把124.VLX文件找出來,就可以加以應用了。
補充:LISP(全名List
Processor,即列表處理語言),由約翰·麥卡錫在1960年左右創造的一種基於λ演算的
函數
式
編程語言
。
8. 請問LISP編程語言的編譯器是用什麼語言編寫的
LISP(全名LISt Processor,即鏈表處理語言),由約翰·麥卡錫在1960年左右創造的一種基於λ演算的函數式編程語言。 ——網路
使一種函數編程語言,曾被用於人工智慧,語言都是一些符號,函數,很簡單的語言(因此也做不出什麼程序來或是很難做出,更別談人工智慧),不需要英語基礎。
9. 怎麼能將Lisp代碼編譯成EXE文件
編譯lisp源代碼的時候要寫一段說明放在源代碼後面讓編譯器知道想要做什麼。
源代碼,目的是使用 f 12 23 22這樣的命令求出12 23 22這三個數字的階乘。
===============================
(defun main (&rest args)
(defun factorial (n)
(if (= n 0)
1
(* n (factorial (- n 1))) ) )
(loop for i in *args* do (print (factorial (parse-integer i))))
(quit))
(EXT:SAVEINITMEM "f"
:QUIET t
:INIT-FUNCTION 'main
:EXECUTABLE t
:NORC t)
===============================
保存在文件a.txt裡面,然後運行命令
$ clisp a.txt
就編譯好了。這裡面有個小幽默。一開始把「EXT」那一段放在了main函數前面,經過在lisp環境調試,發現如果把這個文件load兩遍就能夠編譯出正確結果,load一遍就不行,load三遍四遍啥的都沒問題。我感覺到超級奇怪。過了很久才明白過來。
這樣編譯出來的是巨大的可執行文件,在文件里lisp把自己也放進去了。
如果要編譯純粹的lisp目標代碼,執行起來就沒這么痛快了,但是文件會小很多。
那個時候刪掉(EXT)那一段,用命令
$ clisp -c a.txt
即可。