1 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 20:49:02 ] プログラミング言語処理系の開発に興味のある人達のスレッドです。 字句解析・構文解析から,データフロー解析,ループ並列化,データ分散,SSA変換, CPS変換,レジスタ割付,命令スケジューリング,ソフトウェアパイプライン, SIMD命令生成,VLIW向けクラスタリング,スクラッチメモリ向け最適化,リンク時最適化, JIT,動的バイナリ変換等の各種最適化,それにVM,GC,低消費電力化などなど。 意味論に関する話題も歓迎です。 過去スレ 1 pc.2ch.net/tech/kako/981/981672957.html 2 pc2.2ch.net/test/read.cgi/tech/1021136715/ 3 pc5.2ch.net/test/read.cgi/tech/1070089173/ 4 pc5.2ch.net/test/read.cgi/tech/1100097050/ 5 pc8.2ch.net/test/read.cgi/tech/1106129164/ 6 pc8.2ch.net/test/read.cgi/tech/1115335709/ 7 pc8.2ch.net/test/read.cgi/tech/1129287390/ 8 pc8.2ch.net/test/read.cgi/tech/1131273918/ 9 pc8.2ch.net/test/read.cgi/tech/1135082582/ 10 pc8.2ch.net/test/read.cgi/tech/1146844753/ 11 pc11.2ch.net/test/read.cgi/tech/1160879890/ 12 pc11.2ch.net/test/read.cgi/tech/1188688416/ 関連リンクは多分 >>2-10 あたり
701 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 12:33:56 ] ゲ製板にフォークしたいような勢いだな、と思ったんだが、 スクリプト で検索したら既にいくつかスレあるな。過疎ってるしw ゲーム用スクリプトの話題はそっちに分ける?
702 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 12:49:27 ] >>698 いやgoto用ラベル管理が必要になるだけで、 後はCのマクロレベルで問題なし。
703 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 12:55:27 ] >>702 Cマクロレベルだとネストの管理が出来ないだろう。 それに#defineマクロは記述性が悪い。
704 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 13:06:24 ] 殻の中の小鳥と分裂守護神トゥインクルスターは あの当時の98ユーザーなら知ってるとして、 セーラー服戦士フェリスはパッケージにRPGって書かれてたんだぜ。詐欺だよ。 しかもスピードが速すぎてマシンクロックを落とすか ファンクションキーでスピードを落とさないとゲームにならないんだよ。 フェリスの後継のコズミックサイコは音楽CDが付属していて 今でも高値で売られてるんだよ。
705 名前:700 mailto:sage [2009/11/08(日) 13:07:50 ] _ KENJI ― 2009/11/08 12:52 金曜日から質問攻めが凄いですね。 1人の方なのでしょうか? それともどこかで話題になっているのでしょうか。 どこかで話題になっているようでしたら教えていただけると幸いです。 質問の答えですが、半角英文が先頭に来るメッセージの場合 mes game start と記述するか、#defineでmesをm辺りに定義して m game start とでも記述してください。 半角英文が日本語の中に来るときはそのまま半角文字を記入してokです。 まあしかし、ゲーム中には全角英文字しか使わないので滅多に出番がありませんが。 start_game 1とexit_gane 1はstart_game(1)とexit_game(1)とも記述出来ます。 後はこの場合メインループの外側でstart_game(local)やexit_game(local)の様に外部に登録します。Cとは違い、前方参照も出来ます。
706 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 13:16:55 ] ここに本人が書いてるみたいなレスは、転載か何かか。
707 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 13:19:52 ] >>703 ラベルをスタックで管理。> ネスト
708 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 13:22:17 ] 98ユーザーも結構多いんだな。 こういった内部でしか使われない言語が表に出ると反応が様々で怖いな。 俺がスクラッチから作った言語がこのスレに晒されたらと思うと怖いな。
709 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 13:23:42 ] >>707 それじゃあ、if not goto,if goto,gotoだけじゃないじゃん。
710 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 13:24:23 ] 今から>>708 の言語を捜すスレになりました。
711 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 13:31:40 ] >>709 それはターゲット言語であって、処理系の話じゃないでしょ? その辺はちゃんと区別できないと。
712 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 13:34:13 ] IBM5100ユーザーも結構多いんだな
713 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 13:35:27 ] >>707 おいおい、C言語の力を使ったら何だって出来るだろ? マクロだけで実装してるから話題になっているわけで、趣旨が違うぞ。 >>708 フツーの人はそうだよ。言語処理系のソースコード公開するのも怖いし。 吉里吉里の人は特別だよ。
714 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 13:51:17 ] >吉里吉里の人は特別だよ。 吉里吉里スクリプト自体は、仕様としてはさほど大したものではない。 仕様を真似して似たようなオブジェクト指向スクリプト言語を構築してみたが、 コンパイラ+VMで2週間くらいでできたよ。 吉里吉里がすごいのはKAGというADVゲーム開発環境一式が公開されていることと、 それによる市販ソフトの実績が十分にあるところだな。
715 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 13:55:40 ] >>713 そのマクロ機能実現に、ラベルのスタック管理が必要だってことでしょ? popしてるじゃん。そのマクロのコード読めてないの?
716 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 14:01:39 ] >>714 VMの性能はおいといてもコンパイラをスクラッチで2週間で組めるのならあんた十分凄いよ。 吉里吉里というのは自分は知らんが、KAGというのは吉里吉里上のラッパかな? ここに出ているマクロ言語は自分には6人月の仕事だ。
717 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 14:09:14 ] >>715 いや、だから言語の仕様上だけで実装してるのがすごいんじゃん。 ああ、わかった。#defineマクロ機能を完全にとpop機能を実現するコンパイラを 作れば同じ事が出来るって言いたいんだな。 LISP信者には悪いが可読性の悪いLISPや#defineマクロよりmasm似にたマクロを 使えた方が可読性は増す。 あと、Cの#define中って、#ifdefとか#ifって使えたっけ? 使えるのならCの#defineの実装って結構やっかいそうだな。
718 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 14:12:10 ] あ、でもだめだ。#defineではlocalなラベルは作れん。
719 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 14:19:02 ] >>716 最近は48時間な時代だからなあ
720 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 14:21:54 ] 一つずつ名前をつけるのもめんどくさいほどの大量のフラグとパラメータの 複数スナップショット取れる風な恒久化っていうのはいいね。 俺言語を作ろうとすると文字列のサポートとかマンドクさくなるので こういう状態遷移管理専用言語もおもしろそうだ。 昔、bitか何かで「ある番地(A)からある番地(B)のデータを引いて0になったらある番地(C)へ飛ぶ(だったっけ?)」な 命令が1つあれば、他の命令はこれの組み合わせで実装できるとかあって1つしか命令無いんだから、 A, B, Cのアドレスを並べておくだけでいいとか。
721 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 14:24:09 ] だーらLispのマクロはマクロプロセッサ的なマクロとは別物だっての。 アセンブラのマクロといえば、NASMのマクロがラベルのプッシュ・ポップとかの 機能をもってたかな。
722 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 14:30:34 ] うろ覚えで鼻息の荒い奴はいったい何なんだ
723 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 14:31:05 ] だれもForthのことを思い出してくれない。
724 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 14:32:15 ] >>715 #calc __cmd_num __cmd_num+1 #define local1 "f_{__cmd_num}" こんな命令が有るようだとさすがに#defineとpush/pop程度の実装では無理だよ。 全ての条件文にユニークなラベルを発効する命令だと思う。 >>721 Lispは高性能なのは分かるが記述性が自分には難点。 Wizerd級になると一瞬で判別できるみたいだけどね。
725 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 14:34:09 ] >>724 それがラベル管理でしょ。 ワンパスコンパイラのコード読んだことないの?
726 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 14:37:40 ] 煽るだけの奴が一番頭悪そうだな
727 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 14:40:37 ] 久々に高純度の自己紹介レスを見た。
728 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 14:45:21 ] >723 LispはメジャーだけどForthはダメだなぁ。 こういったシナリオ系のスクリプト言語と相性良いと思うんだけどね。Forth。
729 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 14:46:16 ] 今はJVMで簡単に俺言語を試せて楽だね。 バイトコード吐いてもいいし、 まずはJavaコード生成でもいいし。
730 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 14:47:31 ] >>715 完全な#define命令とpush/popだけでは無理だよ。いい加減諦めな。 >>719 天才は日本の財産だ。体に気をつけろ。 >>720 >よって、プリプロセッサの大きさに比べてコンパイラの大きさは小さい。 >そして強力な文字置換により、文字セットもプリプロセッサ時、コンパイル時、実行時の3段階で解決される。 文字セットも3種類必用だそうだ。逆にめんどくさくないか? >>721 一時期LISPにはまったが、やみつきになる言語だよな。RPNもやみつきになったな。 >>722 ここも天才だけが来るスレじゃないし、仕方がないんじゃん。 間違えを認められれば先に進めるし、反論だけの奴はその程度の奴だし。 >>723 わりい、忘れてた。 >>724 そんなにいきり立つなよ。言ってることが正論でも相手が受け入れなくなる。 新言語で週末は面白かったけど、特攻は>>697 レベルの事でするのは相手に失礼。 まあ、なんだ。ここは天才が比較的多いんだから、 もっと柔軟に楽しく言語を作ろうぜ。 言語を作るってのはプログラミングにおいてOSを作るのに匹敵し、 神になれるんだからさ。
731 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 14:50:14 ] >>725 今更ラベル管理を言ってもまあむりだ。 最初の#defineとpush/popだけで実装はどこへ行った。
732 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 14:51:05 ] >>702 > いやgoto用ラベル管理が必要になるだけで、 > 後はCのマクロレベルで問題なし。
733 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 14:54:16 ] >>732 おっちゃん、言ってることがどんどん増えて行ってるよ。 あんたの負けだよ。
734 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 14:54:52 ] >>732 これじゃ言ってることわからん奴もいるわな。
735 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 14:55:25 ] 過去のレスを「増えていってる」とは言わんのでは。 相手の言ってることのうち都合の悪いところを忘れたもん勝ちの 口喧嘩でもしてるなら別だけど。
736 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 14:58:33 ] >>698 >>702 は処理系の話だろ? >>696 は実行系の話だろ? >>733 は区別付いてないじゃないの? 作ったことない人は混同しがちだけど。
737 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 14:59:43 ] >>735 一端ゆっくり考えて、#defineと何が必用だか1つのレスに分かり易くまとめてくれないか。 IDが出ないもんでぶつ切りの主張だと何言っても通用しないぞ。 while-endの仮想コードでも良いよ
738 名前:736 mailto:sage [2009/11/08(日) 15:00:23 ] >>736 > >>698 >>702 は処理系の話だろ? 処理系→翻訳系
739 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 15:01:23 ] >>737 IDが出ないなら、相手を同一人物だと思わないほうがいいんじゃないの。 735は俺だけど、少なくとも今日は初めて書き込んだぞ。
740 名前:737=733 mailto:sage [2009/11/08(日) 15:02:10 ] 区別は付いてるさ。 ただ、同じ奴が言ったとは分からなかった。
741 名前:737=733 mailto:sage [2009/11/08(日) 15:06:15 ] >>739 すまん。IDがでないと不便だな。
742 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 15:07:39 ] いや別に不便じゃないよ。 仮想敵と戦わなければいいだけ。
743 名前:737=733 mailto:sage [2009/11/08(日) 15:12:04 ] >>742 了解。 まあなんだ、言語仕様のことだから、レスは2つとかに分けず1つに書くか 名前を明記して欲しかったな。
744 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 15:17:30 ] じゃあ次はこのC言語がターゲットの片言Algolコンパイラについて話そうか。 catb.org/retro/cfoogol.shar.gz 500行弱だな。
745 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 15:17:50 ] まぁ、逆に「仮想別人」のケースもあるけどなw やたら興奮気味に、仮想敵だとか見えない敵云々言ってるのがいたら、そいつは 「ズバリ言い当てられけど隠れ蓑があるから上手く逃げてやるぜざまあ見ろ」 的な昂ぶり方をしている可能性もある。
746 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 15:20:49 ] Algolしらん。FORTHは昔、MZ系PCのOS、S-OSに実装されてなかったっけ。
747 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 15:27:02 ] >>744 nを初期化し忘れてやがるw > サンプルコード
748 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 15:29:58 ] みんな凄いんだね。 C/C++でブログのプリプロセッサ並の物を作るとしたら、どれくらい時間がかかる? ラベルはハッシュ管理かね、HPとコンパイルスピードを見る限りは。 大量のラベルが生成されるだどうね。 SAVEデーターとバグFIXで増える文字列はどうやって解決してるのだろう。 あと、未読既読機能。VMの力も使ってるんだと思うけど。
749 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 15:35:05 ] >>748 C言語で集中的に出来るんなら1週間でマクロの仕様を考えて、1ヶ月でプログラムかな。 C++ならもうちょっと短くできる。
750 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 15:36:54 ] C言語に落とすのか>foogol エラーがあるとreturnしちゃうのが新鮮かな? ttp://catb.org/retro/ logoはなんとなくSMC-70で使った覚えがあるがpilotってどんなのだっけ?
751 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 15:36:57 ] C/C++でやろうとするから大変なんじゃないの? PythonとかGCある言語なら二週間くらい。 ただああいうのは言語機能そのものよりも、 ドメインとマッチしているかどうか、 実務支援のリソースが豊富かどうかで 良し悪しが決まってくる。
752 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 15:41:16 ] >>750 rpilot.sourceforge.net/rpilot.txt
753 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 15:42:17 ] >>750 focalは「きだあきら版」じゃないか。
754 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 15:47:37 ] プリプロセッサのプログラム自体は1ヶ月ぐらい(C言語)だけど、 仕様を考える時間が結構かかりそうだな。 3段階の文字列解決とかコンパイラ本体とVMの全ての仕様を同時に考えないといけない。 作りながら仕様変更等もありそうだから、一概には言えないな。
755 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 15:55:13 ] シナリオを1秒でコンパイルとかwavを0.1秒でコンパイルとかスピードに命を掛けてるみたいだし、 やはりプリプロセッサ、コンパイラ、VMとの兼ね合いがあるから日数は簡単に出せないな。
756 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 16:06:56 ] 「wavをコンパイル」 こういう用法はやめてくれ
757 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 16:07:44 ] 正しくはwavを圧縮だな。
758 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 16:16:34 ] wav変換にかかる時間なんて処理系の出来とは関係ないでしょ?
759 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 16:26:02 ] いや、音声wavの圧縮が0.1秒というのは相当早い。 多分インラインを使いまくってるんだろう。 そこから推測すると、シナリオファイルのコンパイルと圧縮が1秒というのは コードのチューンに相当時間をかけている。多分インライン使いまくりだろう。 JAVAで良いのであれば1ヶ月もあればプリプロセッサを作れるが、 プリプロセス、コンパイル、VM、その間の仕様決め、 そして最適化となると単純にプリプロセス時間だけを計ってもしょうがない。
760 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 16:26:16 ] 実用になる言語ってのは、どこかしらに「巨大な〜を高速に〜できる」な実装が必要になると思うんださ 言語仕様では、それらが簡易に記述できれば嬉しいなとか言語ワナビの俺が言うんだから間違いはない >wav変換にかかる時間 コンパイル時間が短ければ、リリースも早くできるんじゃないか?
761 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 16:26:50 ] Cプリプロセッサ風の何か、なら0.5人月だけど、 標準が定義するところの「プリプロセッサトークン」を正確に認識し、 展開結果に、またマクロが現れるとかそういう場合についてのふるまいを、 正確に標準に定められた通り動作するものを実装しようと思ったら、 どれだけかかるかわからないな。
762 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 16:32:38 ] 何でも組める天才はいるんだよ。 でも、この人は一度プログラマーを辞めようとしてるんだよな。 酒や薬(安定剤?)、そしていくつもの会社を渡り歩き、今は経営者兼任。 プログラマーとしては天才だが、人生の天才ではないな。 俺なら凡人で良い。 新しい書き込み _ KENJI ― 2009/11/08 16:15 書き忘れましたがインクルードは #include <w95gd.mac> #include "h00win0.mac" として、標準マクロと標準命令はw95gd.mac、 そのゲーム専用のマクロはh00win0.macに記述します。
763 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 16:34:30 ] >>759 > いや、音声wavの圧縮が0.1秒というのは相当早い。 > 多分インラインを使いまくってるんだろう。 0.1秒はライブラリの仕事じゃないの? 処理系関係ない。 1万ファイルだから外部プログラムの呼び出しコストを下げたいと書いてある。>>670
764 名前:762 mailto:sage [2009/11/08(日) 16:35:16 ] 薬は睡眠薬かもね。イソミタール、ロヒプノールで検索したら、相当強い薬だった。
765 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 16:35:28 ] >>759 なんも分かってないな。
766 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 16:41:29 ] >>763 この会社の圧縮はCG,WAV,シナリオ全てオリジナルだよ。 ゲーム分解ツールで見たことがある。 多分、他人のコードが入るのを嫌う、昔気質のオールドタイプだよ。 KMAKEもフルアセンブラだから、インラインも使いまくりだろう。 圧縮に必用なビット演算はアセンブラが一番強いからね。 もしかすると、フルアセンブラかもね。 オールドタイプだから、斬新だけど古めかしいスクリプトコンパイラなのだろう。 推測ばっかだなw
767 名前:759 mailto:sage [2009/11/08(日) 16:43:57 ] >>765 何が分かってないか、教えてくれ。 あまりにも自分の理解力がないのなら、答えなくても良い。 自分の馬鹿さを嘆くから。
768 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 16:44:56 ] >>766 オリジナルかどうかって事じゃなくて、 インラインだろうが、呼び出しだろうが、ライブラリだよね? >>748 のお題は「ブログのプリプロセッサ並の物」だから別の話。
769 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 16:47:16 ] >>767 例えば0.1秒もかかる処理1万件、 これの何をインライン展開すると速くなるわけ? 外部プログラム呼び出しを辞めたのは>>670 にある。
770 名前:766 mailto:sage [2009/11/08(日) 16:48:34 ] 話がわき道にそれてすまん。 それだったらCで2ヶ月かな。
771 名前:766 mailto:sage [2009/11/08(日) 16:50:45 ] 767でなくてすまん。 >>769 圧縮自身。
772 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 16:52:27 ] 圧縮そのものに処理系もインラインも関係ないじゃん。 それともKMAKEで圧縮関数書いてあるの?
773 名前:766 mailto:sage [2009/11/08(日) 16:53:35 ] >>769 >>ALL >>766 で書いたインラインも使いまくりというのはインラインアセンブラ使いまくりの 間違えです。すみません。
774 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 16:55:18 ] 自前の圧縮ルーチンをインラインアセンブラ使って書いてるって話なら分かる。 ただスレ違いかと…
775 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 17:25:11 ] hashをインラインアセンブラ化して2倍のコンパイルスピードだそうです KENJI ― 2009/11/08 17:13 CG,WAV,シナリオの圧縮はオリジナルです。 昔は全てアセンブラで組んでいましたが、 最近は移植性のため一度C言語で組んでそれをインラインアセンブラ化します。 圧縮のビット操作関係とプリプロセッサとコンパイラのラベル解決のプログラムはC言語版は残したままで1からインラインアセンブラで組み直しています。 インラインアセンブラの採用で圧縮展開は5倍、コンパイラは2倍くらいのスピードになります。 ゲーム本体は展開以外はほぼ同じスピードなので、インラインアセンブラを積極的に使ってません _ KENJI ― 2009/11/08 17:19 未記入様。 ご報告、有難う御座います。 読んでみると自分のせいで荒れているみたいですね。 申し訳ないです。 ここでの質問は紳士的でしたので、問題はありません。
776 名前:775 mailto:sage [2009/11/08(日) 17:29:26 ] もしかしてhashを使っているという前提が違うのかもしれません。 >コンパイラのラベル解決のプログラム というのはHPでhashで説明してますが、hash以上の性能のアルゴリズムって有ります?
777 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 17:36:03 ] >>776 トライがある まあただのトライ木ではないだろうけど
778 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 17:40:45 ] 言葉が抜けてた トライを実装する場合ってことね トライ構造にした上で、シンボル化する シンボルってのは、LISPのアレね こうすると、新規のラベルかどうかはトライでインクリメンタルに、 既成のラベル同士ならアドレスの比較だけで済む
779 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 17:40:59 ] 順当に考えてハッシュだろう。 キーをどうやって生成してるか分からないが、 2倍というのは凄いな。
780 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 17:57:56 ] ハッシュが2倍とは書いてないようだが
781 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 18:00:24 ] おこちゃまだから切り刻むことしか思いつかない
782 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 18:06:39 ] >>778 に補足 一意なんだからアドレスの比較も不要だな ユーザープログラム上で比較する時は、の話
783 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 18:09:38 ] トライは順序構造だから当然文字列の大小も判定できる ハッシュだと一度文字列レベルに落とし込む必要がある 文字列処理にハッシュが使われない理由でもある
784 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 18:40:58 ] 勉強になるよ。
785 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 19:21:27 ] 何でこんな伸びてるの? 三行で頼む
786 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 19:25:15 ] 1行で要約すると 子供がエロゲの作成過程を知って興奮
787 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 19:59:29 ] なんか最近似たようなニュースがあったな
788 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 20:03:27 ] >>786 VHSがアダルトビデオのおかげで普及したという神話もあながち…
789 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 20:45:33 ] >>788 それはうわさじゃなくて事実
790 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 01:00:34 ] 糞とか古いとか言ってた奴の言語を見たいよ。 概要で良いからどれだけ素晴らしい言語を実用レベルにしてるか見て欲しいよ。 こういう事言っても誰もやってくれないんだよな。 口先だけだと思われたくなければやってよ。
791 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 01:10:16 ] なんで自分の力量を証明するためだけに言語を作らないといかんのだ。
792 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 01:14:50 ] 実際に出来るのは理論だけか、 コンパイルスピードの遅い実用的にならない物だけだろ? コンパイルスピードを極限まで早くするためにmakeを内蔵し アセンブラを豊富に使っているプロと比べものになるわけ無いよ。 しかも言語仕様が柔軟でエロゲだけではなく 携帯電話のゲームのコンパイラにもなるんだぜ。 そんなのここのスレの住人の一握りしか出来ないよ。
793 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 01:16:54 ] >>791 今まで作ってきた言語の仕様の一部を晒せば良いんじゃないか? じゃないと糞とか古いとか言っても説得力がない。
794 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 01:19:19 ] 素人はコンパイラジェネレータを使えばok。 コンパイルスピードは目をつぶる。
795 名前:790 mailto:sage [2009/11/09(月) 01:21:53 ] >>791 今までに作った素晴らしい言語の仕様を教えてくれればいいよ。
796 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 01:24:20 ] kimoi
797 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 01:30:13 ] そんな物、作れるのはほんの一握り。 皮肉だと思うが、スレに期待しすぎ。
798 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 01:39:51 ] て言うか何言ってもいちゃもんつけるんだろうなあ… 不毛だこと
799 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 02:00:39 ] さすがにもうゲームの制御ならインタプリタで十分だろうに 未だにコンパイルスピードとか言ってる人もいるんだな
800 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 02:05:43 ] よそから飛んできたんでひょっとしたら799は空気が読めてなかったかもしれない