C語言實現的lisp解析器介紹,c語言lisp解析

來源:互聯網
上載者:User

C語言實現的lisp解析器介紹,c語言lisp解析

最近,因為Perl而學習函數式編程, 再進一步學習lisp, 真是一學習就發現自己的渺小。


無意中找到了一個非常簡單的C語言版的, lisp解析器。

代碼很短, 卻很見功底, 漲姿勢了。附帶還學習了記憶體回收, 真是收穫不少!


http://piumarta.com/software/lysp/


但願區域網路能訪問。




CAD lisp程式注釋解析

(defun c:try (/ p) ;; 定義命令 try 其中有一個參數p
(setq p (getpoint "from point: ")) ;;獲得p值,根據一個提示 from point: 使用者點擊位置 獲得點 p(包含座標值)
(command "PLINE") ;; 調用命令 PLINE ,畫線命令
(while p ;;迴圈語句,p 點不為空白,即每次都點擊一個位置點
(command p) ;;PLINE命令後的一個點,即畫線命令後指定一個點進行畫線
(setq p (getpoint "to point: ")) ;; 提示資訊=to point: ,提醒使用者選取畫線到達點
)
(command);; 空命令退出
)
;;此lisp程式是註冊一個命令try,實現根據使用者連續點擊座標畫線的功能,直到使用者不再點擊為止
 
C語言的程式 換成FORTRAN與Lisp 寫出來

(defun c:aa()
(setq m (getint "\n請輸入m:>"))
(setq n (fac m))
(princ (strcat "\nm=" (rtos m 2 0) " n=" (rtos n 2 0)))
(prin1)
)

(defun fac(a)
(if (or (= a 0) (= a 1))
(setq c 1)
(setq c (* a (fac (- a 1))))
)
)

我只會lisp,經我測試,這個階乘的程式可用。希望能給我分。如用不了可以找我
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.