トップページgamedev
196コメント86KB

スクリプトコンパイラについて ( yac と lex も可 )

■ このスレッドは過去ログ倉庫に格納されています
000143901/11/07 15:31ID:GpFz7V+v
みなさんのスクリプトって、どんな感じですか?
(エロ)ゲームプログラマーには一番難しい所かもしれません。
yac と lex も可です。
0068名無しさん@お腹いっぱい。01/11/16 09:07ID:???
JavaVMかぁ。ちょっと面白そうだけど、今から勉強するならCLRかな〜って気もする。
ただ、MSから仕様書拾ってきたらページ数ありすぎで読む気しない。
英語馬鹿でも読める、もちっと纏められた資料ってないんかの〜。
0069名無しさん@お腹いっぱい。01/11/16 11:32ID:???
良スレage
00706601/11/16 12:03ID:???
>>68
CLRかぁ!うーん・・・どうしよっかな・・・。
でも >>67 のみて十分JavaVMでもいろんな言語いけるおもたよ。
日本語資料よくできてるし。
べつにバイナリコードでプログラムするわけないしね。
0071名無しさん@お腹いっぱい。01/11/16 12:08ID:???
いっそのこと
Javaベースにしてメイン部分をJNIに逃がす、
ということはできないのだろうか。
0072名無しさん@お腹いっぱい。01/11/16 14:33ID:???
GNUの連中がC#->JVMコンパイラ作ってるよ
0073名無しさん@お腹いっぱい。01/11/16 16:54ID:???
>72
まぢ!Java言語じたいより、VMのほうが長生きする予感
0074名無しさん@お腹いっぱい。01/11/16 23:36ID:???
>>66
せっかくだからアプしようぜ。

