[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/09 13:34 / Filesize : 188 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

「コンパイラ・スクリプトエンジン」相談室5



1 名前:デフォルトの名無しさん mailto:sage [05/01/19 19:06:04 ]
プログラミング言語処理系の開発に興味のある人達のスレッドです。

字句解析・構文解析から,データフロー解析,ループ並列化,タスク並列化,SSA変換,
CPS変換,レジスタ割付,命令スケジューリング,ソフトウェアパイプライン等各種最適化,
それにVM,GC,JIT,リンク時最適化,動的バイナリ変換などなど。
意味論に関する話題も歓迎です。

前スレ
1 pc.2ch.net/tech/kako/981/981672957.html
2 pc2.2ch.net/test/read.cgi/tech/1021136715/ (dat落ち)
3 pc5.2ch.net/test/read.cgi/tech/1070089173/
4 pc5.2ch.net/test/read.cgi/tech/1100097050/ (前スレ)
関連リンクは多分 >>2-10 あたり

196 名前:デフォルトの名無しさん [05/01/21 10:00:30 ]
最近中間言語を作るのが流行りらしいな

197 名前:デフォルトの名無しさん mailto:sage [05/01/21 10:01:41 ]
中間言語なんて大昔からあるけどな

198 名前:デフォルトの名無しさん mailto:sage [05/01/21 10:02:26 ]
VB1から使われてるpcodeも中間コードだしね

199 名前:デフォルトの名無しさん [05/01/21 10:05:43 ]
x86とJavaVMの中間言語は?

200 名前:デフォルトの名無しさん mailto:sage [05/01/21 10:06:04 ]
バイトコード

201 名前:デフォルトの名無しさん mailto:sage [05/01/21 10:07:21 ]
相変わらずの糞スレぶりだな(wwwwwwwww

202 名前:デフォルトの名無しさん [05/01/21 10:11:36 ]
Rubyyyy!の中間言語は?

203 名前:デフォルトの名無しさん mailto:sage [05/01/21 10:19:39 ]
無い

204 名前:デフォルトの名無しさん mailto:sage [05/01/21 10:22:33 ]
ただ荒らしたいだけのバカだからそんな長文は読まないよ



205 名前:デフォルトの名無しさん mailto:sage [05/01/21 10:48:06 ]
ψプロセッサーやOSを選ばないユニバーサル・エミュレーター登場か
pc5.2ch.net/test/read.cgi/pcnews/1095309232/

206 名前:デフォルトの名無しさん [05/01/21 22:07:59 ]
expression を 式 ではなく、「値」とか「表現」と読んでしまったらいいんでない?
statement は(値のある文なんて無いから)文のままでもいいよな。


207 名前:デフォルトの名無しさん mailto:sage [05/01/21 22:08:32 ]
代入文

208 名前:デフォルトの名無しさん mailto:sage [05/01/21 22:19:29 ]
>>206
「詭弁のガイドライン」より。

・自分に有利な将来像を予想する
・主観で決め付ける
・ありえない解決策を図る

今のあなたはこの辺が該当します。
予想しうる今後の展開は、

・レッテル貼りをする
・勝利宣言をする
・知能障害を起こす

辺りです。

209 名前:デフォルトの名無しさん mailto:sage [05/01/21 22:21:07 ]
それにしても詭弁認定厨はうざかったな。
詭弁でもなんでもないものを、詭弁のガイドラインに
無理矢理あてはめようとしてるところが笑えた。

210 名前:デフォルトの名無しさん mailto:トチキイ [05/01/21 23:15:13 ]
ハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハ

211 名前:デフォルトの名無しさん mailto:さげ [05/01/21 23:28:31 ]
保守になってねーんだよ!!!!!!!

212 名前:デフォルトの名無しさん [05/01/22 10:24:34 ]
式は y=3 のようなものが式。
y とか 3 とかを式と呼ぶのは、確かにおかしい罠


213 名前:デフォルトの名無しさん mailto:sage [05/01/22 10:47:09 ]
>>212
if(y)
などよく使うがな

214 名前:デフォルトの名無しさん mailto:sage [05/01/22 11:12:48 ]
C言語で言えばセミコロンがあれば文、なければ式です。



215 名前:デフォルトの名無しさん mailto:sage [05/01/22 11:19:06 ]
y = 3;



0;



216 名前:デフォルトの名無しさん mailto:sage [05/01/22 11:20:37 ]
yや3は式の構成要素の1つ
これらの構成要素と演算子を組み合わせたものが式
文というのは必ず特定のキーワードや記号が必要だと考えたら?

C言語
複文なら { ... }
if文なら if ( 式 ) ...
式文なら 式 ; // 式の後にセミコロン
ぬる文なら ; //セミコロンだけ

Ruby
知らん

RubyのBNFみたいなのある?

217 名前:デフォルトの名無しさん mailto:sage [05/01/22 11:23:07 ]
てかなんで知らないのにRubyが出てくるの?

218 名前:デフォルトの名無しさん mailto:sage [05/01/22 11:24:13 ]
www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=%B5%BF%BB%F7BNF%A4%CB%A4%E8%A4%EBRuby%A4%CE%CA%B8%CB%A1

219 名前:デフォルトの名無しさん mailto:sage [05/01/22 11:25:25 ]
>>218
無茶苦茶だな
不完全だし
信者が混乱するのもよくわかる

220 名前:デフォルトの名無しさん mailto:sage [05/01/22 11:26:56 ]
と、とりあえずBNFすら読めないけど書いてみた煽り屋

221 名前:デフォルトの名無しさん mailto:sage [05/01/22 11:28:43 ]
演算子の優先順位もそれじゃわかんないね。

222 名前:デフォルトの名無しさん mailto:sage [05/01/22 11:29:25 ]
よく釣れます

223 名前:デフォルトの名無しさん mailto:sage [05/01/22 11:31:11 ]
*1このBNFはまだ完全に1.6対応していません。執筆者募集

古すぎ

224 名前:デフォルトの名無しさん mailto:sage [05/01/22 11:31:55 ]
>より詳しくは parse.y を参照してください

結局これが悪いんだよ。
平たく言えばソース読めってこと。
Ruby理解するにはC言語とyaccの知識が必要だとさ。



225 名前:デフォルトの名無しさん mailto:sage [05/01/22 11:33:13 ]
↑藻前池沼以下だな。bison定義ファイルなんてそのまんまEBNFなのに

226 名前:デフォルトの名無しさん mailto:sage [05/01/22 11:34:04 ]
てかbisonも使えないのになんでこのスレにいるのかな

227 名前:デフォルトの名無しさん mailto:sage [05/01/22 11:35:34 ]
煽り屋だからさ

228 名前:デフォルトの名無しさん mailto:sage [05/01/22 11:37:36 ]
よく釣れますね

229 名前:デフォルトの名無しさん mailto:sage [05/01/22 11:39:07 ]
それは釣りなのか?
このスレと直接関係ないんだけどさ、俺「釣り」とか「釣り師」っていうのは、
   釣り師→ ○  /|←竿
          ト/  |
          │.  ~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          八   §←餌(疑似餌)     >゚++<

の組み合わせだと思ってたんだけど、
最近自称釣り師がダイレクトで自分の本音を攻撃されて「釣れた!」とか
言ってるの多いよね。
 これは、どっちかというと、

      ..釣れたよ〜・・・│
      ────y──┘

       ・゚・。 ○ノノ。・゚・
    ~~~~~~~~~~│~~~~~~~~~~~~~~~
           ト>゚++< ミ パクッ
     ジタバタ  ハ
         ノ ノ

かと思うんだけど、どうだろう?

230 名前:デフォルトの名無しさん mailto:sage [05/01/22 11:41:48 ]
>>221
perse.y見てもわかんないですよ。

>>223
同期取れよってことですね。
あんな古いのなら置かないほうがいい。

>>225
あい、C言語の知識は必要ですね。
知っててもコード混ざってて読みにくい。
少しでも常識があればこれ見て文法わかれとはいえませんね。


231 名前:デフォルトの名無しさん mailto:sage [05/01/22 11:43:27 ]
↑コードなんて書かれる場所決まってるんだから
正規表現置き換えかflexでも使って機械的に除けるだろ池沼

232 名前:デフォルトの名無しさん mailto:sage [05/01/22 11:44:53 ]
じゃあこの機会を利用してRubyの文法誰かまとめて

233 名前:デフォルトの名無しさん mailto:sage [05/01/22 11:46:45 ]
>>230
parse.y見ても分からないのは勉強不足。
勉強しようとしないのはただの怠慢。

234 名前:デフォルトの名無しさん mailto:sage [05/01/22 11:47:08 ]
池沼に池沼と言われてもなあ




235 名前:デフォルトの名無しさん mailto:sage [05/01/22 11:48:14 ]
てかコードも隣に有った方が分かりやすいよ池沼ども

236 名前:デフォルトの名無しさん mailto:sage [05/01/22 11:48:15 ]
まあまともな言語だったらいきなりperse.y読めとはいわないよな。

237 名前:デフォルトの名無しさん mailto:sage [05/01/22 11:49:04 ]
rubyもそんな事は言ってない。
お客さんはリファレンスでも読みながらママのおっぱいでもしゃぶってな

238 名前:デフォルトの名無しさん mailto:sage [05/01/22 11:49:30 ]
pythonの文法はどうよ?

239 名前:デフォルトの名無しさん mailto:sage [05/01/22 11:49:45 ]
なんでスクリプトばっかなんだ?

240 名前:デフォルトの名無しさん mailto:sage [05/01/22 11:50:30 ]
そんな重箱の隅をつついたような言語の話ばっかりしてないで
LISPとかSmalltalkの話しようぜ

241 名前:デフォルトの名無しさん mailto:sage [05/01/22 11:50:51 ]
>>230
RubyはいまのとこC言語も読めない人は対象にしてないから大丈夫

242 名前:デフォルトの名無しさん mailto:sage [05/01/22 11:52:08 ]
てかparse.y見れば演算子の優先順位もちゃんと分かりやすく定義されてるし
煽ってる香具師はやっぱ池沼だな

243 名前:デフォルトの名無しさん mailto:sage [05/01/22 11:53:09 ]
C言語も読めないのになんでこのスレにいるの?

244 名前:デフォルトの名無しさん mailto:sage [05/01/22 11:54:50 ]
perse.y開いてprecedence tableで検索すれば優先度はわかるよ。



245 名前:デフォルトの名無しさん mailto:sage [05/01/22 11:55:04 ]
このスレの対象者
・flexが使える
・bisonが使える
・C言語くらいは使える
・何らかのアーキテクチャを対象としたアセンブラが使える(COMETとかの仮想環境以外の)

上記を全て満たす物のみ書込可

246 名前:デフォルトの名無しさん mailto:sage [05/01/22 11:55:06 ]
yaccを少しでもかじったことがあれば優先順位が分からないなんて言わないよなぁ

247 名前:デフォルトの名無しさん mailto:sage [05/01/22 11:55:38 ]
Ruby関係で用のある人は出てってください。

248 名前:デフォルトの名無しさん mailto:sage [05/01/22 11:55:57 ]
>>245
スクリプトエンジンにアセンブラの知識は必要ありませんから。
残念。

249 名前:デフォルトの名無しさん mailto:sage [05/01/22 11:57:24 ]
>>245
・Ruby関係者・信者以外
も加えといて
荒れるから

250 名前:デフォルトの名無しさん mailto:sage [05/01/22 11:58:07 ]
Ruby煽ってるような香具師はそもそも>>245の条件さえ満たしてないので
追加しなくてOK

251 名前:デフォルトの名無しさん mailto:sage [05/01/22 11:59:12 ]
>>243
Cは別に必須じゃないだろ。
MLでもPascalでも、とにかくコンピュータ言語が解かればよい。

252 名前:デフォルトの名無しさん mailto:sage [05/01/22 11:59:15 ]
bison使えないけどspiritとかANTLRとかJavaCC使える香具師もいるかもしれないぞ。

253 名前:デフォルトの名無しさん mailto:sage [05/01/22 12:00:31 ]
spiritはゴミ未満。C++マニアのオナニー。
使いにくい重い生成実行コードが巨大の3拍子そろってる有害廃棄物。

254 名前:デフォルトの名無しさん mailto:sage [05/01/22 12:01:22 ]
・flex(のようなもの)が使える
・bison(のようなもの)が使える




255 名前:デフォルトの名無しさん mailto:sage [05/01/22 12:04:51 ]
>>253
漏れもspiritは見切ったね。ありゃboost信者でもヤバイと思うもん。

256 名前:デフォルトの名無しさん mailto:sage [05/01/22 12:07:55 ]
でもbisonはC++のコードまともに吐けないからねえ。
グローバルに色々宣言しまくるから、なんか列挙子が他と被ってむかつく。

bison++は5年以上更新が無いし、bisonも一応オプションでC++のコード吐けるけど、
flexが吐くC++コードと連携できないんじゃ話にならないね。

257 名前:デフォルトの名無しさん mailto:sage [05/01/22 12:09:17 ]
GNUツールはお話にならないね。

258 名前:デフォルトの名無しさん mailto:sage [05/01/22 12:09:32 ]
bisonはいつの間にかGLR(1)すら吐けるようになってるし、
デストラクタまで自動化されてる。
日本にそういう資料無さ過ぎ。

259 名前:デフォルトの名無しさん mailto:sage [05/01/22 12:10:19 ]
>>257
吐いたコードはGPL適用外なんで

260 名前:デフォルトの名無しさん mailto:sage [05/01/22 12:12:28 ]
spiritはミニ言語のコンパイルに30分かかって5MB位の実行ファイル吐き出したワロス

261 名前:デフォルトの名無しさん mailto:sage [05/01/22 12:12:52 ]
日本人お話にならないね。

262 名前:デフォルトの名無しさん mailto:sage [05/01/22 12:13:15 ]
三国人よりマシだけどな

263 名前:デフォルトの名無しさん mailto:sage [05/01/22 12:14:43 ]
それがspiritクオリティ

264 名前:デフォルトの名無しさん mailto:sage [05/01/22 12:17:42 ]
てめーらどのコンパイラコンパイラなら満足なんだよ



265 名前:デフォルトの名無しさん mailto:sage [05/01/22 12:20:22 ]
bisonでいいや('A`)

266 名前:デフォルトの名無しさん mailto:sage [05/01/22 12:25:10 ]
ANTLRならC++コード吐けるぞ。使った事無いから誰か使って使い方教えてくれ。

267 名前:デフォルトの名無しさん mailto:sage [05/01/22 12:28:57 ]
ANTLRは左再帰駄目らしいぞ。spiritもそうだけど
文法考えるのに余計なストレスが増えて使ってられんな。
勝手に文法置き換えてくれたりはしないのかね?

268 名前:デフォルトの名無しさん mailto:sage [05/01/22 12:30:36 ]
bison最強論

269 名前:デフォルトの名無しさん mailto:sage [05/01/22 12:33:03 ]
てか紛らわしいからANTLLに改名しろよ(w

270 名前:デフォルトの名無しさん mailto:sage [05/01/22 12:34:45 ]
CCなんかなくてもコンパイラぐらい作れるっちゅうねん。

271 名前:デフォルトの名無しさん mailto:sage [05/01/22 12:35:19 ]
使った方が楽だ

272 名前:デフォルトの名無しさん mailto:sage [05/01/22 12:35:59 ]
禿同

273 名前:デフォルトの名無しさん mailto:sage [05/01/22 12:38:48 ]
てかANTLR使うくらいなら手書きでいくね?
テーブルも作らない単なる再帰下降らしいし。

274 名前:デフォルトの名無しさん mailto:sage [05/01/22 12:39:51 ]
もうCCの話飽きた。結局bison+flex最強って事でファイナルアンサー。



275 名前:デフォルトの名無しさん mailto:sage [05/01/22 12:40:53 ]
bisonはC++との親和性が…
クラスの実体渡せないのが…

276 名前:デフォルトの名無しさん mailto:sage [05/01/22 12:41:40 ]
↑バーカ実体毎回渡してたら重くて使ってられネーヨ。おとなしくポインタ渡しとけ。

277 名前:デフォルトの名無しさん mailto:sage [05/01/22 12:43:15 ]
解放するのマンドクセ

278 名前:デフォルトの名無しさん mailto:sage [05/01/22 12:43:50 ]
そこでBoehmですよ

279 名前:デフォルトの名無しさん mailto:sage [05/01/22 12:54:14 ]
bison用のC++ LALR skeletonらしいんだけど、使ったことある方いますか?

www.bj-ig.de/software/bison/


280 名前:デフォルトの名無しさん mailto:sage [05/01/22 12:57:53 ]
てか標準で付いてるlalr1.ccとなんか違うのか?

281 名前:デフォルトの名無しさん mailto:sage [05/01/22 13:03:49 ]
Lexerが字句解析をしてる間にParserがブロッキングされないらしい…?
良く読んでないからワガンネ('A`)

282 名前:デフォルトの名無しさん [05/01/22 14:06:44 ]
いまのyacc/bisonだと、取りたいアクションが同じでも
還元の条件後とに、このように(↓)書かないと行けませんよね?

L1: R1 {
Action1();
}
| R2 {
Action1();
}

単純に考えて、

L1: R1
| R2 {
Action1();
}

見たいに書けない理由って何かありますか?


283 名前:デフォルトの名無しさん mailto:sage [05/01/22 14:12:40 ]
R1のときに何もしないという規則が書けない。
普通はルールをガーっと書いて文法がある程度できてることを確認してから
コードを入れていくし。


284 名前:デフォルトの名無しさん [05/01/22 20:34:40 ]
BNFってファイルとして持っていて、
それをコンパイル時に読み込むんですか?
それともただの設計図的なもの?



285 名前:デフォルトの名無しさん mailto:sage [05/01/22 20:38:15 ]
>>284 が何を言いたいのか
全然わからん。


286 名前:デフォルトの名無しさん mailto:sage [05/01/22 20:44:28 ]
>>284
はい。

287 名前:デフォルトの名無しさん mailto:sage [05/01/22 20:46:51 ]
>>286
     ,一-、
     / ̄ l |   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    ■■-っ < んなわきゃーない
    ´∀`/    \__________
   __/|Y/\.
 Ё|__ | /  |
     | У..  |

288 名前:デフォルトの名無しさん mailto:sage [05/01/22 20:48:12 ]
>284
実行時に有限時間内に再構成可能なparserを読み込んで使えたら、君も人工知能の進化に貢献できる…とだけ伝えておこう。

289 名前:デフォルトの名無しさん mailto:sage [05/01/22 20:48:29 ]
>>287
いや、取り合えず返事しとこうかと。

290 名前:デフォルトの名無しさん mailto:sage [05/01/22 21:01:20 ]
>288
これを世界征服に使うかどうかは君たちの哲学次第。健闘を祈る。

291 名前:282 [05/01/22 22:07:24 ]
>>283
R1の時に何もしないではなく、R1とR2に同じアクションを取らせたいのです。


292 名前:デフォルトの名無しさん mailto:sage [05/01/22 23:50:53 ]
>>282
yaccの書き方でそう決まってるだけ。
L1: R1 | R2 {A}

L1: R1 {A} | R2 {A}
に変換するプリプロセッサでも書け。

293 名前:デフォルトの名無しさん mailto:sage [05/01/23 00:03:55 ]
>>288
EarleyやCKY

294 名前:デフォルトの名無しさん [05/01/23 00:12:25 ]
>>292
LALR(1)か何かの制約だとおもてたよW




295 名前:デフォルトの名無しさん mailto:sage [05/01/23 01:23:17 ]
なんだ、ルールとアクションの区別もつかないアホだったんかよ。


296 名前:デフォルトの名無しさん mailto:sage [05/01/23 02:02:44 ]
>>285
お前馬鹿だろ?
コンパイラの前に母国語を何とかしたら?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<188KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef