2ちゃんねるで新しい言語を作ろう。

このエントリーをはてなブックマークに追加
99デフォルトの名無しさん:04/11/22 00:50:04
実用的な物を作るのか、実験的な物を作るのか、どっち?
100もうだめぽ:04/11/22 00:52:58
実用的なものを実験的に作るわけさ
改良さえ重ねれば、もしかしたらLinuxみたいなことに(なるわけない
101もうだめぽ:04/11/22 00:56:05
更に追記:前言ったように、漏れは厨房だから開発は12月3日からはじめる(期末テストが終わってから)
102デフォルトの名無しさん:04/11/22 01:06:42
実用性よりもネタ的な方向を追求してほしい
まぁそれも簡単ではないが。
lex yaccで作るのか?
103もうだめぽ:04/11/22 01:11:47
ネタ的な方向・・・?
コンパイラに無駄な機能を搭載するぐらいなら考えてるけどな

スマソ「lex yacc」の意味が分からん org
ググッたが訳分からん・・・簡単な説明キボンヌ
104デフォルトの名無しさん:04/11/22 01:40:51
いわゆるコンパイラコンパイラというやつで、
BNF記法ってので文法を定義してやると
構文解析までは自動生成してくれる。
105デフォルトの名無しさん:04/11/22 09:09:43
106もうだめぽ:04/11/22 15:50:37
解説サンクス
コンパイラコンパイラか・・・
使えそうだけど、まずはこっちでやってから

追記:オブジェクト指向は、まだ取り入れません
107デフォルトの名無しさん:04/11/22 16:17:25
>>106
構文解析アルゴリズムは何を使うんだ?
108もうだめぽ:04/11/22 16:41:41
>>106
それを忘れてた・・・(汗

yacc/bisonてフリーなんでしょうか?
109デフォルトの名無しさん:04/11/22 16:53:28
フリー。

漏れは「コンパイラ構成法」あたりしか読んでないから
yacc+lexしか使ったことがないが、他にもANTLRやらパーサジェネレータはいくつかある。

さすがに参考書籍やページ無しでパーサジェネレータをいじるのは無謀だから、
ここを参照汁。

「コンパイラ・スクリプトエンジン」相談室4
ttp://pc5.2ch.net/test/read.cgi/tech/1100097050/
111もうだめぽ:04/11/22 17:09:50
>>109-110 サンクス
早速インストールしたわけですが・・・
面白そうなんで、書籍も買おうかと
112デフォルトの名無しさん:04/11/22 17:13:55
>>111はどういう言語仕様を考えてるんだ?
試しにHello, worldを晒してくれ
113もうだめぽ:04/11/22 17:22:42
>>112
まだ、完全に決まったわけではないが・・・

#include;取り込みたいファイル

bite 32 a = 0; 変数宣言 サイズ,名前,初期化の設定

start:            ;メインルーチン プログラム開始の宣言
print("Hello, world");

end

こんな感じかな?
関数名は、英語表記
コメントは;の後ろ(アセンブリと同じ
Cの形に似てるのは、仕様(後で変える可能性大

これを基盤として、改良/機能追加していければと
114もうだめぽ:04/11/22 17:41:27
・#AIで、AI言語の仕様を指定可能(にする
→ 宣言によりコンパイルの仕様を変えられるようにする
・変数のサイズはは、byte単位で指定可能
・無駄をできるだけ減らし、C〜アセンブリの中間ぐらいまで速度上げる
・演算子は、C/C++と共通
・科学技術計算も可能にする
・開発が起動に乗ってきたら、オブジェクト指向も検討
・オープンソース(要望があったら
・拡張子は・・・.2ch?

思いつく限りの仕様を考えてみました
この中で、いらないもの,追加してほしい場合はレスよろ
115デフォルトの名無しさん:04/11/22 17:52:29
どうせなら実用的な、ネイティブコードが吐ける
日本語プログラミング言語を作った方がいい気がする
116もうだめぽ:04/11/22 18:40:11
>>115
「ひまわり」みたいになるのでは?
どんな感じか、ソース記述の例をみせてほしい
117デフォルトの名無しさん:04/11/22 20:54:21
拡張子2chは既に使われていそうだから、2cにでもした方が良いんじゃないかと思う。
118もうだめぽ:04/11/22 21:26:50
>>117
「2ch」拡張子使われてるとは知らんかった
まぁ、拡張子は勝手に決めといてくれ
119デフォルトの名無しさん:04/11/22 21:42:21
>>118
いやいや、ただの俺の想像。実在するかどうかは知らない。
ところでifやforはどんな感じなんだ?
120デフォルトの名無しさん:04/11/22 22:04:30
HSPがまだマシに見えてくるから不思議だな
121もうだめぽ:04/11/22 22:07:47
>>118

想像かよ!
まぁいいや、拡張子は.chでいいよな

ifとforか・・・
ifは、

if(and,or,xor,notのどれかを宣言 a=1等  || ←で区切る 繰り返し);

forは、そのまんま(変更/機能追加有り
122デフォルトの名無しさん:04/11/22 22:09:57
123デフォルトの名無しさん:04/11/22 22:11:13
>>121
本気でやる気あるなら BNF で書いてみろよ
124もうだめぽ:04/11/22 22:13:16
>>120
漏れ一人で作ってるような感じだからな、仕方なし
でも、まだコンパイラさえも作ってないしこれからだろ
それに、2chを代表する言語を作ろうって訳じゃないんだからさ
期待しないで待っててくれや
125デフォルトの名無しさん:04/11/22 22:25:53
main(int ac, char *av[]) as int
{
  2cCRLF, "Hello, World!" ) printf;
  0 ) return;
}

126もうだめぽ:04/11/22 22:29:26
>>123
そういわれてもね・・・
まぁ、そのうちな(ぉぃ
127デフォルトの名無しさん:04/11/22 23:12:34
import 2ch.io.*;

function say [goodbye to]:
  @param name as string;
{
  print "Goodbye, " + name + "!\n";
}

function say [hello to]:
  @param name as string;
{
  print "Hello, " + name + "!\n";
}

function main:
 @retval as integer;
{
  say hello to "World!";
  say goodbye to "World!";

  return 0;
}
128もうだめぽ:04/11/24 23:48:35
>>126 間違いです
BNF記方を使用します。

他の言語の中にある関数等の中で実装した方が良いものはありますか
今は無い機能でも、書いてくれれば参考にするのでヨロシク御願いします。
C/C++以外の関数は知らないので、名前と機能も書いてくれるとありがたいです。
129デフォルトの名無しさん:04/11/25 03:52:03
いまさらだけど>>1

$(・∀・) = unko
( ^,_ゝ^)echo ("$(・∀・)");( ^,_ゝ^)
にすごい笑ってる
130デフォルトの名無しさん:04/11/25 04:13:23
>>114
とりあえずテンプレート必須な。
あと強力なプリプロセッサも欲しい。Cみたいなしょぼいのではなく。
あとはそうだな、演算子オーバーロード、多重継承、interface、ガベコレ、例外、
あらゆる関数をオブジェクトとして扱える、となると当然lambda、ポインタ、参照、
アスペクト、あとはテスト機能とかついてるといいな。

> 変数のサイズはは、byte単位で指定可能
そんな機能使うか?
余計な機能はつけずシンプルな仕様に保ったほうがいいぞ。
131デフォルトの名無しさん:04/11/25 05:32:40
>>130
そう思うならプリプロセッサははずしとけ
132デフォルトの名無しさん:04/11/25 13:32:31
>>130
後はRTTIも欲しいな。

効率を無視して変数に型情報を持たせてしまえば
テンプレートは要らない。
133デフォルトの名無しさん:04/11/25 16:00:02
Rubyでも使っとけ
134もうだめぽ:04/11/25 21:13:53
>>130-132 貴重な意見サンクス

> そんな機能使うか?
> 余計な機能はつけずシンプルな仕様に保ったほうがいいぞ。
じゃあ、変数の型は、int(ry だけでいいですね。

あと、テンプレートって、ソースのテンプレートのことですよね?(念のため
要りますかね・・・?
135デフォルトの名無しさん:04/11/25 21:27:06
もっと2chっぽい雰囲気を言語仕様に入れてくれ

ほら、↓これでgoto 500行目とかそんなの
>>500
136デフォルトの名無しさん:04/11/25 21:28:02
>>134

> あと、テンプレートって、ソースのテンプレートのことですよね?(念のため

ものすごい勘違いをしてる気がするんだけど気のせい?
ソースコードのひな形と勘違いしてないか?(VCのWizardが作るような)
137もうだめぽ:04/11/25 21:29:31
>>136

すみません、その通りです。
138デフォルトの名無しさん:04/11/25 21:31:05
lexもしらない>>1が言語作るには3年はかかるな
どうせドラゴンブックもしらないだろう
139デフォルトの名無しさん:04/11/25 21:33:47
馬鹿なリア厨しかいないネタスレで何いってんの?
140デフォルトの名無しさん:04/11/25 21:34:35
ドラゴンブックを知ってることに果てしない優越感を感じる>>138

みっともねーヤツ
141デフォルトの名無しさん:04/11/25 21:36:14
アホの本だろ?
142デフォルトの名無しさん:04/11/25 21:40:50
>>140
そりゃお前だろ( ´,_ゝ`)
そんなことおめーしかおもわないよ。
143デフォルトの名無しさん:04/11/25 21:57:46
>>137
C++ templateでググれ。
144デフォルトの名無しさん:04/11/25 22:01:05
>>142
今時( ´,_ゝ`)かよ。頭悪いなぁ。まぁがんばれよ。
145デフォルトの名無しさん:04/11/25 22:08:21
いまどきC++ templateかよw
いまはジェネリクスだろ
147もうだめぽ:04/11/26 00:30:08
>>143 >>146 サンクス!

テンプレート関数のことですね。すいませんでした。
あと、勘違いしてる人がいるようですが、自分は>>1ではありません
148デフォルトの名無しさん
heddafairu<<<meidosan.net.h>>>
イントウ=orz&&sakana(222){
orz-=hiroyukisan(ahahahaha.gcc.コンパイル){"良スレですね",\x,\o,\c}!;
}
returrrrrrrrrrrn,orz
hkcutf 2ch.tanakasan&&orz*~/あぼーん/~(??):
erogazou(link,http://www.salasala.com/)
owarimasu
!