2016年04月30日 (土) 18:44 | 編集
ダウンロードして以来、使用方法が全く分からずぶん投げてたClozureLisp
だけど、あるたった一つの記事のおかげですべて解決した。
以下コマンドでインタプリタ実行。
終了後Repl移行するため(quit)必須。
> wx86cl --load hoge.lisp
exeコンパイルを行うときはコマンド上からではなくソース自体にオプションを書き込んでloadすればそのままコンパイルされるみたい。
引用元ままであまり理解できていないけどこんな感じ。
凄い。
だけど、あるたった一つの記事のおかげですべて解決した。
以下コマンドでインタプリタ実行。
終了後Repl移行するため(quit)必須。
> wx86cl --load hoge.lisp
exeコンパイルを行うときはコマンド上からではなくソース自体にオプションを書き込んでloadすればそのままコンパイルされるみたい。
(defun main ()
(format t "Hello ~%")
)
(ccl:save-application "hello.exe"
:toplevel-function #'main
:prepend-kernel t
)
引用元ままであまり理解できていないけどこんな感じ。
凄い。
2016年04月30日 (土) 12:49 | 編集
前回のこれからも大分魔改造が施され、行数も500行に迫ってきました。
言語処理系対応数が結構増えて僕が持ってる処理系は大体Meryだけで動かせるようになっているはず。
言語ごとにコンパイルの有無を一行目にコメント入れることで設定できたり、
同様にexeやclassを実行前に削除することもできる。
基本的に使う人がソース読む作りになっているから使う人は該当する言語の部分読んでくださいねと。
あとはソース改変の利点として例えばエンジンがいっぱいあるJavaScriptでも(Node.jsとか、JScriptとかRhinoとか)
任意の形式で実行させることが可能。
上部にあるENGINE関数のコメントアウトを切り替えればOK。
コンソール実行
言語処理系対応数が結構増えて僕が持ってる処理系は大体Meryだけで動かせるようになっているはず。
言語ごとにコンパイルの有無を一行目にコメント入れることで設定できたり、
同様にexeやclassを実行前に削除することもできる。
基本的に使う人がソース読む作りになっているから使う人は該当する言語の部分読んでくださいねと。
あとはソース改変の利点として例えばエンジンがいっぱいあるJavaScriptでも(Node.jsとか、JScriptとかRhinoとか)
任意の形式で実行させることが可能。
上部にあるENGINE関数のコメントアウトを切り替えればOK。
コンソール実行
2016年04月23日 (土) 01:51 | 編集
2016年04月22日 (金) 00:11 | 編集
スクリプト使うのに、デバックする時前にcmd開くのが面倒臭いので、
Meryで直接マクロでトライ&デバック出来るようにしました。
以下のjsファイルを"Mery\My_Macros\"に配置して、
// exec_node.js
Document.Save();
var debug="";
if(0<=Document.GetLine(1).toLowerCase().indexOf("//debug")){
debug="debug ";
}
var mery_path=Editor.FullName.split("\\");
mery_path.pop();
mery_path.push("Plugins\\exec_node");
var exec_node=mery_path.join("\\");
var cmd=new ActiveXObject("WScript.Shell");
cmd.Run(exec_node+" \""+Document.Path+"\" "+debug+Document.Name,1);
次に以下のbatファイルも"Mery\Plugins\"に配置。
:: exec_node.bat
@echo off
cd/d %1
node %2 %3
pause > nul
exit
あとは、Meryからjsの方からマクロ登録すれば完成。
コマンドで呼び出してポーズしてるだけなので、
他のスクリプト言語でもごく少量の修正でも使えるようになるかと思います。
これで、エラー文もゆっくり読むことができる。
※一行目に//debugと入れればdebugオプションを追加できるようになりました。
追記より、Ruby、C#、VB版追加。
C#、VBはワイルドカードでコンパイルするので場所次第では誤作動もあります。
Meryで直接マクロでトライ&デバック出来るようにしました。
以下のjsファイルを"Mery\My_Macros\"に配置して、
// exec_node.js
Document.Save();
var debug="";
if(0<=Document.GetLine(1).toLowerCase().indexOf("//debug")){
debug="debug ";
}
var mery_path=Editor.FullName.split("\\");
mery_path.pop();
mery_path.push("Plugins\\exec_node");
var exec_node=mery_path.join("\\");
var cmd=new ActiveXObject("WScript.Shell");
cmd.Run(exec_node+" \""+Document.Path+"\" "+debug+Document.Name,1);
次に以下のbatファイルも"Mery\Plugins\"に配置。
:: exec_node.bat
@echo off
cd/d %1
node %2 %3
pause > nul
exit
あとは、Meryからjsの方からマクロ登録すれば完成。
コマンドで呼び出してポーズしてるだけなので、
他のスクリプト言語でもごく少量の修正でも使えるようになるかと思います。
これで、エラー文もゆっくり読むことができる。
※一行目に//debugと入れればdebugオプションを追加できるようになりました。
追記より、Ruby、C#、VB版追加。
C#、VBはワイルドカードでコンパイルするので場所次第では誤作動もあります。