「コンパイラ・スクリプトエンジン」相談室13
at TECH
[前50を表示]
550:デフォルトの名無しさん
09/10/07 06:15:44
RubyとHaskellがベスト
551:デフォルトの名無しさん
09/10/07 07:25:05
noop
552:デフォルトの名無しさん
09/10/07 07:28:15
Ocamlが至高
ほかは糞
553:デフォルトの名無しさん
09/10/07 08:38:22
Ocamlなぁ。
こんどはOcamlでスクリプティングやってみるかなぁ。
静的型付言語の割りにコンパイラが賢いので
人間はあまり型を気にする必要がないというところがよさげだな。
554:デフォルトの名無しさん
09/10/07 10:28:43
>>548
DCGはいいものだったけど、
元になっているPrologが独自すぎて流行らなかったな。
一時はちょっとややこしい構文解析はDCGの独壇場だったのに。
555:デフォルトの名無しさん
09/10/07 13:25:28
>>554
スレ違いになるけど、Prologがブームだった頃「PrologはAI言語である」みたいな解釈の
説明が多かったため、AIブームの終焉と一緒にPrologへの関心も冷めてしまったように
感じてる。Prologなんて記号処理言語の一つで、「道具」にしかすぎないはずなのに。
DCGが自然言語研究の中から生まれたのは事実だけど、パーザ記述向けの「道具」として、
今でも有効に活用できるものだと思う。固定観念さえ捨てることができれば....。
とりあえず、Prologによるコンパイラ開発に興味を持った人向けに書籍を紹介する。
・Prologの技芸, L.Sterling&E.Sharpiro著, 共立出版
Prolog中級者向けの内容で、全体で557ページ、DCGには12ページ、コンパイラ(構文解析/
コード生成/アセンブラ)に関しては24ページが割り当てられている。
556:デフォルトの名無しさん
09/10/07 13:50:43
昔、Prologで簡単なBASICインタプリタをちょこちょこっと作る話が
載ってるウェブページあったなぁ。
557:デフォルトの名無しさん
09/10/07 18:58:11
プログラマならなんか成果物だして世の中の役に立て。
558:デフォルトの名無しさん
09/10/07 23:58:17
>>557
スークリですね解ります。
559:デフォルトの名無しさん
09/10/08 09:23:15
マ板でやれ
560:デフォルトの名無しさん
09/10/08 09:24:40
OCaml使いの間では"O"の部分は使わないのが常識らしいな。
561:デフォルトの名無しさん
09/10/09 11:08:27
OCamlさん 何してはるんですか
562:デフォルトの名無しさん
09/10/12 19:10:26
DSLを設計するための良書ってないですかね?
563:デフォルトの名無しさん
09/10/12 20:32:29
>>562
良書かどうかは分からないけど、とりあえず手持ちの書籍を紹介。
・lex & yacc, John R,Levine他共著, アスキー出版局(O'Reilly本)
この本ではCUI向けのメニュー生成言語、言い換えるとCUI向けメニュー生成処理に特化した
DSLの開発手法が紹介されている。 本全体が429ページで、そのうち33ページがDSL。
あるいは設計しようとしているDSLの適用分野(ドメイン)が明確になっていて、
それをここで提示できるのなら、その分野における類似したDSLを紹介したり、
その類似DSLに関する書籍を紹介したりすることができるかもしれない。
もし適用分野が明確ではなく、一般的なDSL設計技術を勉強したいという話であれば、
残念だけど「一般コンピュータ言語設計論」みたいな題名の抽象的で難解な書籍を
探すしかないと思う。自分は紹介できないや。
ただし、発想を変える事で参考になるやり方もある。
最近ではXMLで様々なデータやルールといった情報を表現することが
普通に行われていると思うけど、そのXMLで表現するタグ構成というのは、
目的とする分野に特化したDSLの一種であると考えることもできる。
だから「XML文書設計法」みたいな題名の書籍を読むことが、参考になるかもしれない。
# ほとんど参考にできるレスじゃなくてゴメソ
# あるいは、推薦図書/必読書のためのスレで質問してもいいのでは?
564:デフォルトの名無しさん
09/10/12 20:42:01
>>562
いずれ書籍になる予定
URLリンク(martinfowler.com)
565:デフォルトの名無しさん
09/10/12 20:50:00
>>564
URLリンク(martinfowler.com)
URLリンク(github.com)
URLリンク(homepages.cwi.nl)
どうもっすこの辺ちょっと読んできます。
566:563
09/10/13 10:06:24
うーみゅ、>>562が期待していたのはMartin Fowler氏の定義した
DSLという用語だったのね。このスレでの質問だったから、
てっきりパーザでミニ言語を作りたいのだと思い込んでしまったぜ。
漏れは釣られたのか?....orz
567:デフォルトの名無しさん
09/10/13 10:18:50
>>566
何を言い出すのだお前は?
568:デフォルトの名無しさん
09/10/13 10:19:51
>>563
baka
569:デフォルトの名無しさん
09/10/13 10:44:07
Wikipedia項目リンク
570:デフォルトの名無しさん
09/10/13 17:52:37
>>566
internal DSLとexternal DSLと呼び分けるのが一般的かと
571:デフォルトの名無しさん
09/10/14 19:30:41
>>563 はきちんと説明して偉いと思うよ。
マーチン・ファウラーがいうDSLを実装するにも、
lex&yaccは必要になることがある。
572:デフォルトの名無しさん
09/10/14 19:39:16
本人乙
573:デフォルトの名無しさん
09/10/14 21:16:50
内部DSLだとlex yaccの出番なくね?
574:デフォルトの名無しさん
09/10/14 23:12:14
DSLでも表記はS式 or 逆ポーランドで良いと思うんだけどな。
俺言語でS式&逆ポーランド&三項演算子というのをやったことあるけど、なかなか良い感じだった。
575:デフォルトの名無しさん
09/10/14 23:26:02
x^2 + 3 * x + 4
と
(x 2 ^ 3 x * + 4 +)
あなたはどっちが好きですか
576:デフォルトの名無しさん
09/10/15 00:09:22
DSLぐらいだったら二項演算子無しでも良いんじゃね?
俺言語だとこんな感じかね
x 2 ..pow 3 x ..multi ..plus 4 ..plus
577:デフォルトの名無しさん
09/10/15 00:15:34
想定するDSLのプログラマによるよね。
自分用・ギーク向け・趣味用途ならS式でも逆ポーランドでもいいけど
スーツ/エンドユーザー向け・パッケージソフトだったりすると流石に無謀だろ。
578:デフォルトの名無しさん
09/10/15 04:29:11
>>575
(x + 3) * x + 4
579:デフォルトの名無しさん
09/10/15 04:30:18
x 3 + x * 4 +
580:デフォルトの名無しさん
09/10/15 20:27:14
>>576
引数の数を演算子の前のドットの数で表してるんですね。
それって >>576 氏の発明ですか?それともそういった処理系がありますか?
581:デフォルトの名無しさん
09/10/15 21:52:05
fortran
582:デフォルトの名無しさん
09/10/16 00:18:11
後ろに置いたピリオドで、スタックに積んだ返した数を表すのはどうだろう
前後逆か?
.*で不定長引数とか
583:デフォルトの名無しさん
09/10/16 00:19:40
何のためのスタックかわからん
584:576
09/10/16 01:17:54
>580
俺の発案。forth系なんて流行ってないから誰もこんなこと考えないって。
コロンも活用すればそこそこ大きな引数でも使えるから実用的だよ。
.one ..two .:three ..:four
こういうのもWordレベルで一意になるから解析が楽チン。
4 3 2 1 ..sum // 3
4 3 2 1 .:sum // 6
4 3 2 1 ..:sum //10
585:576
09/10/16 01:27:49
>582
それは考えた。Wordレベルで一意になるから良さげだった。
…………普通はデフォルトの戻り値で十分なので後ろピリオドは要らないけど。
他にもこんなことを実装したんだけど、プロセス実行をどうするか考えているので実装は進んでない。
..func //デフォルトの戻り値
..func: //戻り値2つ
..func:. //戻り値3つ
..func[] //戻り値無し(廃棄)
..func[0] //配列型戻り値(全体)
..func[1] //配列型戻り値の1番目を返す
..func[-1] //引数を返す
586:デフォルトの名無しさん
09/10/16 02:04:29
>>584
あんまり突っ込むのも無粋だが、
.2sum とか .8sum とかの方が
見やすくて短くて解析も楽な気がしねぇ?
587:576
09/10/16 02:23:54
その辺りは好みですな。
個人的にはwordの中に数字が入るのが嫌なんでね…………
588:デフォルトの名無しさん
09/10/16 08:36:34
言語は仕様考えて、加減乗除ライブラリと、1文字出力ルーチン作って
階乗とかfib関数作るところまでで、たいてい飽きるの俺法則
589:デフォルトの名無しさん
09/10/16 14:07:02
>>584
そうでしたか。 >>576 氏は天才だと思います。
FORTHみたいな言語を自作するときは参考にさせてもらいます。
590:デフォルトの名無しさん
09/10/16 18:34:44
プレフィックスの数字で長さとかを決めるのって、
昔のFORTRANの文字列(5HHELLO とか)みたいでなんかヤだなぁ。
Verilogのビット幅指定がそうなんだけど。
591:デフォルトの名無しさん
09/10/17 12:19:17
俺、中学の頃、逆ポーランド記法のこと何て、
聞いたことも、無かったけど、自分で、思いついてた、、、
592:デフォルトの名無しさん
09/10/17 13:23:53
逆ポーランド記法は日本語に似ているから、日本人にとってはある意味自然なんだよな。
593:デフォルトの名無しさん
09/10/17 13:55:45
惜しいかな
変なことを考える中学生に今少し学問があれば
594:デフォルトの名無しさん
09/10/17 14:01:40
>>591
「お前が思いつくようなことは、すでに誰かが思いついてる」
ベッコアメの社長が親父に言われたんだったかな?
大昔に見た記事だから忘れたけど
595:デフォルトの名無しさん
09/10/17 15:25:19
それなりの環境にいれば思いつくことは思いつく。
しかし思いついたことを実現まで持っていく奴はなかなかいなくて、大抵
思いついた数年後に世の中のどこかからそれを実現させた会社がでてくる。
596:デフォルトの名無しさん
09/10/18 00:19:13
つ LISP
597:デフォルトの名無しさん
09/10/18 11:29:40
>>592
2から3を引く
3を2から引く
どちらも日本語として自然ですが、RPNとしてはどちらかが間違いですよね?
一見そう見えるというだけだと思います。
598:デフォルトの名無しさん
09/10/18 11:37:48
>>597
2から3を引く --> -1
3を2から引く --> 1
どちらもRPNとして正しいと思うが?
599:デフォルトの名無しさん
09/10/18 11:38:57
日本人は中学で語順で格を示す英語学ぶのだから、
それは機能語である助詞の機能によって、
語順が変えられるのだとすぐ気づくだろう。
600:デフォルトの名無しさん
09/10/18 12:07:45
>>598
おい
601:デフォルトの名無しさん
09/10/18 12:11:40
>>597
>3を2から引く
これは日本語として自然か?
漏れにはえらく不自然に見えるが....。
逆にRPN(Forth系言語)なら "から" を減算元属性付加、"を" を減算先属性付加という
ワードであると考え、ワード "引く" ではスタック上の属性値を参照することで、
演算対象値を決定できる。これなら3と2が逆でもオケー。以下は例。
3 :スタックに3をPUSH
を :スタックの先頭値に演算先属性を付加
2 :スタックに2をPUSH
から :スタックの先頭値に演算元属性を付加
引く :スタックから値を2個POPし、減算子(演算元値 - 演算先値)を評価して、結果をPUSH
602:598
09/10/18 12:13:11
>>598のカキコは取消
603:デフォルトの名無しさん
09/10/18 16:24:14
そういう風に、本来のRPNにないものを導入しないとダメじゃん、って話。
604:デフォルトの名無しさん
09/10/18 21:56:46
シューティングで弾幕とか敵の動きをスクリプト化したくて
Java上で動くスクリプトエンジンを作ろうと思ったのですが、
・・何から始めたらいいんでしょうか。
スクリプトに使う言語はLuaにしようと思っています。
605:デフォルトの名無しさん
09/10/18 22:23:29
Java上なのにLuaなのかよ。
606:デフォルトの名無しさん
09/10/18 22:59:00
Jua
607:デフォルトの名無しさん
09/10/18 23:01:28
>597
おいおいおい、日本語が逆ポーランドの構造しか持っていないなんて言ってないぜ。
日本語の特徴の一つ(述語を中心とした後置型)が逆ポーランドに似ているということだよ。
〜して、〜して、〜して、……。といった感じでだらだら続けられるのも日本語の特徴だよな。
そういや、各国の言葉の特徴をイラストにしたのがあったな。日本は渦巻だっけ?
608:デフォルトの名無しさん
09/10/19 10:57:43
> といった感じでだらだら続けられるのも日本語の特徴だよな。
逆ポーランド記法から夢が膨らむネット言語学者乙
英語でもできるし、日本語よりもっと簡単なぐらいだ。
新聞などではさすがに極端なのはないが
小説でも眺めてみるとよい。
見るからに馬鹿そうな著者を選ぶのがポイント。
609:デフォルトの名無しさん
09/10/19 11:05:22
逆ポーランド記法を使えば、自然言語処理の能力がアップするに違いない!
610:デフォルトの名無しさん
09/10/19 12:57:18
つ「日本語の語順と逆ポーランド記法」「和文の語順と逆ポーランド記法」どちらも水谷
611:デフォルトの名無しさん
09/10/20 02:04:38
どんなの? >608
日本語よりも柔軟に組めるの?
612:デフォルトの名無しさん
09/10/24 13:47:52
緩いだけだろ
日本語で曖昧さがなく読みやすい長い文を書くのには
読点の使い方や語順を工夫したりとか技術がいる
613:デフォルトの名無しさん
09/10/24 15:33:34
つまり、時代はラテン語か
614:デフォルトの名無しさん
09/10/24 20:47:50
>>613
西洋人にとってのラテン語にあたるものが日本で学ぶ漢文なのよ(割とマジで)
615:デフォルトの名無しさん
09/10/24 20:47:56
古代ギリシャ語でおk
616:デフォルトの名無しさん
09/10/24 23:22:44
>>614
いや漢文じゃなくて古文の方だろjk
617:デフォルトの名無しさん
09/10/24 23:32:57
古文に相当する授業ではたとえばイギリス人ならシェークスピアとか読む。
618:デフォルトの名無しさん
09/10/24 23:46:08
字句解析を手書きするのって難しい・・
619:デフォルトの名無しさん
09/10/25 08:19:24
>>616
漢文です。ていうか常識ないなおまい
620:デフォルトの名無しさん
09/10/25 12:52:17
古文だろ。
621:デフォルトの名無しさん
09/10/25 13:10:32
南部ヨーロッパだと昔使っていた言語だけど、
北部ヨーロッパだと別の民族の言葉だな。
622:デフォルトの名無しさん
09/11/02 20:00:31
「から引く」と「を引く」の二つの演算子つくればいいだけじゃん。とカメレス。
どっちもドンラーポとしては正常だよね。
623:デフォルトの名無しさん
09/11/03 12:31:29
そこは語尾屈折で
624:デフォルトの名無しさん
09/11/06 11:41:09
Rubyで俺DSLを作りたいのですが、パーサーの作り方を解説したURLはないでしょうか
625:デフォルトの名無しさん
09/11/06 12:25:59
ウェブページはあるかもしれんが、URLだけで解説するのは無理だな。
冗談はともかくとして、とりあえず Racc 使い方、で検索するとか。
先頭に出てくるページは、今なんか落ちてるようだが。
ていうか言語内DSLじゃダメなの?
626:624
09/11/06 13:27:03
検索しましたがraccで良いような気がします(合ってますか?)
”Rubyを256倍使うための本 無道編”というraccの解説本がありましたが絶版でした。
どこかに良い資料はないでしょうか。
最終的には俺言語、俺コンパイラ、俺VMが作りたいです。
627:デフォルトの名無しさん
09/11/06 13:44:05
>>626
URLリンク(www.bk1.jp)
そういやANTLRの人がこんな本出すね
Language Implementation Patterns: Create Your Own Domain-Specific
and General Programming Languages
URLリンク(pragprog.com)
628:デフォルトの名無しさん
09/11/06 14:10:12
>>626
ネットで見つかる資料でとりあえずいいと思うんだけど。
629:デフォルトの名無しさん
09/11/06 14:36:41
俺程度の脳みそでは下記のサイトが役に立った
早く2部を作ってくれ。
KENJIの独り言 URLリンク(www.ne.jp)
630:デフォルトの名無しさん
09/11/06 15:39:48
それ、ざっと見たけど、まともに構文解析してない気がする。
...ゲームスクリプトエンジンとして、インタプリタがセーブ・ロードをサポートする所の考察は面白いが。
アセンブラのような文法(ベタッとした、入れ子になった構造がない言語)なら、
それでも構わないけど、どうやら if や式に現れる入れ子構造をどうやって処理したら
いいか、わからなくって手詰まりになっちゃったんじゃないかな?
> もし、複雑な物を使いたい場合、
> スクリプトコンパイラを使うに乗っている拙作の acc.exe を使うか、lexとyaccで作った方が良いと思います。
と本人が言ってるように、yaccも使わないし、再帰降下パーザを手で書くわけでもなく、
シンプルに済ませたいなら、if や while なんかの入れ子なんぞもっての他、
式も (1 + 2) * (3 + 4) なんて複雑な式はきっぱりあきらめる、と。
それくらい割りきらないとダメっつーか。
まぁ昔のFORTRANや、BASICインタプリタは、なんだかんだのテクニックを使って、
そういうのを実装してたわけなんだけどさ。
631:デフォルトの名無しさん
09/11/06 16:43:44
現実に使っていると思われるスクリプトコードの一例がブログに載っているが、そこの一部で説明されているものと大差ないんだな。
変数名を(固定プリフィクス+数字)の形でしか表せないように見える。
管理するの大変そうだ。
632:デフォルトの名無しさん
09/11/06 17:29:15
C言語と同等の機能の#define、
MASMライクな#macroの2種類があり、もちろん様々な条件コンパイルも出来、
最終的にプリプロセッサは、式(逆ポーランド)と
DD,DW,DB,stringにスクリプトを解析してコンパイラに渡す。
よって、プリプロセッサの大きさに比べてコンパイラの大きさは小さい。
そして強力な文字置換により、文字セットもプリプロセッサ時、コンパイル時、実行時の3段階で解決される。
本人曰く、
21年プログラマやってて、13年同じシステムを使ってるって
と書かれてるから、さすがにそんなチープな物じゃないんじゃない?
しかし、カナ入力なんてじじいかよw
633:デフォルトの名無しさん
09/11/06 17:33:36
ブログの回答で初心者にドラゴンブックと中田の本を紹介してるw
634:デフォルトの名無しさん
09/11/06 18:10:46
誰か特攻しやがったw
635:デフォルトの名無しさん
09/11/06 18:25:09
またおまえらかw
636:デフォルトの名無しさん
09/11/06 18:55:05
> 変数名を(固定プリフィクス+数字)の形でしか表せないように見える。
> 管理するの大変そうだ。
アルファベット2文字とかそういう制限ならわかるけど、
わざわざそんな制限つけるとか考え辛いし、そういう名前で変数を管理する
世界にいる、ないしそういう環境で学んだ人ってことなんじゃないかな?
ドラゴンブックと中田先生の本(どれ? 厚い奴薄い奴ペーパーバックの奴と
いろいろあるけど)って、結構わかってるじゃないかw
一昔前なら市販品だったようなレベルのCコンパイラだって書けるぞ。
つまり >>629 のコンテンツは覚醒前に書いたっつーことかね。
ぜひ今の知識とノウハウを注ぎ込んで書き直していただきたい。
masmのマクロって俺よく知らないんだよな。構造化アセンブラみたいな記述が
できるようになるマクロセットを作れたりとか結構すごいらしいんだけど。
637:デフォルトの名無しさん
09/11/06 19:45:38
変数名は英数文字で表現できます。マルチバイトでは表現できません。
メッセージ命令の中でもレジスタ間接などを使って計算結果やストリング配列の表示も出来ます
メッセージ中に直接式を入れることも出来ます。
if 式 elseif 式 else end / while 式 end / do while 式 / for 式;式;式 end などが記述出来ます
これらは全てプリプロセス時に、#amacroでifn_goto 式,label / if_goto 式,label と goto labelに分解されます。
式は代入式と評価式の区別は付けません。それとポインター式があります。
式はC言語と同等の物だと思ってください。演算子の優先順位も合わせてます。
記述性はVB並と思ってください。それに強力なマクロと強力な置換が追加されていて、
それらを使って、windows apiを呼び出すようになっています。
逆に言うと、強力なマクロと強力な置換を使い、システムをラッパーしなければ
最低限のゲームシステムの支援(文字表示やCG表示)しかなく
windows apiやcopyrect命令などの呼び出しが必用になり、
ゲームシステムとしては使い物になりません。
式関連は最適化もしています。
コンパイラ自体は以上の実装なので、
ウチで作った携帯電話用のゲームシステム等ともマクロを変えて併用しています。
638:デフォルトの名無しさん
09/11/06 19:48:09
以下がendマクロの実装例です
#amacro end( d0 )(local0,local1,localn,localt,localcase)
;
; end ( while,do,for,switch,if )
;
#getnum localt 2
#getnum localn 3
#subnumsp 3
#define local1 "f_{localn}"
#unstr local1
#if (localt==10) ; while
#define local0 "b_{localn}"
#unstr local0
goto local0
local1:
#elseif (localt==11) ; do
#define local0 "b_{localn}"
#unstr local0
if_goto local0,d0
local1:
639:デフォルトの名無しさん
09/11/06 19:49:13
#elseif (localt==12) ; for
#define local0 "b_{localn}"
#unstr local0
goto local0
local1:
#elseif (localt==13) ; switch
#popnum localcase
#substrsp 1
#define local0 "case_{localn}_{localcase}"
#unstr local0
local0:
local1:
640:デフォルトの名無しさん
09/11/06 19:50:27
#elseif (localt==14) ; if
#popnum localcase
#define local0 "if_{localn}_{localcase}"
#unstr local0
local0:
local1:
#else
#error end文の対応が異常です
#endif
#endm
641:デフォルトの名無しさん
09/11/06 19:55:12
笑ってすみませんでした。
URLリンク(www.ne.jp)
の2部以上の物を作っているみたい。
マクロで言語を作るのって、意味あるんかい
と思ったら、携帯電話へも流用してるのね。
面白いアプローチだ。
642:デフォルトの名無しさん
09/11/06 20:02:19
LispやSchemeはマクロのお化け
複雑な構文をマクロに委ねるってアプローチはありだと思うけど
括弧はイヤだ
643:デフォルトの名無しさん
09/11/06 20:05:24
>>636
> ドラゴンブックと中田先生の本(どれ? 厚い奴薄い奴ペーパーバックの奴と
> いろいろあるけど)って、結構わかってるじゃないかw
> 一昔前なら市販品だったようなレベルのCコンパイラだって書けるぞ。
かなり古くさいスタイルの仕様、実装になってしまっていることと、
概論で終わっているような本を参考文献に挙げることは、対応していると思う。
644:デフォルトの名無しさん
09/11/06 20:06:36
何をやってるかさっぱりわからない。
みんな理解できるのか?
だったとしたら、みんなが普通で俺がバカと言うことになるw
645:デフォルトの名無しさん
09/11/06 20:12:30
>>642
ほう、そうなのか。
しかしこの仕様なら、リンカさえ作れば色々なCPUの実行型を作れて面白そうだな。
>>643
関数型言語みたいだね。現代のoopには対応できないのかね。
まーエロゲのスクリプトみたいだからこれでもオーバースペックだよな。
646:デフォルトの名無しさん
09/11/06 20:16:26
end命令1個作るのにわざわざこんなに記述するのは嫌だな。
中間スクリプターは地獄だな。
多分本人が作ってるんだろうけど。
647:デフォルトの名無しさん
09/11/06 20:31:07
逆にマクロさえ作ればいくらでも言語を拡張出来る
確かにlisp的だ
648:デフォルトの名無しさん
09/11/06 20:46:57
lispなめんな
649:デフォルトの名無しさん
09/11/06 20:56:54
>>643
の言うとおりoopではない。
言語仕様としては古くさいのでは?
しかし、ゲームのシナリオを入力するだけの物にoopは必要ない。
携帯電話のゲームにも流用しているみたいだから
この人の場合は>>643の言うことは見当外れで>>647の言うことが正しい。
650:デフォルトの名無しさん
09/11/06 20:58:15
>>648
気に障ったか、ならば言い換えよう
マク…モゴモゴ テンプレートさえ作ればいくらでもメタ言語を拡張出来る
確かにC++的だ
…?
651:デフォルトの名無しさん
09/11/06 21:07:58
俺には作れないな。
17才からエロゲプログラマーか。
俺がやったゲーム、何本か作ってるw
652:デフォルトの名無しさん
09/11/06 21:10:04
コンパイラの理論だけじゃ関数型言語はわからんよ
653:デフォルトの名無しさん
09/11/06 21:38:13
>>649
>>643にはoopじゃないから古くさいとは書いてないが?
654:デフォルトの名無しさん
09/11/06 21:40:32
>>653
649じゃないけどさ、
じゃあ何が古くさいの?
アンチドラゴンブック派?
655:デフォルトの名無しさん
09/11/06 21:42:43
ドラゴンブックが古くさいとも書いてないようだが…
656:デフォルトの名無しさん
09/11/06 21:45:43
>>653
>>655
アンタの文章は何を言いたいのかさっぱり解らんのよ。
657:デフォルトの名無しさん
09/11/06 22:00:23
>>643
>>655
>>かなり古くさいスタイルの仕様、実装になってしまっていることと、
>>概論で終わっているような本を参考文献に挙げることは、対応していると思う。
仕様と実装が古い、そして参考文献が対応してるって書いてあるから、
643はドラゴンブックを古いと思っていることは拙い文章だけど解る。
658:デフォルトの名無しさん
09/11/06 22:07:16
おちつけ。
>>637はエロゲや携帯電話のゲーム用のスクリプトだぞ。
それにしては強力だし妥当な言語仕様だと思うぞ。
659:デフォルトの名無しさん
09/11/06 22:35:14
C言語にMASMの強力なマクロが使えればいいと思っていたが、
実際にやる奴が居たなんて…
660:デフォルトの名無しさん
09/11/06 23:08:03
面白そうな言語だね。
マクロの全容とサンプルソースを見てみたいね。
661:デフォルトの名無しさん
09/11/07 02:32:06
中田先生の本の第2版が出るらしいよ
662:デフォルトの名無しさん
09/11/07 02:48:16
save,loadがバグfix時の文章追加でずれるのか。
プロはそんなところまで考えないといけないのか。
大変だな。
663:デフォルトの名無しさん
09/11/07 05:55:04
なんだか面白い話になってるね。
メイドゲーの始祖の殻の中の小鳥のプロデューサーでありプログラマのKENJI氏か。
年下だけどオレがこの道に入った元凶の1人だ。音楽プログラムが凄い人だ。
こうなったらシステムを公開して欲しいって言ったら、罰が当たるよね。
過去に関わったタイトルも100以上で、オレが買ったのも10は下らない。
天才っているもんだね。
CG,WAV圧縮もオリジナル、それら全てにMAKE内蔵って事は
100本以上というタイトルを考と公開されているKMAKEと言うのを見てみれば分かるが高性能。
DOSもK-DOSとか言う物がゲームに入ってて、さらにUMBメモリツールのUMBCNFGの作者。
うーん、システムを公開して欲しい。
>>661
2版が出るんですか。1版を持っている自分は買わないですが、
立ち読みはしてみたいですね。
中田先生はいつまでたってもエネルギッシュですね。凄い!
664:デフォルトの名無しさん
09/11/07 10:19:34
>>652
確かに関数型言語の実装のしかたがわかる文献となると、まだ論文とかが頼りかなぁ。
Tiger Book の訳本が出るけど、あれにもないんだっけ?
>>662
ベタデータでセーブするかねぇ?
ハッシュをJSONみたいな形式でセーブするとかすればロバストになると思うが。
確かにコンティニュエーションとかコアダンプを丸ごと保存してプロセスを停止・再開
という手段も世の中にはあるが。
Lispのマクロは、プリミティブとしてリスト構造を切った貼ったできる(List processor だけに)。
ありがちな、文字列レベル+α程度の編集能力しかないマクロと一緒にしちゃいかん。
2版が出る、って、中田先生のどの本よ。
厚い最適化の本?
> if 式 elseif 式 else end / while 式 end / do while 式 / for 式;式;式 end などが記述出来ます
それら自身は<文>なんだよね。
詳細を埋めると、
<文> : if <式> <文> elseif <式> <文> else <文> end / while <式> <文> end /
do <文> while <式> / for <式>;<式>;<式> <文> end
ってことでいいのかな?
665:デフォルトの名無しさん
09/11/07 10:50:01
>>651
>>663
俺がやったエロゲも作ってたw
メモリツールも使ってた。同一人物だったとはね。
>>664
あの分厚い最適化の本は2版が出てもいらんわ。
まだ最初の奴、読み終わってないからなw
中田が監修した本の2版なら絶対買わない。
>それら自身は<文>なんだよね。
>詳細を埋めると、
ブログを見る限りだと文の区切りは改行臭い。
ネストできない事はさすがに考えられないからそれで正しいと思う。
666:デフォルトの名無しさん
09/11/07 10:54:39
>>664
関数型言語実装本は何冊も出てるよ。訳本がないだけで。
667:デフォルトの名無しさん
09/11/07 10:57:23
どちらにしろ訳者が糞だとダメ本になるから英語版を買った方がお財布にも優しい。
668:デフォルトの名無しさん
09/11/07 12:32:45
MinCamlならコンパイラの作者は日本人だから、解説文書は日本語が中心だよ。
後、東大やJAISTの講義で使われているから、その講義資料や学生の個人HPを漁るもよし。
もしも英語が読めれるなら、ググるといくらでも論文は見つかるんだけどね。
まったくインターネット万歳、いい時代になったもんだと思う。
669:デフォルトの名無しさん
09/11/07 13:15:54
公開は断られたね。残念。
670:デフォルトの名無しさん
09/11/07 13:17:41
未記入様。
makeを内蔵したのは、
別exeにするとどうしても読み込みのオーバーヘッドが無視できなくなるからです。
マスターアップの時にはデーターが完成するのが当日とか当たり前にあります。
自分のシナリオコンパイルは1fileで1秒前後、自分のwavファイルで0.1秒前後です。
特にwavファイルは最後に入ってくることが多いので、wav圧縮は0.1秒前後のため、
外部makeを呼び出していると1万fileだと相当なオーバーヘッダがつきます。
ですので内蔵しております。oggだとこうはいきませんよね。
1万fileで外部makeだと少なくとも5時間は掛かります
671:デフォルトの名無しさん
09/11/07 19:00:35
上で既出だけど
中田先生のコンパイラの構成と最適化第2版が20日に出版
URLリンク(www.asakura.co.jp)
672:デフォルトの名無しさん
09/11/07 19:09:28
KMAKEってのが気になって見てみたけど、
依存型じゃなくって単体ファイルの比較なのね。
たしかにWAVの圧縮には依存型じゃない方が良いと思う。
MAKERだとWAVFILEを2ヵ所に記述しないといけないからね。
マクロはMAKERとほぼ同じだね。
この仕様でフルアセンブラなんて凄いね。
DISKへスワップ機能を入れたりUMBCNFGと言い、
MAKE時のFREEMEMORYをよっぽど空けたかったんだろうね。
673:デフォルトの名無しさん
09/11/07 19:22:23
>>671
1版を持って無いから買いたい。しかし高いな。
>>672
makeはさすがにスレチ。自重してね。
674:デフォルトの名無しさん
09/11/07 20:55:50
素朴な疑問なんだが、makeって何のことを言ってるんだ?
普通makeといったらMakefileを動かす実行プログラムのことを言うと思うんだが。
675:デフォルトの名無しさん
09/11/07 21:16:58
>普通makeといったらMakefileを動かす実行プログラムのことを言うと思うんだが。
それでokだと思うよ。
kmakeはmakefileを動かすプログラムみたいだね。
それをスクリプトコンパイラやwav圧縮に統合してるみたいだ。
面白いアプローチだし、0.1秒の速度を万単位のファイルの圧縮に使って
マスターアップの時間を稼いでるみたいだね。
しかし、エロゲーってwavファイルがマスターアップの直前に来るのか。
少しでもスピードを稼ぎたいのは分かるが、
もっと余裕を持ったスケジュールで作れない物なのかね。
676:デフォルトの名無しさん
09/11/07 22:01:09
>しかし、エロゲーってwavファイルがマスターアップの直前に来るのか。
ねーよ。
収録完了後2日〜1週間後が納期。Waveでもoggでも注文した形式で作ってくれるよ。
よっぽどアレなスケジュール組んでるんじゃね?
スレの内容に即したことをいうなら、Advの演出みたいなやたらと巨大な量になるスクリプトなら、
マクロで計算式を埋め込むことなんかよりも、むしろ計算式をスクリプトから外に出してしまうことをオレなら考えるな。
677:デフォルトの名無しさん
09/11/08 01:28:13
KENJI氏の所は今年6本だからね。しかも延期は今のところ2本も無いみたい。
ブログ見ても書き方が簡素な演出方法と細かい演出方法を用意している、
よっぽどタイトなスケジュールなんだろう
a)1行でロードと表示をする
;Bキャラを左にCキャラを右に表示
ld_cg1 h00bw00,h00cw00
;BキャラとCキャラを左右に動かし、間にAキャラ出現
ld_cg1m h00bw00,h00aw00,h00cw00
;BキャラとCキャラはその位置のままでAキャラを消す
ld_cg1 h00bw00,cls0,h00cw00
b)ロードと表示をわける
;Bキャラを0番レイヤーにロードし、立ち位置を左(0-4のうち1)にし、表示優先順位を最低(0)にする。
ld_layer 0,h00bw00,1,0
;Cキャラを1番レイヤーにロードし、立ち位置を左(0-4のうち3)にし、表示優先順位を1にする。
ld_layer 1,h00Cw00,3,1
;ロードしたBキャラとCキャラをフェードインで表示する
putcg 1
678:デフォルトの名無しさん
09/11/08 01:29:21
;Bキャラをより左(0-4のうち0)に移動させる
move h00b,0
;Cキャラをより右(0-4のうち4)に移動させる
move h00c,4
;Aキャラを2番レイヤーにロードし、立ち位置を真ん中(0-4のうち2)にし、表示優先順位を2(一番手前)にする。
ld_layer 2,h00aw00,2,2
;BキャラとCキャラを左右に動かし、間にAキャラ出現
putcg 1
;Aキャラを2番レイヤーにロードし、立ち位置を真ん中(0-4のうち2)にし、表示優先順位を2(一番手前)にする。
ld_layer 2,cls0,2,2
;BキャラとCキャラはその位置のままでAキャラを消す
putcg 1
679:デフォルトの名無しさん
09/11/08 01:31:04
誤)KENJI氏の所は今年6本だからね。しかも延期は今のところ2本も無いみたい。
正)KENJI氏の所は今年6本だからね。しかも延期は今のところ1本も無いみたい。
680:デフォルトの名無しさん
09/11/08 01:46:26
どうやらバグfixも出てないようだな。
破綻してるスケジュールじゃなくて
スクリプトの簡素化とwav納期の短縮でこなしてる。
マクロを使いまくって、バグを出にくくする体制にしてるんだろう。
681:デフォルトの名無しさん
09/11/08 02:02:55
マクロ自体にバグが入ると酷い事になるけどな
682:デフォルトの名無しさん
09/11/08 02:40:02
100本以上、エロゲを作ってるんだから大丈夫だろ。
久々にエロゲ板をみてみたら規制で大変なことになってるみたいだな。
683:デフォルトの名無しさん
09/11/08 03:20:56
しかし面白そうな言語だ。
全容をみてみたい。
684:デフォルトの名無しさん
09/11/08 05:51:46
>>672
FREEMEMORYじゃなくてコンベンショナルメモリでしょ。
685:デフォルトの名無しさん
09/11/08 06:14:31
構造文すら全命令をマクロ化、MAKE内蔵、実践に即した実装だとLISP信者の俺は思う。
686:デフォルトの名無しさん
09/11/08 06:24:09
エロゲってバカにしてたけど、中々やるな。
シューティングのキャラの移動にも使える。
と思ったら、17才の時にセーラー服戦士フェリス(ヴァリスのパクリ?)で敵の
移動パターン制御に何かしらの言語を使っていた可能性も有るのか。
21年前か。いまだに現役か。
悪いけど言語仕様は古いと思うが21年前の17才が何かしらの言語を
作ったと考えると、今のマクロ主体のシステムは実測論による今までの集大成か。
素直に凄いと思う。
しかし自分がプログラマーだと思うとオブジェクト指向を入れて欲しい。
687:デフォルトの名無しさん
09/11/08 06:29:59
全ての構造文は
if not 式 goto,if 式 goto,goto
の3命令で表せると実証してるしな。
構造文のサンプルだけでもみたいな。
688:デフォルトの名無しさん
09/11/08 07:41:43
ソースクレ厨と同じじゃないか
うぜえんだよ
LISPでもやってろ
689:デフォルトの名無しさん
09/11/08 09:47:10
しかし、作ってるのがエロゲ屋ってのが、そんなに感銘を受けるものなのかね?
見習うべきは吉里吉里(KAGはちょっと微妙)とか、バンナムの中の人が作ってるXtalとか、
ソースも手に入るんだし、いくらでもあると思うんだが。
採用実績だってXtalはともかく、吉里吉里は相当のものがあるし。
kikyou.info がつながらん...
690:デフォルトの名無しさん
09/11/08 10:32:53
>>689
> しかし、作ってるのがエロゲ屋ってのが、そんなに感銘を受けるものなのかね?
たしかにそこに惹かれてるとしか思えないような糞言語だな。
691:デフォルトの名無しさん
09/11/08 10:37:47
各レスの鼻息と具体性がここまで綺麗に反比例してると笑える。
692:デフォルトの名無しさん
09/11/08 11:48:00
糞とかいってる奴はもっと良い言語をスクラッチで組めるのか?
俺には無理だ。
693:デフォルトの名無しさん
09/11/08 11:55:23
HPのフリーツールをみてると何でも水準以上の物を作っているところが凄い。
DOS時代からの生き残りか。
694:デフォルトの名無しさん
09/11/08 12:06:25
電卓かなんか?
695:デフォルトの名無しさん
09/11/08 12:07:33
>>687
見事に全ての構造文を if not,if,goto で記述している
_ KENJI ― 2009/11/08 11:53
まずはdo-whileではなく、正しくはdo-endと記述する事を訂正させてください。
それと吉里吉里などもっと凄い言語が公開されていますので、
ソースコードなどはそちらを参考にした方がよいと思います。
switch-caseはテーブルではなくif文の固まりです
文字列はゲーム用スクリプタなのでもちろん"(ダブルクオーテーション)では挟まずベタうちです。
ラベルやプリプロセス命令(#が付く命令)も行頭でなくとも記述できます
(sample)
while exit_flag==0
sel game_flag,ゲームをスタートさせる,ゲームを終了させる
if game_flag==0
ゲームをスタートさせます
game_start 1
else
sel ans,ゲームを終了させる,キャンセル
if ans
exit_game 1
end
end
end
実際のマクロ記述については長いので省略。以下をみてね。
URLリンク(kenjikakera.asablo.jp)
696:デフォルトの名無しさん
09/11/08 12:16:54
>>695
> 見事に全ての構造文を if not,if,goto で記述している
ifとgotoにメモリがあればTuring完全なわけだし。
697:デフォルトの名無しさん
09/11/08 12:20:21
で、メッセージを英語化して、start game と exit game にする時はどうするの?
698:デフォルトの名無しさん
09/11/08 12:21:54
>>696
高度なマクロ機能があれば、whileとかforとかswitchとかを
全部ifに変換するようなマクロとか考えられるよね。
699:デフォルトの名無しさん
09/11/08 12:30:20
コンベンショナルメモリを広く使うため、UMBCNFGとか使ったな。
あの頃はコンベンショナルメモリが広くないと動かないゲームがあったんだよな。
音源ドライバもMSDRVとレコンポーザ互換で複数画面が使えるんで重宝した。
たしか音源ドライバは118音源の2OPモードが使える唯一のDOSドライバだったんだよな。
そして分裂守護神トゥインクルスターと殻の中の小鳥か。
分裂守護神トゥインクルスターはなぜACT2がでなかったか不明だった。
あの変身シーンをまた見たい物だよ。ニコ動にはないんだよな。
殻の中の小鳥はメイドブームの始祖だよな。
それに、よくネタにされるセーラー服戦士フェリスか。
ニコ動でみたけど、当時の98シューティングってこういう感じなのか。
こういったゲーム開発を支えたのがmacro志向言語でmake内蔵か。
LISPの思想を継承してると思ったが、見てみたらプリプロセッサ命令の山。
面白い物だ。
700:デフォルトの名無しさん
09/11/08 12:33:49
>>697
特攻しました。
701:デフォルトの名無しさん
09/11/08 12:33:56
ゲ製板にフォークしたいような勢いだな、と思ったんだが、
スクリプト で検索したら既にいくつかスレあるな。過疎ってるしw
ゲーム用スクリプトの話題はそっちに分ける?
702:デフォルトの名無しさん
09/11/08 12:49:27
>>698
いやgoto用ラベル管理が必要になるだけで、
後はCのマクロレベルで問題なし。
703:デフォルトの名無しさん
09/11/08 12:55:27
>>702
Cマクロレベルだとネストの管理が出来ないだろう。
それに#defineマクロは記述性が悪い。
704:デフォルトの名無しさん
09/11/08 13:06:24
殻の中の小鳥と分裂守護神トゥインクルスターは
あの当時の98ユーザーなら知ってるとして、
セーラー服戦士フェリスはパッケージにRPGって書かれてたんだぜ。詐欺だよ。
しかもスピードが速すぎてマシンクロックを落とすか
ファンクションキーでスピードを落とさないとゲームにならないんだよ。
フェリスの後継のコズミックサイコは音楽CDが付属していて
今でも高値で売られてるんだよ。
705:700
09/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:デフォルトの名無しさん
09/11/08 13:16:55
ここに本人が書いてるみたいなレスは、転載か何かか。
707:デフォルトの名無しさん
09/11/08 13:19:52
>>703
ラベルをスタックで管理。> ネスト
708:デフォルトの名無しさん
09/11/08 13:22:17
98ユーザーも結構多いんだな。
こういった内部でしか使われない言語が表に出ると反応が様々で怖いな。
俺がスクラッチから作った言語がこのスレに晒されたらと思うと怖いな。
709:デフォルトの名無しさん
09/11/08 13:23:42
>>707
それじゃあ、if not goto,if goto,gotoだけじゃないじゃん。
710:デフォルトの名無しさん
09/11/08 13:24:23
今から>>708の言語を捜すスレになりました。
711:デフォルトの名無しさん
09/11/08 13:31:40
>>709
それはターゲット言語であって、処理系の話じゃないでしょ?
その辺はちゃんと区別できないと。
712:デフォルトの名無しさん
09/11/08 13:34:13
IBM5100ユーザーも結構多いんだな
713:デフォルトの名無しさん
09/11/08 13:35:27
>>707
おいおい、C言語の力を使ったら何だって出来るだろ?
マクロだけで実装してるから話題になっているわけで、趣旨が違うぞ。
>>708
フツーの人はそうだよ。言語処理系のソースコード公開するのも怖いし。
吉里吉里の人は特別だよ。
714:デフォルトの名無しさん
09/11/08 13:51:17
>吉里吉里の人は特別だよ。
吉里吉里スクリプト自体は、仕様としてはさほど大したものではない。
仕様を真似して似たようなオブジェクト指向スクリプト言語を構築してみたが、
コンパイラ+VMで2週間くらいでできたよ。
吉里吉里がすごいのはKAGというADVゲーム開発環境一式が公開されていることと、
それによる市販ソフトの実績が十分にあるところだな。
715:デフォルトの名無しさん
09/11/08 13:55:40
>>713
そのマクロ機能実現に、ラベルのスタック管理が必要だってことでしょ?
popしてるじゃん。そのマクロのコード読めてないの?
716:デフォルトの名無しさん
09/11/08 14:01:39
>>714
VMの性能はおいといてもコンパイラをスクラッチで2週間で組めるのならあんた十分凄いよ。
吉里吉里というのは自分は知らんが、KAGというのは吉里吉里上のラッパかな?
ここに出ているマクロ言語は自分には6人月の仕事だ。
717:デフォルトの名無しさん
09/11/08 14:09:14
>>715
いや、だから言語の仕様上だけで実装してるのがすごいんじゃん。
ああ、わかった。#defineマクロ機能を完全にとpop機能を実現するコンパイラを
作れば同じ事が出来るって言いたいんだな。
LISP信者には悪いが可読性の悪いLISPや#defineマクロよりmasm似にたマクロを
使えた方が可読性は増す。
あと、Cの#define中って、#ifdefとか#ifって使えたっけ?
使えるのならCの#defineの実装って結構やっかいそうだな。
718:デフォルトの名無しさん
09/11/08 14:12:10
あ、でもだめだ。#defineではlocalなラベルは作れん。
719:デフォルトの名無しさん
09/11/08 14:19:02
>>716
最近は48時間な時代だからなあ
720:デフォルトの名無しさん
09/11/08 14:21:54
一つずつ名前をつけるのもめんどくさいほどの大量のフラグとパラメータの
複数スナップショット取れる風な恒久化っていうのはいいね。
俺言語を作ろうとすると文字列のサポートとかマンドクさくなるので
こういう状態遷移管理専用言語もおもしろそうだ。
昔、bitか何かで「ある番地(A)からある番地(B)のデータを引いて0になったらある番地(C)へ飛ぶ(だったっけ?)」な
命令が1つあれば、他の命令はこれの組み合わせで実装できるとかあって1つしか命令無いんだから、
A, B, Cのアドレスを並べておくだけでいいとか。
721:デフォルトの名無しさん
09/11/08 14:24:09
だーらLispのマクロはマクロプロセッサ的なマクロとは別物だっての。
アセンブラのマクロといえば、NASMのマクロがラベルのプッシュ・ポップとかの
機能をもってたかな。
722:デフォルトの名無しさん
09/11/08 14:30:34
うろ覚えで鼻息の荒い奴はいったい何なんだ
723:デフォルトの名無しさん
09/11/08 14:31:05
だれもForthのことを思い出してくれない。
724:デフォルトの名無しさん
09/11/08 14:32:15
>>715
#calc __cmd_num __cmd_num+1
#define local1 "f_{__cmd_num}"
こんな命令が有るようだとさすがに#defineとpush/pop程度の実装では無理だよ。
全ての条件文にユニークなラベルを発効する命令だと思う。
>>721
Lispは高性能なのは分かるが記述性が自分には難点。
Wizerd級になると一瞬で判別できるみたいだけどね。
725:デフォルトの名無しさん
09/11/08 14:34:09
>>724
それがラベル管理でしょ。
ワンパスコンパイラのコード読んだことないの?
726:デフォルトの名無しさん
09/11/08 14:37:40
煽るだけの奴が一番頭悪そうだな
727:デフォルトの名無しさん
09/11/08 14:40:37
久々に高純度の自己紹介レスを見た。
728:デフォルトの名無しさん
09/11/08 14:45:21
>723
LispはメジャーだけどForthはダメだなぁ。
こういったシナリオ系のスクリプト言語と相性良いと思うんだけどね。Forth。
729:デフォルトの名無しさん
09/11/08 14:46:16
今はJVMで簡単に俺言語を試せて楽だね。
バイトコード吐いてもいいし、
まずはJavaコード生成でもいいし。
730:デフォルトの名無しさん
09/11/08 14:47:31
>>715
完全な#define命令とpush/popだけでは無理だよ。いい加減諦めな。
>>719
天才は日本の財産だ。体に気をつけろ。
>>720
>よって、プリプロセッサの大きさに比べてコンパイラの大きさは小さい。
>そして強力な文字置換により、文字セットもプリプロセッサ時、コンパイル時、実行時の3段階で解決される。
文字セットも3種類必用だそうだ。逆にめんどくさくないか?
>>721
一時期LISPにはまったが、やみつきになる言語だよな。RPNもやみつきになったな。
>>722
ここも天才だけが来るスレじゃないし、仕方がないんじゃん。
間違えを認められれば先に進めるし、反論だけの奴はその程度の奴だし。
>>723
わりい、忘れてた。
>>724
そんなにいきり立つなよ。言ってることが正論でも相手が受け入れなくなる。
新言語で週末は面白かったけど、特攻は>>697レベルの事でするのは相手に失礼。
まあ、なんだ。ここは天才が比較的多いんだから、
もっと柔軟に楽しく言語を作ろうぜ。
言語を作るってのはプログラミングにおいてOSを作るのに匹敵し、
神になれるんだからさ。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4801日前に更新/260 KB
担当:undef