YOS G-specの適当なブログ
ゲームやネットが大好きな人のブログ。毎日更新を目指してました。
2016年04月30日 (土) 18:44 | 編集
ダウンロードして以来、使用方法が全く分からずぶん投げてたClozureLisp
だけど、あるたった一つの記事のおかげですべて解決した。

以下コマンドでインタプリタ実行。
終了後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。

コンソール実行
2016年04月25日 (月) 02:06 | 編集
js単一ファイルで動作するようになって、
変更のしやすさが大分向上しました。

Mery Wikiの方に載せてみたので使う方がいればどうぞ。
コンソール実行
2016年04月23日 (土) 01:51 | 編集
XpCWo.jpg
arduino.png

マイコン買いました。
ただし、Cをまともに触る気は無かったのでNode.js(johnny-five)が使えるものを。
Rubyとかも使えるらしいね。
試してないけど。
ただし、スクリプト言語はコンパイル書き込みしないので、PCから切り離しての動作は出来ないようだ。
どうしてもやりたければ、Linuxなり対応してるマイコンにNode流し込んで動作させる必要があるという。

以下ソース今日の垂れ流し。
非同期がなかなか厄介だね。
ループさせると再帰しかないのでスタックも食いっぱなしになってしまう。
≫追記を読む...
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はワイルドカードでコンパイルするので場所次第では誤作動もあります。
≫追記を読む...
Template by 【投資信託のことなら】投信Web /

Powered by .