【Lua】組み込み系言語総合 その3【Squirrel】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2010/05/01(土) 01:03:17使われるプログラミング言語についてのスレッドです
まとめwiki(なにか質問する前に必ずみること!)
http://wikiwiki.jp/lua/
その他の参考URLは>2から
■前スレ
【Lua】組み込み系言語総合【Squirrel】
http://pc12.2ch.net/test/read.cgi/tech/1205208141/
【Lua】組み込み系言語総合 その2【Squirrel】
http://pc12.2ch.net/test/read.cgi/tech/1243210301/
■過去スレ
その3 http://pc11.2ch.net/test/read.cgi/tech/1160799232/
その2 http://pc8.2ch.net/test/read.cgi/tech/1063711237/
その1 http://pc5.2ch.net/tech/kako/1034/10341/1034182349.html
0666デフォルトの名無しさん
2010/12/17(金) 10:17:22上の例のDSLと変わらんか・・・
ネイティブスレッドでの動作だったり仮想マシンの中断、復元とはまた違うな
0667デフォルトの名無しさん
2010/12/17(金) 18:45:030668デフォルトの名無しさん
2010/12/18(土) 10:33:34なんでこんなことやってのか不思議だったんだが、VMの状態を
保存してるのかな。フラグは分離しとかないバグ取りで死ねそう
なもんだけど。
0669デフォルトの名無しさん
2010/12/19(日) 08:32:33〈〈〈 ヽ
〈⊃ }
∩___∩ | |
| ノ ヽ ! !
/ ● ● | /
| ( _●_) ミ/ Lua!!
彡、 |∪| /
/ __ ヽノ /
(___)
0670デフォルトの名無しさん
2010/12/19(日) 09:19:130671デフォルトの名無しさん
2010/12/19(日) 11:20:170672デフォルトの名無しさん
2010/12/19(日) 23:00:510673デフォルトの名無しさん
2010/12/19(日) 23:46:300674デフォルトの名無しさん
2010/12/19(日) 23:57:310675デフォルトの名無しさん
2010/12/20(月) 11:07:16MIT License自体が面倒ってこと?
著作権表示や本許諾表示に抵抗があるってことかな。
0676デフォルトの名無しさん
2010/12/20(月) 11:14:15ミドルウェアとかで金はらえる先ならOKなのにフリー(無償、の意)だと難色を示される不思議
0677デフォルトの名無しさん
2010/12/20(月) 12:30:47>>676
最近ライセンス表示画面を持つコンシューマゲームが増えてきたと思ってたんだけど、
所によっては難しいのかもね。
0678デフォルトの名無しさん
2010/12/20(月) 14:15:22じゃあたくさん人に使ってもらうためには
いろんなライセンス形態用意しとくのが良いのかな?
0679デフォルトの名無しさん
2010/12/20(月) 17:46:32>>665
もっと単純で、中断したコルーチン自体の管理の話。
セーブ/ロードについてはセーブできる箇所(通常クリック待ち)に到達した時点で
遷移状態を含めてそのままシリアライズしてるからさほど難しくはない。
(動作中のコルーチンではなくその初期化パラメータを保持したオブジェクトを用意しておく)
コルーチンはなるほどひとつの関数内の処理を中断できるけど、
各Widgetごとにイベントハンドラを定義するならその数だけ増えてしまうし
それらが複合的にアニメーションしたり状態変化したりするのって
そんな単純化出来る話かねえ、と。
0680デフォルトの名無しさん
2010/12/20(月) 18:03:06保存の必要性がある時点で、VMのステートごと保存しないといけないから急に大がかりになる。
0681デフォルトの名無しさん
2010/12/20(月) 18:29:17うまく伝わらなかったようだ。ごめん。
セーブ/ロードで出入りする情報の話と、
UI遷移の話は別個に考えてほしい。
UIの遷移はオレもひょっとするとコルーチンで書くと楽なんじゃないかとは思ってるんだけど、
コルーチンって結局中断中の状態を変数として外側で持っておかないといけないよね。
じゃないと復帰できないから。
で、コルーチンがひとつしかないならそれでいいんだけど、
実際にはウィジェットの数だけ発生しうるのにどうするんだろう、というわけですよ。
0682デフォルトの名無しさん
2010/12/20(月) 18:55:20どんな名前だろうと、途中で中断しないように作れば、中断する必要はないと思うが。
0683デフォルトの名無しさん
2010/12/20(月) 19:18:23「そういうところにはコルーチンは別に役に立たないから使わない」、で終了なのではないかと……
「中断中の状態を外側でもっておく必要が無い」ところでだけ使って、それが便利、って話なのに、
その前提条件をはずれた状態で「どうするんだろう」と言われても、その、なんだ、こまる
なお、lua だと ttp://luaforge.net/projects/pluto とかVMまるごと保存してくれるライブラリあるけど、
実際使ったことないのでどのくらい使えるものかは知らない。
保存されるデータサイズ不定だから、それが許容される用途でないと使うのは難しいんではないかと。
0684デフォルトの名無しさん
2010/12/20(月) 19:52:50それともスクリプト自体をコルーチンと見て実行するやつなのかどっちなんだろう。
Luaで言うと、前者がcoroutineで作るやつ、後者がグルー関数内でlua_yield呼び出して止めるやつ。
0685デフォルトの名無しさん
2010/12/20(月) 20:48:18たとえば coroutine.yield は中で lua_yield 呼んでるだけ。
スクリプトだけでコルーチン制御するのは、エラーで止まったときの対応とかめんどくさいから俺はやらない。
複数のコルーチンを順次実行できるような処理をシステム(ゲームエンジンとか)側に内包したほうが良いと思う
0686デフォルトの名無しさん
2010/12/21(火) 11:00:51エロイ人出版よろしくお願いします。PDFだとなお嬉しいです。
0687デフォルトの名無しさん
2010/12/21(火) 11:06:26コルーチンって初期化した段階で別の変数に入れるだろ?
その話をしてるだけなんだけど。
それって中断中の状態を外側で持っているわけだよね。
0688デフォルトの名無しさん
2010/12/21(火) 12:00:51理解した。根本的なとこで話がずれてた。
確かに個々のコルーチンをそれぞれの場所で実行しようとしたら数が増えると管理しきれなくなるね
対応策としては以下のようなものがあるかと
1. いわゆる「タスクシステム」的な組み方をする
・基底になるオブジェクトに共通的にコルーチンのスレッド変数を持たせる
・それらのオブジェクトを総なめしてコルーチン部を実行するような機構を作る
ゲームなりウィジェット的な処理なりなら、オブジェクトを総なめするような処理は
たいていどこかに一ヶ所はあるはずなので、そこで統一的に実行するようにする。
2. 専用のスレッド実行部に集約させる
コルーチンスレッドを保持した変数は、生成/破棄部で集約して、常に一つのリストに保持させる。
そのスレッドリストをなめて全部のスレッドを1段階だけ実行するような処理を作っておいて、
それを定期的に呼び出すようにする
こうしておくと、スクリプト的には、スレッドは勝手に動いてくれるように見えるので特に処理を気にすることはない。
この処理部分でいわゆる sleep() と、スレッド間の待ち合わせとかも実装できるので、かなり自由度があがる
個別のスクリプトからは完全独立するので、処理は全部Cで書いてエンジン側にうめておくこともできる。
squirrel での実装例としては以下のようなものがある。
・sqrat に sleep 機能を含むスレッド実行集約の例がある。これは登録自体は手動
・ttp://ruriko.denpa.org/201011a.html#0401 が thread実行機構をエンジン内に持つように実装してる。
関数を渡して Thread クラスのインスタンスを生成するだけであとは勝手に動く
0689デフォルトの名無しさん
2010/12/21(火) 14:19:03詳しい解説ありがとう。
2つに分けて質問してくれてるが、これはほぼ同じ概念を2つの段階で説明してるようなものだな。
ようするにネイティブスレッドがOS側で管理されるように、
コルーチンの実行制御を専用のサブシステムに委託することで
マイクロスレッド的な運用により近づけるということだよね。
うーん。元々各種サブシステムの更新制御をタスクシステム化してるので、
どうやって組み合わせるべきか悩みどころだなぁ。
毎フレーム subsytem.update()が呼び出される仕組み。
タスクは単なるリストではなくて固定の整数値を登録時に運用側が制限する形なので
こういった暗黙的な運用とはやや相性が悪い。
とはいえ、少し改良すればマージして両方扱えるようにすることも可能なような気がしてきたよ。
どうもありがとう。
0690デフォルトの名無しさん
2010/12/21(火) 14:20:540691デフォルトの名無しさん
2010/12/21(火) 14:52:49最終的にやることは同じなんだけど、処理部を個々の「タスク」に分配するか、一つグローバルにもつか、の差で分けたつもり。一応。
ある案件で、既存の「タスクシステム」に squirrel をつっこんだときは、
グローバルスタイルの squirrelスレッド処理一式を、そのシステムでの
一つの「タスク」としてくみ入れる形で既存の他のタスクとの整合をとった。
個別のタスクと関連した部品部から呼び出すスクリプト群は暗黙に動作することになるけど、
概念的には、「実行中のスクリプトの :suspend() までが、今のフレームで動作する」
となるので、特に他と混乱を起こすことはなかった。
タスクの処理順番を念頭においておく必要があるくらいかな。中途ではさむと混乱するから、
squirrel タスクの実行は先頭、または、最後尾にしておいて、スクリプトはそのタイミングで
動作する、ってのを周知しておく必要はある。
0692デフォルトの名無しさん
2010/12/21(火) 15:39:48関数でも、オブジェクトでも、コルーチンでも、
変数に入れて管理すれば、全部同じことなのになぁ。
そもそも、
関数はクラスに入れる、関数は変数には入れない
というOOPがキチガイじみている。
0693デフォルトの名無しさん
2010/12/24(金) 18:39:32どんどんLuaでやることが増えてもうC++でやることが
描画と衝突判定とファイル解凍ぐらいなんだけどそんなもん?
0694デフォルトの名無しさん
2010/12/25(土) 14:58:29そんなもんじゃね?(描画と衝突判定とファイル解凍だけになるかはゲームによりけりだと思うが)
速度的にクリティカルな部分やOSとの細かいやり取りは低水準言語で、
楽に書けて実行できる部分はスクリプトでなんていうのは
ゲーム以外でも見かけるよ
0695デフォルトの名無しさん
2010/12/25(土) 14:59:40そもそもLL系の言語とそのライブラリがそんな感じじゃねーかw
0696デフォルトの名無しさん
2010/12/27(月) 04:03:40プラグインはpluginディレクトリにLuaファイルを置いてもらうような形式で、
それで、読み込んだLuaコードに制約を持たせたいと思っています。
指定したファイル以外はファイルアクセス禁止にさせたいんです。できますでしょうか?
例えば、Luaのファイルアクセス系関数を全部無効にして、C++側で用意した独自ファイル操作関数を経由する形はできますか?
0697696
2010/12/27(月) 04:07:51他言語でいうeval()やsystem()なんていう関数も無効にしたいです。。。
0698デフォルトの名無しさん
2010/12/27(月) 04:08:420699696
2010/12/27(月) 05:20:490700デフォルトの名無しさん
2010/12/27(月) 05:53:03print関数を例にすると
lua_State *L=luaL_newstate(L);
//luaL_dostring(L,"print('hello')"); //ng
luaL_openlibs(L);
luaL_dostring(L,"print('hello')"); //ok
luaL_dostring(L,"print=nil");
//luaL_dostring(L,"print('hello')"); //ng
lua_close(L);
0701デフォルトの名無しさん
2010/12/27(月) 10:19:37lua でも squirrel でもそういった機能はコア機能ではなくライブラリなので、
それらの関数を登録しているところを探して改造したりつぶしたりするだけだろうて。
0703デフォルトの名無しさん
2010/12/28(火) 00:24:21#ifdef にしとけば svn でのマージもまず失敗しないよ。
わざわざ起動時に無駄な登録処理+削除処理がはさまるほうがいやだってほうが多数派だと思う。ここだと。
0704デフォルトの名無しさん
2010/12/28(火) 01:29:470705699
2010/12/28(火) 01:54:02コア機能ではなくとも標準ライブラリなんだからそのまま使おうよ
printf関数を潰すのにstdio.hに手を加えたり
oreorestdio.hを用意する人はいないでしょ?
潰したい機能が明確で後々変更することも無いならそれでもいいけど
そうでない場合は、ちょっとした修正のたびにリビルド必須になるよ?
plugin以外の目的でスクリプトを利用したくなったりしたらどうするの?
グローバルなフラグを用意するの?排他も必要になるよ?
pluginという利用特性上
初期化済みのVMをpoolしておけるので
ローディング時のコストなんて気にするものじゃないでしょ
スクリプト言語の利点を生かそうぜ
0706デフォルトの名無しさん
2010/12/28(火) 02:50:29まるごとメモリ上で無駄になるライブラリって気にならない?
>例えば、Luaのファイルアクセス系関数を全部無効にして、C++側で用意した独自ファイル操作関数を経由する形はできますか?
こういう標準ライブラリ使いたくないんだけど的要望に対してはもっとも適切な回答だと思います。はい。
0707デフォルトの名無しさん
2010/12/28(火) 04:33:13ならないな。
生産性とかパレートの法則って聞いた事ない?
そういったネガティブな理由による削る作業は最終手段だよ。
てか、運用前の段階で標準ライブラリを削るほどカツカツな状況を想定するなら
色々規制しなければ信用ならんようなプラグイン作者に間口を用意する事すらしないよね?
0708デフォルトの名無しさん
2010/12/28(火) 09:40:530709デフォルトの名無しさん
2010/12/28(火) 09:41:03俺はこの手の言語の「標準ライブラリ」はサンプルでしかないと思ってるので以下略。
0710デフォルトの名無しさん
2010/12/28(火) 10:22:34あ、一応。ファイル系のライブラリ(io/file)は、もともと実装側で切り離し可能にはなってる。
system とか相当は load, loadfile, loadstring あたりになるけど、これはベースライブラリの一部なので、
削るか口を起動後つぶすかが必要。
0711デフォルトの名無しさん
2010/12/28(火) 11:50:22evalもダメ
systemもダメ
もちろんpackageもダメ
その理由がプアな環境だとすると
反復もダメ
テーブルもダメ
stringもダメ
となるが、Luaを選ぶ意味はあるのだろうか?
0712デフォルトの名無しさん
2010/12/28(火) 13:22:37誰もそんな話はしていない
0713デフォルトの名無しさん
2010/12/28(火) 18:41:44デフォルトのファイル操作関数が使えなかったりするな。
0714デフォルトの名無しさん
2010/12/29(水) 21:50:210715デフォルトの名無しさん
2010/12/29(水) 21:53:14それらが必要に応じて取捨選択できるってことでしょ。
そうでないと組み込み用途とはいえ、こんなにライブラリが貧弱なスクリプト言語使おうと思わないよ
標準のライブラリやオプソのライブラリ組み込んで楽したいなら、組み込みも考慮されてるPythonなり使えばいい
でもLuaを選ぶということは制限された環境だったりあえて制限したいわけだよ
今時ガラケーでさえJava VMが制限されて乗ってんだぞ
0716デフォルトの名無しさん
2010/12/30(木) 02:20:18701さん登場以降のやり取りは
カッツカツな環境という(質問主は一言も言っていないが)
条件付けがあってのものだよ
0717デフォルトの名無しさん
2010/12/30(木) 06:19:53これに関してはインターフェイスを合わせられるならLua標準ライブラリの関数を上書きしていけると思う
合わせられないなら標準ライブラリを使わず自前関数を使ったり、そもそもスクリプトに直接ファイルアクセスを許さず
実装が管理して、それにアクセスさせたり、とかか。>>713の通り、自前でファイル読み込みを最適化するのがほとんどだろうし。
ただ、Luaがエラー処理に普通にfopen系を使ってたりするんでここらへん頭痛い。これどうにかならんかな。
あとsetjumpも環境によって駄目だったりする。これのほうが頭痛いかもしれん。
0718デフォルトの名無しさん
2010/12/30(木) 06:39:540719デフォルトの名無しさん
2010/12/30(木) 07:22:31>fopen系列が使えない環境は多い
ANSI-Cにすら準拠していない環境なのにLuaを組み込むの?
"使えない環境"ではなく"使える立場にない"ってだけじゃない?
0720デフォルトの名無しさん
2010/12/30(木) 08:58:46ということすら想像できないの? 馬鹿なの? 死ぬの?
0721デフォルトの名無しさん
2010/12/30(木) 11:08:59ANSI-Cにすら準拠していない環境だがLuaを組み込んでいる
という実装実績例を出してもらえない?
自分の足りない頭ではペイすると思えないので妄想の域を出ないんだ
0722デフォルトの名無しさん
2010/12/30(木) 11:34:52そういう環境で普通にfopenとか使うのが普通とは思えないんだけど。
必死にANSIANSI言ってるけど、言語が標準準拠してるかどうかということと、
ライブラリが全機能フルに使えるかというのは普通分けて考えると思うんだけど。
0723デフォルトの名無しさん
2010/12/30(木) 11:36:50曖昧だった前提条件を各人の都合のいいように狭めて議論するのやめなさい
0724デフォルトの名無しさん
2010/12/30(木) 13:02:55fopenが使えない=非ANSI準拠という前提自体が間違ってるわけだが
0725デフォルトの名無しさん
2010/12/30(木) 13:24:110726デフォルトの名無しさん
2010/12/30(木) 13:52:38あぁ、やっと理解できたわ。
696の質問内容を前提だと
プラグインによる拡張はOKよ、でも'標準'ライブラリに手を加え下手すりゃバイト単位で削る厳しい環境だよ
プラグインはpluginディレクトリにLuaファイルを置いてもらうような形式、でもfopenは使えないよ
で意味不明だが
前提条件も無く単発で
'標準'ライブラリに手を加え数KB、下手すりゃバイト単位で削る厳しい環境もあるよ
fopenが使えない環境もあるよ
という事なら普通に同意できるな
0727デフォルトの名無しさん
2010/12/30(木) 14:00:10Wii, DSは知らんが、Wiiはサポートしてんじゃないの。
0728デフォルトの名無しさん
2010/12/30(木) 14:30:54両方サポートしてるよ、ついでにGBAも。
0729デフォルトの名無しさん
2010/12/30(木) 14:46:13一応stdio.hとかはついてるみたいだが。
0730デフォルトの名無しさん
2010/12/30(木) 16:19:49・fopenが(自社のアーカイブライブラリを通す必要があるため)使えない環境
・fopenが(標準ライブラリにはあるけど大人の事情により)使えない環境
おいお前らどれ前提に話しとるんや
0731デフォルトの名無しさん
2010/12/30(木) 16:47:30ゲームコンソールについてだから、
>・fopenが(標準ライブラリになく)使えない環境
についてだよ。
0732デフォルトの名無しさん
2010/12/30(木) 17:50:55ライブラリとしては存在するけどアプリ内部での使用には耐えない(ほぼデバッグ表示用専用)
だな。
0733デフォルトの名無しさん
2010/12/30(木) 18:13:260734713
2010/12/30(木) 19:54:40俺が言ってるのはこれだな。
あと、スクリプトそのものの読み込みや#includeに相当するものでファイルを読み込む際にも、
ライブラリ側でfopen使ってたりするとちょっと困る。
0735デフォルトの名無しさん
2010/12/30(木) 21:00:20http://sekisekki.net/index.htm
直感的操作で簡単なゲームが作れます。 簡単に配布可能な状態に出力することができます。
(HSP製のソースコード付きで、スクリプトの知識があれば自由度の非常に高いカスタマイズ
ができます)
他にも仲間預かり機能(100人も)や、仲間の状態/状態異常を細かく設定できたり、
乗り物が作れたり、ゲーム中に画像を差し込んだり、回転やフラッシュなどのエフェクト
なんかも簡単に作れる様です。
移動は矢印キーの他に、キャラがマウスを追っかけたりするとのこと。
戦闘はデフォだとドラクエ系。
他にはオートアクションというのがあってオリジナルシステムの製作に役に立つかも
しれない機能です。これは、マップエディタで設定することで、「マップに入った時・
出た時・一歩歩いた時・戦闘開始前」に自動的に実行されるアクションを設定できる
機能です。
■他にもいろいろ進化中。要望は掲示板へどうぞ。
どんなゲームが作れるかはこれを見れくれ。HSPのカスタマイズはしてないとの事。
「眠られぬ獅子〜序章〜」
http://www.freem.ne.jp/game/win/g02773.html
0736デフォルトの名無しさん
2010/12/31(金) 08:16:20〈〈〈 ヽ
〈⊃ }
∩___∩ | |
| ノ ヽ ! !
/ ● ● | /
| ( _●_) ミ/ Lua!!
彡、 |∪| /
/ __ ヽノ /
(___)
0737デフォルトの名無しさん
2010/12/31(金) 20:08:57>>696 を見るに
・fopenが(自社のアーカイブライブラリを通す必要があるため)使えない環境
を作りたいからfopenを禁止したいのではないか。理由は
> ライブラリとしては存在するけどアプリ内部での使用には耐えない(ほぼデバッグ表示用専用)
かな?
まぁ上で言われてるLuaのファイルアクセス関連上書きするとかに行き着くけど。
Lua内部で使ってるのは、書き換えるか、お勧めしないが上書きするかとかか・・・できたかうろ覚えだが
しかしこの板ID出ないからめんどくせぇw
0738デフォルトの名無しさん
2010/12/31(金) 20:37:34grepしてみたけど標準ライブラリとluaL_loadfileくらいでしか使ってなくね?
0739デフォルトの名無しさん
2010/12/31(金) 20:50:170741デフォルトの名無しさん
2011/01/01(土) 05:51:15--begincode.lua
local _loadfile = loadfile
local permreadlist = {"1.lua","3.lua"}
local canread = function(fname)
for i=1,#permreadlist do
if permreadlist[i]==fname then return true end
end
return false
end
function loadfile(fname)
if canread(fname)==true then
return _loadfile(fname)
else
return nil,"No such file or directory"
end
end
仕様が固まり最終的にはホスト側に落とし込むものだとしても
開発効率は上がるんじゃないかな
packageとか便利だし
0742デフォルトの名無しさん
2011/01/01(土) 10:26:36アドホックに言語の機能、上書き差し替えでもいいね
0743デフォルトの名無しさん
2011/01/01(土) 18:47:44/ / パカッ
//⌒)∩__∩
/.| .| ノ ヽ
/ | | ● ● |
/ | 彡 ( _●_) ミ Lua!!
/ | ヽ |∪| /_
// │ ヽノ \/
" ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
0745デフォルトの名無しさん
2011/01/01(土) 21:01:530746デフォルトの名無しさん
2011/01/05(水) 18:58:490747デフォルトの名無しさん
2011/01/07(金) 22:15:49スクリプトでそれを実装したクラスを書いたんだけど、
どうやればこれをC++のクラスと同じように使える?
0748747
2011/01/08(土) 00:04:24プロパティを取得するのは簡単にできるみたいだけど。
コンテキストを作成して、オブジェクトとメソッドIDを指定して実行するのは出来るけどあまり賢い方法とは思えない。
GetMethodIdByDeclでメソッドID取得するとオーバーヘッドも心配
何かもっといい方法ない?
0749747
2011/01/08(土) 00:21:11AngelScriptでクラスのメソッド呼ぶのは結構難しそうなので諦めた
クラスをスクリプトで記述する代わりに、
XMLに呼び出す関数名とスクリプトのコードそのものを入れる、という方法をフォーラムで見つけた
これでやってみるか
0750デフォルトの名無しさん
2011/01/08(土) 01:02:39メソッドIDはスクリプト読み込んでコンパイルした直後にでも取得して保存してても大丈夫のはず。
あと、1つのスクリプトファイルを1つのクラスと見て、そのスクリプトの関数を呼び出すメソッドを持つC++のクラスを用意する方法はダメかな?
0751デフォルトの名無しさん
2011/01/08(土) 02:02:05マイナーだがPicoC
ttp://code.google.com/p/picoc/
Cのサブセットで4000行程度だそうな。修正BSDライセンス。
なんかおもしろそう。
0752デフォルトの名無しさん
2011/01/08(土) 02:07:550753デフォルトの名無しさん
2011/01/08(土) 13:34:27組み込み想定してるから動的生成については用途広そう
0754デフォルトの名無しさん
2011/01/08(土) 13:36:240755747
2011/01/08(土) 23:27:42メソッドIDはインタフェースのが使えるみたい
ただ、その場合は実行時に線形探索で実装されたメソッドを探すみたいだが。
速度はとりあえず度外視でいいか・・・。
コンテキストはオブジェクトごとに作ることにしよう
0756デフォルトの名無しさん
2011/01/09(日) 17:28:160757デフォルトの名無しさん
2011/01/09(日) 21:02:510758デフォルトの名無しさん
2011/01/09(日) 23:01:440759デフォルトの名無しさん
2011/01/09(日) 23:02:49お前の定義だとJavaやC#もインタプリタになるだろうが
0760デフォルトの名無しさん
2011/01/09(日) 23:07:50じゃあASTを少し実行しやすい形に変換してから実行するのはどっち?
どこまで変換したらインタプリタからコンパイラになるの?w
無意味な議論ですよ
0761デフォルトの名無しさん
2011/01/09(日) 23:10:54これもC++のインタプリタだな
古いしデカいし重いが
0762デフォルトの名無しさん
2011/01/10(月) 00:01:40コンパイラ部切り離してつかえるし
0763デフォルトの名無しさん
2011/01/10(月) 12:39:080764デフォルトの名無しさん
2011/01/10(月) 13:59:30純コンパイル言語なスクリプト言語って、
それこそDS位のチープな環境じゃないと役に立たないんじゃね?
0765デフォルトの名無しさん
2011/01/10(月) 15:28:06JavaScriptの実装はJIT可が流行りだし、luaも欲しいぞ。
■ このスレッドは過去ログ倉庫に格納されています