色々情報収集. 上手いタイトルが思い浮かばない
色々情報集め中. なんかかなり楽しくなってきた.
ただ日本語の情報は, そんなに多くないね. どっかで英語に触れる必要がある.
簡単に検索して情報を集めてみた.
2chにも言ってみたけど, 処理系は色々あるみたいね.
スレによるとclispは, バーチャルマシンらしい. ということはネイティブコードには落とせないのかな?
2chのオススメは, SBCLってやつ. その内使ってみるかな.
コマンドclispへ拡張子.lispファイルを渡して, 実行するサンプルを調べて作ってみた.
;; my main (defun main () (print *args*)) (main)
関数名は, mainである必要はどこにもない. 別にtestでも何でもいい.
$ clisp testfile.lisp ("a" "b" "c")
こんな感じで表示されるはず.
「*args*」が引数をとる変数らしい.
こいつをコンパイルしてみる.
$ clisp -c testfile.lisp
これでエラーがなければコンパイルできて, 「testfile.fas」, 「testfile.lib」の2つが生成されているはず.
testfile.fasがコンパイルされたファイル.
ついでにshebang書いた場合.
自分の環境だと, clispの場所はこんなとこ.
$ where clisp /usr/bin/clisp
/usr/bin/以下にあるらしい. よって, shebangは, こんな感じでOK.
#!/usr/bin/clisp ;; my main (defun main () (print *args*)) (main)
あとは, ファイルに実行権限を与えてやれば, ファイルを直接指定してやるだけで実行できる.
$ chmod u+x testfile.lisp $ ls -l 合計 1 -rwxr--r-- 1 khiker khiker 296 12月 30 16:22 testfile.lisp* $ ./testfile.lisp 1 2 3 ("1" "2" "3")