>>68
俺もダウンロードしてきたけど、読み応えありすぎるわ(w
0075名無しさん@お腹いっぱい。01/11/17 00:39ID:???
>>71
できるだろうけど、ほとんど意味ないんじゃない?
プログラマ以外の人が簡単にゲームのフレームや流れを作れるようにするために
スクリプト作るってのが元の目的でしょ?

まあ面白いけど(w
0076名無しさん@お腹いっぱい。01/11/17 01:35ID:???
.NETに対抗して.GNUとかやらんのかね
0077名無しさん@お腹いっぱい。01/11/17 01:42ID:???
>>76
うーん、GPLなんかだと激しく萎えるなあ
0078名無しさん@お腹いっぱい。01/11/17 01:59ID:???
http://www.gnu.org/projects/dotgnu/
0079名無しさん@お腹いっぱい。01/11/17 02:07ID:???
>>78
ハハハ、なんつーかそこまでムキになるなやって感じやな。
0080名無しさん@お腹いっぱい。01/11/19 00:29ID:???
age
0081名前は開発中のものです。01/11/24 21:29ID:???
>>76
あれ?やってなかったっけ?ほのかに記憶あるんだけど。
0082名前は開発中のものです。01/11/24 21:33ID:yBLWDR2S
お気に入りのIDが出たYO!!
0083名前は開発中のものです。01/11/27 09:53ID:???
>>72
みつかんないよーどこにあるの!?
0084名前は開発中のものです。01/11/27 10:01ID:???
まだ作ってる途中ってことじゃないの?
0085名前は開発中のものです。01/11/27 11:15ID:???
>>81
>>78のリンクみろ

>>83
http://www.gnu.org/projects/dotgnu/projects.html 「* Support for Java bytecode」
http://www.southern-storm.com.au/portable_net.html
まだ実装されてません
00868501/11/27 11:37ID:???
嘘です
実装されてます
00878301/11/27 19:42ID:???
>>85 サンクス!Cygwinでコンパイルためしてみるよ〜
良スレ(俺的に)アゲ
00888301/11/27 21:35ID:???
CYGWIN用C#コンパイラできました。結果報告。
・普通にC#コンパイラとして使えました。(EXE出力)
・JavaVMアセンブリソースのはきだし方。
%cscc -mjvm -S source.cs
この出力結果から、.classができるかどうかは、まだわかりません。
00898301/11/27 23:11ID:???
GNU C#コンパイラのJavaVM出力に関する結果報告

>>88 の方法で吐き出した source.jl (JVM-ASMをIL形式で出力したもの)
をilasmにくわしてみた。
%ilasm -mjvm source.jl
(-mjvmオプションはソースをIL形式のJVMバイトコードで出力)
出力結果.objをみてみたけれども、.classにはほど遠い。

.jlをjasmin(JavaASM)のフォーマットに変換するのが
C#->.classへの近道っぽい。(わりとよく似てる)
0090厨房01/11/28 00:36ID:???
JavaVMはスタックマシンだけどCLIはレジスタで結構違うって噂聞いたことあるけど…
0091名前は開発中のものです。01/11/28 00:56ID:???
>>90
CLIもスタックマシンらしいけど?
ここにC#コンパイラがどうしてJVMコードをはけるのかとか
なぜgccと統合しなかったのかとかが書いてある
http://www.southern-storm.com.au/pnet_faq.html
0092名前は開発中のものです。01/11/29 14:19ID:???
ありがとう。2.4節あたりに書いてあったね。
JavaVMと似てるならCLI真面目に勉強したいな。洋書読める程英語できないし、早く翻訳されないかな。
0093名前は開発中のものです。02/01/03 07:02ID:WLPQVhtk
簡単なスクリプトのコンパイラって無い物でしょうか?
BASICのIFが使える程度で良いのですが、
色々調べても難しい物ばかりでなかなか良い物を探せません。
何か良い物があったら教えてください。
0094名前は開発中のものです。02/01/03 08:47ID:WHmmrKAU
↑富士通から出ているF-BASIC for Win95 がお薦め。
グラフィックだとかも使えるしね。
0095名前は開発中のものです。02/01/03 09:31ID:???
>>94
おいおい。

>>93
コンパイラじゃないけどこの辺を
http://member.nifty.ne.jp/nakamula/recurs.htm
0096名前は開発中のものです。02/01/03 10:20ID:???
>>94
F-BASICは産業分野で大活躍しとる。
N-88Basicで書かれた昔の計測システムとかを動かすのにな

板違いsage
00979402/01/03 11:51ID:???
しまった。コンパイラ・コンパイラの板だったのか。素で間違えた。
スマソ。
0098名前は開発中のものです。02/01/03 17:17ID:???
>>94
ttp://member.nifty.ne.jp/KENJI/
ここがおすすめ
0099名前は開発中のものです。02/01/03 23:20ID:WLPQVhtk
>>94
スクリプトコンパイラで検索すれば色々でてくるよ。
0100名前は開発中のものです。02/01/04 03:58ID:/BxIs0ic
専学の卒業用のプログラムでスクリプトコンバータが必要ですが、
色々調べても難しい物ばかりなので、自分で拡張できそうにないです。
何か拡張を前提とした良い物って無いでしょうか。
ソースがわかりやすいものが良いです。
0101名前は開発中のものです。02/01/04 11:02ID:???
>>100
前述のリンクたどって1からスクリプト組んでみるといいと思う。
できたころには、他のスクリプトも拡張できるようになってる。

俺の場合だけど
010210002/01/04 18:15ID:UkX35gI3
>>101
サンキューです。
単純なスクリプトコンパイラを作るのソースを参考にしてみます。
これなら簡単に理解できそうです。
専学で作ってるゲームシステムをどこかにアップしてみんなに見てもらうことって
出来るんでしょうか。
いえね、なにか自分のがプロの方にはどう見られるかと思ってね
0103名前は開発中のものです。02/01/05 19:27ID:???
ふつーにwebにゲームのソース公開しててもなかなかリアクションはこないみたい。
2chにさらすのが手っ取り早い。
010410002/01/06 09:03ID:+jtLqqFX
>>103
つまらない物だけど、もし出来上がったらさらします。
単なるアドベンチャーゲームのエンジンなんですが、
ちゃんと出来ているかというより、
今後何年間かでプロになれるかが心配なのでみんなに見てほしいです。
0105名前は開発中のものです。02/01/09 07:08ID:9EzpJOZt
>104
100のADVシステムきぼん
010610002/01/14 09:10ID:5xExvzQX
アドベンチャーゲームのエンジンをあぷしておきました。
ttp://www4.famille.ne.jp/~yo-ogawa/cgi-bin/bbs/upload.cgi
批評お願いします。
新しく板、作ったほうがいいでしょうか
010710002/01/14 09:20ID:5xExvzQX
さっきの奴は半角版から行かないとだめなので、こちらにアップしておきます。
http://www.nyan-web.ne.jp/~mystyle-jp/cgi-bin/upboard/imgboard.cgi
サンプルも入れておきますので、批評お願いします。
0108名前は開発中のものです。02/01/14 09:31ID:v4MH2X5h
まあまあじゃないの?最初としてはさあ。
0109名前は開発中のものです。02/01/14 20:57ID:???
やねうらをSDKは、使ってみた感じ、言われてるより遥かに使いやすいと
思ったのだが。C言語っぽいし、WindowsAPIも呼び出せるし。
0110名前は開発中のものです。02/01/14 21:21ID:NFXyvc6Z
yaneSDKは大きく分かれるね
優秀なサンプルプログラム、ライブラリとしては後一歩のところがとどかない。

とかいて気付いたが、yaneSDKはそのままC言語だろ。(w
正確にはC++だけど。
0111名前は開発中のものです。02/01/14 21:29ID:JgCRpRR+

>>100
108 ではないけど、最初に形にした物としてはよいのでは。
自分が初めて形にした物よりはだいぶマシ(苦笑)

ただ、400 行以上にもなる関数があるのは頂けないので、
そのへんは注意せんとね。
0112名前は開発中のものです。02/01/14 22:01ID:???
>>110
スクリプト言語のほう言ってるんじゃない?
ここのスレで言っているからして。
しかしそれにしても、いまどきフリーのC/C++コンパイラもあるのに
わざわざC言語に劣るスクリプト言語を使うメリットはそんなに大きくないだろう。
0113名前は開発中のものです。02/01/14 22:06ID:???
スクリプトにすればわざわざコンパイルしなくていいじゃん。
0114名前は開発中のものです。02/01/14 22:14ID:???
>>113
一発でmake後実行できるように環境を整えておけば似たようなもんだよ。

スクリプト言語って記述しやすければ開発が楽になるが、腐った仕様の
スクリプト言語をつくっちまうと逆に足手まといになるね。
0115名前は開発中のものです。02/01/14 23:48ID:5+gjnPlJ
>>114
シナリオライタとプログラマが同一人物とは限らないし、
シナリオライタが複数いることもある。
プログラマ以外の人がシナリオを触ると、問題が出てくることが多い。

動作チェックするときにも再コンパイルをして、
コンパイラの最適化によるバグも防げる。
もちろん、スクリプトコンパイラは十分バグ出ししていることが必要だけど。

スクリプトコンパイラでちゃんとスクリプトのバグを出してくれるのであれば、
バグも出にくくなる。
表示される文字セットの問題(改行コードや主人公の名前など)も
解決しやすくなる。

シナリオの既読と未読などもスクリプトコンパイラの方が管理しやすい。
(Cのマクロでもできるけど)
スクリプト言語にC言語の記号を持ち込まなくて良い。
だいたいのシナリオライタはC言語の記号を説明すると、記号が多くいやがる。
BASIC風(PASCAL風)な方が喜ばれることが多い。

弱点は動作スピードが若干遅くなること。
0116名前は開発中のものです。02/01/15 02:39ID:???
やねうらおSDKは、デキは悪くないけど、
難易度がC言語やC++のそれと変わらない気がする。汎用性ありすぎ。
つまり、あれを使いこなせるくらいなら素直にVC++弄った方が
いいかも。
0117名前は開発中のものです。02/01/15 06:34ID:???
SDKとスクリプトをごっちゃにしないでくれ。どっちがどっちがわからん
0118名前は開発中のものです。02/01/15 11:17ID:???
>>116
客観的にみたとしてもC/C++よりかなり使いにくいですが・・・
011910002/01/15 15:07ID:7CY8ofuR
新しいバージョンをあぷしました。
前回と違うところはシューティングシーンを付加しました。
No.558です。
http://www.nyan-web.ne.jp/~mystyle-jp/cgi-bin/upboard/imgboard.cgi

>>108&111
ありがとうございました。
専門学校卒業というだけで白い目で見られていたので、これで自信がもてました。
0120名前は開発中のものです。02/01/15 16:39ID:???
四年制大学でたってアーパーで使い物にならんやつはたくさんいるし
専門だからっていって気負いするこたあない、がんばれ。スレ違いなのでsage
0121名前は開発中のものです。02/01/16 21:45ID:???
>四年制大学でたってアーパーで使い物にならんやつはたくさんいるし
ちなみに今年度、は(高卒の就職率>大卒の就職率)でした。
それでも大学進学を強くお薦めします。
大学出てもポアなヤツは、高校出だと、もっとポアな可能性が高いので。
0122名前は開発中のものです。02/01/17 01:38ID:???
ベーマガの2月号でスクリプト言語を作るっていう記事が始まったね。
0123名前は開発中のものです。02/01/19 00:48ID:???
Cマガ2000年5月号の参考にスクリプト改造してたんだけど、
どうも、mallocの数とfreeの数一致してないように見えるんだが…。

古いから誰も知らないか
0124名前は開発中のものです。02/01/20 01:35ID:???
>123
freeが全然たりないんでは?
文字列用に確保したメモリ、解放してないし。
012502/01/28 00:09ID:v411FPbT
シナリオをPerlでCのデータに変換してコンパイルしています。
置換とか評価とか、面倒なことはコンパイラに任せています。

#! /bin/bash
cat $1 | gcc -E -

これだけでも、コメントとディレクティブを処理してくれるツールになります。
0126名前は開発中のものです。02/01/28 02:06ID:???
>>125
それだけだったら素直にcpp通せば……。
0127名前は開発中のものです。02/04/10 14:29ID:7gizi2lc
age
0128名前は開発中のものです。02/05/07 23:17ID:???
 
0129名前は開発中のものです。02/08/20 01:38ID:???
>122
どうなりました?
0130名前は開発中のものです。03/03/16 21:32ID:bxK/yvms
上の方の会話がわからなかったのですが、
今わかりました。

YGS2k 正式名称はyaneuraoGameScript2000

有名なyaneSDKのほかにスクリプトコンパイラも
存在しているのですね。

良スレあげ。
0131tantei03/03/16 21:51ID:25Eg6wpZ
★あなたのお悩み解決致します!!
●浮気素行調査
彼氏、彼女、妻、夫の浮気を調査致します!!
●盗聴器盗撮機発見
あなたの部屋に誰かが仕掛けているかも!!
●行方調査
行方不明になっている家族の消息を調査致します!!
●電話番号から住所割り出し
一般電話、携帯から住所を割り出し致します!!
●ストーカー対策
社会問題ともなっているストーカーを撃退致します!!
その他人生相談からどんなお悩みでも解決いたします!!
 直通  090−8505−3086
URL  http://www.h5.dion.ne.jp/~grobal/
メール  hentaimtt@k9.dion.ne.jp
   グローバル探偵事務局 

0132名前は開発中のものです。03/03/16 22:19ID:NsysnKZA
          終   了   し   ま   す   た  。
         n                          n
       ミゝヽ                        / ヾ彡
        ゝ ノ                        ヽ ヾ
        / /∧_∧                ∧_∧| ヽ
   アヒャー .|  <(  ゚∀゚)               (゚∀゚  ..)> | アヒャー
        ヽ ゝ ヽ⌒ヽ              /⌒丶 ゞ /
        ヽ        ヽ   n___  _n    /       /
          | 完  /ヽ ⌒二ソ__彡ミ__ゝ二⌒  /ヽ終.了|
      / ̄\_|    |  ̄ ̄          ̄ ̄   |    |_/ ̄ヽ
      \ ヽ       ヽ                 /      ノ  /
       \⌒ゝ~\  \               / /~ ヾ⌒ /
        ヽ (    \  \           /  /    ) /
         ∪    \  \       /  /      ∪
                \  \ │ /  /
 ̄ ̄                / ̄\  / ̄ ̄ ̄ ̄ ̄ ̄ ̄
                  ─( ゚ ∀ ゚ )<     終!
                    \_/   \_______
                  / │ \
0133やほー03/04/03 07:00ID:C6VUGYVR
>130
普通のスクリプトエンジンだ

yaccに興味あるんだけど何をどうしたらいいのかわからん。
だれか良質な解説サイト知らない?
0134名前は開発中のものです。03/04/03 07:34ID:GN4ao2kv
□□□□■□□□□□■□□□□□□□□□□□□□□□□□□□□□
□□□■■□□□□□■□□□□□□□■■■■■■■■■■■■□□
□□■■□□□□□■■■■■■□□□□□□□□□□□□□■■□□
□■■□□■□□□■□□□□■□□□□□□□□□□□□■■□□□
□□■□■■□□■■■□□■■□□□□□□□□□□□■■□□□□
□□□■■□□■■□■■■■□□□□□□□□□□□■■□□□□□
□□■■□□□□□□□■■□□□□□□□□□□□■■□□□□□□
□□■□□□■□□□■■■■□□□□□□□□□□■□□□□□□□
□■■■■■■□□■■□□■■□□□□□□□□□■□□□□□□□
□□□□■□□□■■□□□□■■□□□□□□□□■□□□□□□□
□□■□■□■□□□□■■□□□□□□□□□□□■□□□□□□□
□□■□■□■□□□□□■■□□□□□□□□□□■□□□□□□□
□■■□■□■□□□□□□□□□□□□□□□□□■□□□□□□□
□■□□■□□□□■■■□□□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□■■■□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□□□■■□□□□□□■■■■□□□□□□□
0135名前は開発中のものです。03/04/03 08:10ID:UgopLJw/
>>133
時代はboost::spiritだぜ!
0136名前は開発中のものです。03/04/03 08:11ID:NfJJ5fnj
            o
            /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /
           /   このスレは無事に  /
           /  終了いたしました    /
          / ありがとうございました  /
          /                /
         /   モララーより      /
         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄/
  ∧_∧  /                /∧_∧
 ( ・∀・) /                /(・∀・ )
 (    )つ               ⊂(    )
 | | |                   | | |
 (__)_)                  (_(__)
0137名前は開発中のものです。03/04/09 22:53ID:PK8UclG0
luaとかどう?
coroutine(協調thread)とか使えないかな?
0138名前は開発中のものです。03/04/09 22:58ID:pjdVuvyV
□□□□■□□□□□■□□□□□□□□□□□□□□□□□□□□□
□□□■■□□□□□■□□□□□□□■■■■■■■■■■■■□□
□□■■□□□□□■■■■■■□□□□□□□□□□□□□■■□□
□■■□□■□□□■□□□□■□□□□□□□□□□□□■■□□□
□□■□■■□□■■■□□■■□□□□□□□□□□□■■□□□□
□□□■■□□■■□■■■■□□□□□□□□□□□■■□□□□□
□□■■□□□□□□□■■□□□□□□□□□□□■■□□□□□□
□□■□□□■□□□■■■■□□□□□□□□□□■□□□□□□□
□■■■■■■□□■■□□■■□□□□□□□□□■□□□□□□□
□□□□■□□□■■□□□□■■□□□□□□□□■□□□□□□□
□□■□■□■□□□□■■□□□□□□□□□□□■□□□□□□□
□□■□■□■□□□□□■■□□□□□□□□□□■□□□□□□□
□■■□■□■□□□□□□□□□□□□□□□□□■□□□□□□□
□■□□■□□□□■■■□□□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□■■■□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□□□■■□□□□□□■■■■□□□□□□□
0139名前は開発中のものです。03/08/22 21:05ID:pXJcQ288
スレ振るっ
0140名前は開発中のものです。04/04/14 21:04ID:HGm3G41H
LUAおもしろそうだけど使い方がいまいちわかんない。
スクリプトつかう以前の環境設定の段階で。
VC6でのつかいかたおしへて>>137
0141名前は開発中のものです。04/08/19 19:18ID:afoemJ4u
ほっしゅ、しゅっほ、しゅっほっほー
0142名前は開発中のものです。04/10/10 18:42:40ID:K/XMs6Gm
スクリプトの実装にForthを使う漏れは少数派ですかそうですよねorz。
パージングがいらないので仮想コード化が楽だし、
比較的軽くて小さなVMが作れるしで個人的には大好きなんだが。
RPN構文に癖がありすぎるからかねぇ。
0143名前は開発中のものです。04/10/11 00:52:26ID:utv6tbQW
最初に書いたスクリプトエンジンがForthだったな
構文解析いらないので楽〜
逆ポーランドヽ(´ー`)ノマンセー
0144名前は開発中のものです。04/10/11 01:23:27ID:J2l165WT
>>140
半年前の書き込みにレスするのもあれだが
Caluaという、「luaの組み込みを簡単にするためのライブラリ」がある。

ttp://calua.sourceforge.net/
0145名前は開発中のものです。2005/04/10(日) 02:58:01ID:4CIkTtRi
AngelScriptなんかもいい。
http://www.angelcode.com/angelscript/
0146名前は開発中のものです。2006/04/16(日) 01:24:30ID:NIJWxfjn
age

このスレで言うスクリプトってRPGやギャルゲーのシナリオだけ?
シューティングの敵の出現・動作パターンや格ゲーのモーションデータまで含めると

ゲームの本体プログラム≡スクリプトのインタプリタ

って位ゲーム製作において重要な部分だと思われ。
ここら辺はCで直書きする訳にも行かないし、皆どうしているか聞きたい。
(格ゲーのモーションをCで書いたら相手のモーションと同時実行するために
マルチスレッドが必要だったり、
技をキャンセルするのにスレッドをkillしなくちゃいけなかったり訳分からん)
0147名前は開発中のものです。2006/04/16(日) 03:25:20ID:aygEIUBS
> 格ゲーのモーションをCで書いたら相手のモーションと同時実行するために
マルチスレッドが必要だったり、

んなあほなww

も前は、キャラクターごとにスレッドを作るのかw
普通は、ゲームでは非プリエンプティブなマルチスレッドを使う。
つまり、コストの低い、擬似タスクな。
あと、モーションは、デザイナにまかせたりするので、スクリプトで制御することも多いよ。
01481462006/04/16(日) 09:51:53ID:NIJWxfjn
まあ自分はスクリプト制御です。上のは反語表現というか、
酔ってたせいで何に煽ってるのか分からない煽り口調になってるしw

>非プリエンティブなマルチスレッド
は一般的なOS+Cでは不可能ですよね。機械語で書く場合でしょうか。
それともsetjmpで無理矢理実装とか?
0149名前は開発中のものです。2006/04/16(日) 14:12:25ID:P72bJmUy
>>148
コンソールの話だと思われ。
時代遅れの発想なんであまりやって欲しくないけどね。
0150名前は開発中のものです。2006/04/16(日) 16:14:41ID:F+evVwwX
>>146の疑問はもっともだと思うよ。
今はまだそれ以前の部分で躓いていて
問題を先送りにしているが、いずれ考えなきゃいけない部分だと
俺も思っている。
インタプリタは難しいんで、MIDLコンパイラみたいに
スクリプトからC++ソース生成じゃ駄目かなあ?
01511462006/04/17(月) 01:06:45ID:M8YTTZ7z
>C++ソース生成
用途によりますよね。
ギャルゲーやRPGなら大丈夫だけど、アクション系のゲームだと前述のような問題が。
自分はRPGを製作中ですが、複数キャラを同時に歩かせたりメッセージ表示しながらアニメしたりと
「スクリプトのシンクロ実行」を実装する予定なので、頑張ってインタプリタを書いてます。


基本的にCとかは1スレッドにつき1つしかプログラムの「筋」を持てない。
で、ゲームのメインスレッドというのは大抵メッセージループを回す構造になってるわけで、
ループ回しつつ逐次実行のコードを同時に走らせようと思ったら別スレッドにするか
スクリプトとして(もしくはスクリプト風に)実行順序をデータとして持っておいて
ループで実行するしかない、というのが前提条件かと。

最近「生成的プログラミング」とやらが流行ってるお陰で
大抵の言語に出来のよいパーサが開発されたり、
継続やらモナドやらExpressionTemplateやら「言語内言語」に関する技術がたくさん出てきたりしているので、
その辺をゲーム開発に取り込んでいったら面白いんじゃないか、と思う次第であります。
0152名前は開発中のものです。2006/04/17(月) 01:19:59ID:2X7IXBs2
俺も同じようなことやってます。
某ステフでアクションRPGのスクリプトを作ってますが、シンクロでは悩まされます。
試行錯誤であーでもないこーでもないと何とかやってますが、地味に面白いですよねw
0153名前は開発中のものです。2006/05/10(水) 15:25:54ID:BR/3osvo
保守age
0154名前は開発中のものです。2006/05/10(水) 15:31:42ID:5no3yNph
>>151
詳細希望
0155名前は開発中のものです。2006/05/11(木) 23:55:49ID:OvObgVlQ
詳細もなにも一言で要約できるぞ。

boost::spirit使ってみろ、と。
0156名前は開発中のものです。2006/05/12(金) 01:33:27ID:sXlqKymr
いや、パーザじゃなくてシンクロ実行のほうじゃないの?
01571512006/05/14(日) 21:20:12ID:VGwK5BXt
模式的にコードを書くと、
pTaskをタスクオブジェクト(clock()でアニメ等を一コマ進める)
へのポインタとして、

case WM_TIMER:

if (pTask == NULL)
 pTask = ScriptEngine.EvalNext(); //スクリプトを1ステップ実行
}
if (!pTask->clock()) {
 delete pTask; pTask = NULL;
}

シンクロ処理は
class Sync : Task {
 Task*[] _tasks;
public:
 bool clock() { for (...) { _tasks[i]->clock(); }
};
みたいな感じで行けます。

01581512006/05/14(日) 21:21:52ID:VGwK5BXt
スクリプトは以下のような感じで、

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

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

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

というschemeコードになります。リストの要素要素がEvalNextで返されるTaskです。
現在エンジンにはvismというschemeライブラリを使っていますが、
公開停止しているのと微妙に仕様が合わないのとで、現在手書きを検討しています。
0159名前は開発中のものです。2006/05/19(金) 13:39:30ID:Gqm6Z0J6
なるほど
そのやり方覚えておこう
0160名前は開発中のものです。2006/07/15(土) 03:22:31ID:+R4TsQjQ
ほぼスクリプト部完成しますた。
と、チラシの裏
0161名前は開発中のものです。2006/09/01(金) 23:48:53ID:/m07WVDn
良スレあげ
0162名前は開発中のものです。2006/09/02(土) 13:11:40ID:VymI6uhU
ギコBASICのまとめWikiが落ちたんだが
ttp://onigiri.s3.xrea.com:8080/delphi/index.php?cmd=read&page=gikobasic

だれか所在を知らないか?
0163名前は開発中のものです。2006/09/29(金) 12:41:28ID:SBqDXED0
残念ながら・・・
0164名前は開発中のものです。2006/09/29(金) 12:43:17ID:DcIeecDs
そうでげしたか…
0165名前は開発中のものです。2006/10/02(月) 16:55:37ID:3LC0p1Pp
ギコベなくなったのかー!
使わせて貰ったことあるからちと悲しい
0166名前は開発中のものです。2006/10/02(月) 17:06:00ID:yaGw0AJA
wikiが落ちて
そして誰も作らないだけだぜ
0167名前は開発中のものです。2006/10/06(金) 01:32:30ID:lE7We31z
今になって思えば、スクリプト部の文法は
中途半端にHSP互換じゃなくて、完全互換の方がよかったのかなと

チラシの裏
■ このスレッドは過去ログ倉庫に格納されています