スクリプトコンパイラについて ( yac と lex も可 ) at GAMEDEV
[2ch|▼Menu]
158:151
06/05/14 21:21:52 VGwK5BXt
スクリプトは以下のような感じで、

えっと…(sleep 10)どうしようか。wait

これを
・全角文字を""で囲む
・全体を'()で囲む
と処理すると

'("えっと…" (sleep 10) "どうしようか。" wait)

というschemeコードになります。リストの要素要素がEvalNextで返されるTaskです。
現在エンジンにはvismというschemeライブラリを使っていますが、
公開停止しているのと微妙に仕様が合わないのとで、現在手書きを検討しています。

159:名前は開発中のものです。
06/05/19 13:39:30 Gqm6Z0J6
なるほど
そのやり方覚えておこう

160:名前は開発中のものです。
06/07/15 03:22:31 +R4TsQjQ
ほぼスクリプト部完成しますた。
と、チラシの裏

161:名前は開発中のものです。
06/09/01 23:48:53 /m07WVDn
良スレあげ

162:名前は開発中のものです。
06/09/02 13:11:40 VymI6uhU
ギコBASICのまとめWikiが落ちたんだが
URLリンク(onigiri.s3.xrea.com:8080)

だれか所在を知らないか?

163:名前は開発中のものです。
06/09/29 12:41:28 SBqDXED0
残念ながら・・・

164:名前は開発中のものです。
06/09/29 12:43:17 DcIeecDs
そうでげしたか…

165:名前は開発中のものです。
06/10/02 16:55:37 3LC0p1Pp
ギコベなくなったのかー!
使わせて貰ったことあるからちと悲しい

166:名前は開発中のものです。
06/10/02 17:06:00 yaGw0AJA
wikiが落ちて
そして誰も作らないだけだぜ

167:名前は開発中のものです。
06/10/06 01:32:30 lE7We31z
今になって思えば、スクリプト部の文法は
中途半端にHSP互換じゃなくて、完全互換の方がよかったのかなと

チラシの裏

168:名前は開発中のものです。
07/04/14 14:31:45 sT9fQnfw
インタプリタ作成は難しいですね。
最近、言語自体に興味を持って作り始めましたが
数字と演算子の数を出力するぐらいしか出来ません。

169:名前は開発中のものです。
07/07/12 20:51:47 JmSceXMO
シナリオ用スクリプトを構造化することってできるだろうか。
グローバルスコープなフラグとラベルジャンプでできたスクリプトでは、
フラグの一貫性やループに陥っていないか等の解析が手動でも自動でも
著しく困難になる。
凝り性のシナリオライターが作ったスパゲッティフローチャートを
if, for, while & 関数・サブルーチンだけで書き下せると思う?

170:名前は開発中のものです。
07/07/15 01:32:20 X6VsKP49
思う

171:名前は開発中のものです。
07/07/23 04:01:14 zHMsQNv9
>>169
色んな問題をスクリプトだけで解決しようとしすぎじゃね?

172:名前は開発中のものです。
07/07/30 23:04:20 mh1RLDn7
>>169
俺がxmlの研究目的で作ってるxmlベースの言語が
narrative documentをプログラマブルに扱えるものでPLの制御構造と組み込みライブラリと例外処理と文章に対するメタデータ記述能力を持ってるが
こいつはメモリ上に中間コード吐いてインタープリタで直に実行するかほかの言語のソースコード吐くようになってて要するにEiffelなんだが

>シナリオ用スクリプトを構造化 は出来てるぞ。
ただし、ライブラリは組み込みのみでそのライブラリを作るのはプログラマって割り切ってる。
あと要素の評価結果が文字列なら標準出力へ出力するんだけどその標準出力を定義するのもプログラマ。
つまり組み込みライブラリと出力先をADVエンジン用に実装すればADVエンジンへの応用が利く。

こういうもんを作れば
>シナリオ用スクリプトを構造化すること
スパゲッティフローチャートをif, for, while & 関数・サブルーチンだけで書き下す
は実際に出来てる。

あと言語そのものがxmlなんでXSLTやXSL-FOでhtmlやPDFへ"スパゲッティフローチャート"を変換できる。
そのためにメタデータ記述能力を持たせた。
あとxmlそのものが機械的に管理されることを前提に
設計されてるのでIDEなんかが作りやすいメリットもある。

欠点は専門的すぎてちょっとしたhypertext systemを実装できるくらいの学術知識が必要かな。情報系の卒論向きだな。
ラベルによるgotoは全部xlinkだったりするし。

173:名前は開発中のものです。
07/07/30 23:06:52 mh1RLDn7
結局、出来たとしても>>171の言うように問題の切り分けとそれを解決する人間を別々に用意する必要があるよ。
そういう前提で作ってるし。

174:名前は開発中のものです。
07/08/02 18:38:56 IqLuhQEt
>ラベルによるgoto
結局スパゲティかよ('A`)

175:名前は開発中のものです。
09/01/02 22:08:59 qteump49
スクリプトエンジン制作中
目的に合わせた複数の言語を作り、共通の中間コードにコンパイルして、共通のVMで動作させる予定なのだが、VMの仕様で悩み中
最初はCOMET互換のものを作ってたんだが、スタックマシンの方がシンプルになりそうな気がする
フラグレジスタとか考えなくていいし、そもそもソフトウェアで動作させるんだからレジスタとかいらなくね?みたいな
他のスクリプトのVMの実装を知らないんだが参考までに、おまいらの意見をいただけないでしょうか


176:名前は開発中のものです。
09/01/03 19:42:11 LhDhqbiv
俺のスクリプトにVMなど存在しない
ただ内部データ(登場時刻、位置、画像、移動パターン)に変換するのみ

177:名前は開発中のものです。
09/01/04 23:05:16 ZWLW/6f7
JVMとか.NETのCLR(つかmono)参考にしたらどうだろうか
前にゲーム製作技術板でゲーム用DSLにJVMのサブセット実装してた人がいたよ。
(しかもコンパイラはJavaを使うらしいw)

まあ、再発明になると面白みがないだろうがポータブルな実装つくるのもいいんでないのかな?

178:名前は開発中のものです。
09/01/04 23:06:00 ZWLW/6f7
ごめん、ム板と勘違いしてたわ


最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5337日前に更新/61 KB
担当:undef