1 名前:デフォルトの名無しさん mailto:sage [04/11/10 23:30:50] 言語仕様や処理系の話題に関するスレッドです。 字句解析・構文解析から,データフロー解析,ループ並列化,タスク並列化,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/ (前スレ) 関連リンクは多分 >>2-10 あたり
287 名前:デフォルトの名無しさん [04/11/26 23:38:35] こういう地味な仕事してる奴って、地味な言語つかってたりするのかな?
288 名前:デフォルトの名無しさん mailto:sage [04/11/26 23:39:11] またあったので報告。上のほう。 ちょっと痛めのドキュもあり・・。下の方。 www.tom.sfc.keio.ac.jp/~psnow/
289 名前:デフォルトの名無しさん mailto:sage [04/11/27 01:30:48] グラフの探索にあこがれるんだけど 自分の頭では無理っぽい 3番地コードからやってみるか・・
290 名前:デフォルトの名無しさん mailto:sage [04/11/27 01:44:21] >>288 完成してたんだ.
291 名前:デフォルトの名無しさん mailto:sage [04/11/27 01:48:20] 知人?
292 名前:デフォルトの名無しさん mailto:sage [04/11/27 02:01:01] >>289 3番地コードってのが三つ組みの事なら、グラフの方が楽ですよ、何でもかんでもつっこんじゃうから頭がこんがらがるのも解るけど。
293 名前:デフォルトの名無しさん mailto:sage [04/11/27 08:45:30] >>288 慶応の卒研でもこんなものか。 ちょっと勇気づけられた。 しかし慶応大生でもこんなのか。 もうどうしていいやら……
294 名前:デフォルトの名無しさん mailto:sage [04/11/27 14:15:14] >>280 そでもないよ、もっと簡単に済ましてる。 開発時間との戦いは別にどの業種と限ったものじゃないです。
295 名前:デフォルトの名無しさん mailto:sage [04/11/27 15:30:55] >>285 漏れは高卒なのでアカデミックな世界のことはなーんも 分からんのですが、カンファレンスみたいなものから 著名人の名前と研究テーマを探して、名前でぐぐって、 研究者のHPを見つけ、論文一覧から欲しいものを探す、 そういう感じですか?
296 名前:デフォルトの名無しさん mailto:sage [04/11/27 16:00:13] >>295 情報学会誌とかACMとか購読してる方が多いと思う。 Webで検索するよりノイズ少ないし。
297 名前:デフォルトの名無しさん mailto:sage [04/11/27 16:01:47] >>296 日本情報処理学会って ACM と比べてどう? 入会する価値ある?
298 名前:デフォルトの名無しさん mailto:sage [04/11/27 16:05:30] >>297 ACM と IEEE だけで十分だと思うよ。
299 名前:デフォルトの名無しさん mailto:sage [04/11/27 16:25:55] >>298 でも日本で何が起きているのか知る一端にはなる。 それと辞書無しでも読めるんで休憩時間には向いてる。
300 名前:デフォルトの名無しさん mailto:sage [04/11/27 16:45:08] >>299 世界的にはトレンドから外れちゃったけど、なぜか日本では 続いているってなネタもあるしね。暇つぶしにはなるわな。
301 名前:デフォルトの名無しさん mailto:sage [04/11/27 18:54:48] 日本情報処理学会 顔見知り同士のしょぼいミニコミ誌
302 名前:デフォルトの名無しさん mailto:sage [04/11/27 19:12:58] 海外だって一部の除けば似たようなもんじゃん
303 名前:デフォルトの名無しさん [04/11/27 19:14:19] >>302 それ本当?たとえば?
304 名前:デフォルトの名無しさん mailto:sage [04/11/27 20:12:12] たとえば、って大抵の分野は狭いので自然と知り合い同士になるのが道理なんだが
305 名前:デフォルトの名無しさん mailto:sage [04/11/27 20:31:43] >>304 必ずしも「しょぼい」わけではないんでない?
306 名前:デフォルトの名無しさん mailto:sage [04/11/27 23:15:11] >>287 LIS(ry
307 名前:デフォルトの名無しさん [04/11/28 00:16:15] >>268 >実際にプロのプログラマーだと、PC関係のソフトで難しいプログラムは >なんでしょうか Mathematicaみたいなソフトも作るのむずかしそう。
308 名前:デフォルトの名無しさん mailto:sage [04/11/28 00:27:29] >>307 IE も大変だと思うよ。不正な HTML でもそれなりに表示する必要があるし、 HMTL, CSS, XML あたりは規格もそれなりにデカイ上に、画像の遅延表示や ユーザが任意のタイミングでリロード、戻る、進むなんかを実行できることが 大前提になってる。 部分的な実装に関わるだけならともかく、全体の設計からって話だと Office なんかも大変だろう。
309 名前:デフォルトの名無しさん mailto:sage [04/11/28 01:39:32] >>308 不正のタグの事。 結構打ち込みタグでエラー起こしてるけど、エラー処理してるとは 思えないな。 それから、リロードとかのタイミングとかも、単純にタスク処理すれば 良さそうなので、問題ないかと 理屈的にIEを作るのは難しくなくても、使えるものを実際に作ると なると、設計段階でくじけそうだけど。 単純にIEみたいなもののスクリプト系の表示プログラムは 簡単そうだし。
310 名前:デフォルトの名無しさん mailto:sage [04/11/28 02:09:09] javascriptとかの解釈は?
311 名前:デフォルトの名無しさん mailto:sage [04/11/28 10:24:27] dW : Linux : Yacc...そしてLexをよみがえらせる www-6.ibm.com/jp/developerworks/linux/010316/j_l-lex.html dW : Linux : Lexとyaccでコードをビルドする 第1回: 導入 www-6.ibm.com/jp/developerworks/linux/040910/j_l-lexyac.html dW : Linux : Lexとyaccでコードをビルドする 第2回: 開発とトラブルシューティング www-6.ibm.com/jp/developerworks/linux/040924/j_l-lexyac2.html
312 名前:デフォルトの名無しさん mailto:sage [04/11/28 11:46:16] Lispが気になってしょうがない奴がいるなこのスレ。
313 名前:デフォルトの名無しさん mailto:sage [04/11/28 11:59:54] >>309 > 結構打ち込みタグでエラー起こしてるけど、エラー処理してるとは > 思えないな。 Amaya とか使うと、IE がいかに適当(良い意味で)に処理してるか良く分かるぞ。
314 名前:デフォルトの名無しさん [04/11/28 19:07:15] lispに骨髄反射してる奴がいるな、この摺れw
315 名前:デフォルトの名無しさん [04/11/28 19:47:31] Rby >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>lisp
316 名前:デフォルトの名無しさん mailto:sage [04/11/28 23:25:44] 骨髄・・・バンク
317 名前:368 [04/11/29 01:35:38] こんな事聞いたら怒られるかもしれないですが、 XMLのいろいろな規格を解釈するリーダーを作成しようと思ったら、 どのような手順を踏めばいいのですか?頭がよろしくなく理解力がないですが よろしくお願いします。
318 名前:デフォルトの名無しさん mailto:sage [04/11/29 01:39:17] 未来からこんにちは。
319 名前:デフォルトの名無しさん mailto:sage [04/11/29 01:50:23] 368に近づくまでまだ時間がある。それまでに理解力をつけるんだ。
320 名前:デフォルトの名無しさん mailto:sage [04/11/29 05:29:21] 単純に<〜>を付いてるものを3つのポインタを使った typedef staruct tagXML{ 〜 struct tagMML *prev; struct tagMML *next; struct tagMML *yoko; char *namel; char *data; } とかやって、階層的なものを作ってデータの意味を付けていく ようにしたらいいかも??? この階層を作った後に、全体的な階層を作った後にキャンパスというのに まず、仮想的に描写情報を作った後に、実際に描写するだけぁない。 仮想的な描写情報を作ってどういった画面になるかを一度シミュレート するのがちょっとメンドイけど、それさえ出来ればすぐに出来るよ。
321 名前:デフォルトの名無しさん mailto:sage [04/11/29 05:42:14] HTMLも基本は一緒だよ。 BODY− | +---tabel | +---tabel | | | +--- tabel +---IMAGE | /BODY という階層を作ったを作った後に、フォントとかtableや画像を情報を 元に、仮想で描写するイメージを作って、どれくらいのクライアントに どのような配置をするか決めて、下(バッググランドから、上に書き込むだけ IEの場合、タスクを使ってるみたいでデータが来た順に描写するので バッググランドの画像データが先に受信されてない場合、一度、上に タグの描写した後に、もう一度下を描写して再描写してるみたい。 全体的な階層を作って→その階層のデータと元に仮想描写(データで)→ した後に、実際に描写するだけ・・・ タグ毎の描写の仕方を決めて、それを配置するプログラムさえ 出来れば殆どできるから。理屈では難しくないがあんだけのタグを 実際に作るとなるとメンドイな・・・ tableとイメージとpreを使った簡単なブラウザを今度作ってみるつもり だけど・・・。
322 名前:デフォルトの名無しさん mailto:sage [04/11/29 06:11:11] >>320 >>321 誰か翻訳してくれ
323 名前:デフォルトの名無しさん mailto:sage [04/11/29 06:13:57] イラネ
324 名前:デフォルトの名無しさん mailto:sage [04/11/29 15:43:41] tabel
325 名前:デフォルトの名無しさん mailto:sage [04/11/29 15:44:57] 描写するだけぁない。 酔っ払いか?
326 名前:デフォルトの名無しさん mailto:sage [04/11/29 17:06:59] >>227
327 名前:デフォルトの名無しさん mailto:sage [04/11/29 22:47:26] なんでも煽りに見えるのは良くないです。 つか、そんなスレになっている元凶は死ね、 いくら煽ったってお前の実力は向上しないし、稚拙でもタコでもやる奴の実力のみが向上するんだよ。 おまえの行き着く先は何もできない才能も人望も無いロートル爺だ。 【語り「コンパイラ・スクリプトエンジン」相談室4 >>227 】
328 名前:デフォルトの名無しさん mailto:sage [04/11/30 00:00:25] コンパイラの学習はLISPが良いな
329 名前:デフォルトの名無しさん mailto:sage [04/11/30 00:03:04] 初心者がLISPでコンパイラを書こうとすると、グラフの実現でつまづく気がする。
330 名前:デフォルトの名無しさん [04/11/30 00:14:03] LISP最高! これ覚えると他がアフォらしく見えるよ!
331 名前:デフォルトの名無しさん mailto:sage [04/11/30 00:25:28] なんでも煽りに見えるのは良くないです。 つか、そんなスレになっている元凶は死ね、 いくら煽ったってお前の実力は向上しないし、 稚拙でもタコでもやる奴の実力のみが向上するんだよ。 おまえの行き着く先は何もできない才能も人望も無いロートル爺だ。 【語り・・・「コンパイラ・スクリプトエンジン」相談室4 >>227 】
332 名前:デフォルトの名無しさん mailto:sage [04/11/30 00:27:32] LispよりSchemeの方が単純で良いと思う。
333 名前:デフォルトの名無しさん mailto:sage [04/11/30 00:38:36] 継続と末尾再帰最適化が義務になるので却ってハードル高くなんない?
334 名前:デフォルトの名無しさん mailto:sage [04/11/30 01:06:03] >>333 MiniSchemeとか、継続も末尾再帰もGCまかせにする単純な方法があるから、 そんなに大変じゃないよ。 まあ極力GCを避ける実装とか、コンパイルするとかなるとそれなりに大変だけど、 自己記述できるからだいぶ小さくまとまる。 下手な俺流言語でがんがるよりはマシ。
335 名前:デフォルトの名無しさん mailto:sage [04/11/30 01:56:07] 『コンパイラの学習はLISPが良い ↓ LISPでコンパイラを書くとグラフの実現でつまづく気がする ↓ Schemeの方が単純で良いと思う ↓ 継続と末尾再帰最適化でハードル高くなるのでは? 』 ↑ここまでは低脳の漏れにも分かる。。 インタプリタでコンパイラのコードを記述して実行すれば 所望するコンパイラが生成される。(違いますか?) コードを記述する際、開発環境の言語の特性上、 継続と末尾再帰最適化に気を使うのも分かる。 開発環境にMiniSchemeを使えば継続と末尾再帰最適化を GC任せに出来るので、コーディングしてる人はその辺未熟でも 許されるという意味ならこれも分かる↓ 『MiniSchemeとか、継続も末尾再帰もGCまかせにする単純な方法がある』 これ↓はコンパイラを生成するコードをコンパイラで記述するってことですよね。 『まあ極力GCを避ける実装とか、 コンパイルするとかなるとそれなりに大変だけど、 自己記述できるからだいぶ小さくまとまる。 』 じゃ、これ↓はターゲットとしているコンパイラのことですか? それとも>>343 自体が『MiniSchemeコンパイラを作れば?』ってこと?? 『下手な俺流言語でがんがるよりはマシ。』
336 名前:デフォルトの名無しさん mailto:sage [04/11/30 02:00:40] どーか漏れの幼い書き込みで荒れないで下さい。お願いします。
337 名前:デフォルトの名無しさん mailto:sage [04/11/30 02:01:57] >>336 誰だよお前
338 名前:デフォルトの名無しさん mailto:sage [04/11/30 02:05:41] オレオレ
339 名前:333 mailto:sage [04/11/30 02:07:00] >>334 まあ継続とかのフレームを毎回ヒープからアロケートしまくれば簡単なんだけど、 知らないと難しい類いの問題じゃないかな。 どうでもいいが、 LispよりSchemeの方が単純で良いと思う。 ↓ 継続と末尾再帰最適化が義務になるので却ってハードル高くなんない? ↓ 下手な俺流言語でがんがるよりはマシ。 いつのまにLispが下手な俺流言語になったんだろうw >>335 「Lispを書く」と「Lispで書く」が各人ばらばらでつよ。 繋がってるようで繋がってない。
340 名前:デフォルトの名無しさん mailto:sage [04/11/30 02:10:29] >>339 まあ、下手な俺流 Lisp はあり得るかな。 下手かはともかく、遥か昔はみんな俺流 Lisp だったといえなくもないわけだし。
341 名前:デフォルトの名無しさん mailto:sage [04/11/30 02:12:24] (´◕ω◕`)ばらばらか・・そっか・・
342 名前:デフォルトの名無しさん mailto:sage [04/11/30 04:55:35] このスレ共通言語をSchemeにすれば全て解決
343 名前:デフォルトの名無しさん mailto:sage [04/11/30 06:01:33] >>342 却下
344 名前:デフォルトの名無しさん mailto:sage [04/11/30 21:37:48] >>343 なんで?
345 名前:デフォルトの名無しさん mailto:sage [04/11/30 23:05:30] グラフが扱いにくい
346 名前:デフォルトの名無しさん mailto:sage [04/11/30 23:07:24] >>345 グラフって?
347 名前:デフォルトの名無しさん mailto:sage [04/12/01 00:16:25] flex,bisonについて、このスレ的な見解はありますか?
348 名前:デフォルトの名無しさん mailto:sage [04/12/01 00:20:45] flex2.5.31
349 名前:デフォルトの名無しさん mailto:sage [04/12/01 00:40:15] >>347 手軽に済ませたければ使うとよろし。きめ細かなエラー回復処理を したいとか、特殊な構文山盛りの言語だと、手でパーサー書いた 方が良い。 ただ C だと文字列操作繁雑だから、個人的には C++ 処理系と 組み合わせて使えるヤツを勧めておくが。
350 名前:デフォルトの名無しさん mailto:sage [04/12/01 10:54:19] S式で書けばflexもbisonも(゚听)イラネ
351 名前:347 [04/12/01 17:23:08] どうも
352 名前:デフォルトの名無しさん mailto:sage [04/12/01 18:24:40] Rubyの青木さんの256本を買った。 いや、これなら自分でも読めそうだったんで。
353 名前:デフォルトの名無しさん [04/12/01 18:38:20] 現状 flex はいいとしても、bison又はyacc に変わるものなし と思う俺は実用主義
354 名前:デフォルトの名無しさん mailto:sage [04/12/01 18:44:04] よほどの特殊事情がないかぎりflexとbisonで済ませるね 不足を感じたことは今のところなし。
355 名前:デフォルトの名無しさん mailto:sage [04/12/01 19:40:35] c++から使いにくいインタフェースは改善されたんだっけ? Parser ClassとかLexer Classは提供されてる?
356 名前:デフォルトの名無しさん mailto:sage [04/12/01 20:23:00] sfにあるreentrantなflexは本家にマージされないの?
357 名前:デフォルトの名無しさん mailto:sage [04/12/01 23:05:49] JavaCCとANTLRとSableCCとCUPとnotavaccの比較ってだれかやってくんない? notavaccのページにはJavaCCとの比較が、SableCCのページにはANTLRとの比較があるけど、ほかのも知りたい。 他力本願ですまん。識者の意見求む。
358 名前:デフォルトの名無しさん [04/12/01 23:11:44] LISP に変わるもの無しと思っている俺は非実用主義
359 名前:デフォルトの名無しさん mailto:sage [04/12/01 23:39:51] >>353 前に評価したけど yacc からの移行なら yayacc がなかなか良いよ。 過去の遺産の都合で未だに flex + bison な仕事を抱えてて、移行 できてないが>俺
360 名前:デフォルトの名無しさん mailto:sage [04/12/01 23:44:39] javaで作るパーサの本読んだ人いる? ああいう感じで構文をクラスに落としてくれるコンパイラコンパイラってないのかな?
361 名前:デフォルトの名無しさん mailto:sage [04/12/01 23:59:54] >>360 JavaCCじゃ不満?
362 名前:デフォルトの名無しさん mailto:sage [04/12/02 00:01:19] >>361 www.pearsoned.co.jp/washo/java/wa_java01-j.html この本なんだけどね、すごく綺麗なパーサ用パーツ群なんだよね。
363 名前:デフォルトの名無しさん mailto:sage [04/12/02 00:37:41] >>362 せっかくその本読んだんなら自作してみては?
364 名前:デフォルトの名無しさん mailto:sage [04/12/02 00:49:56] ソースとかヴィダルサスーン並に綺麗なん?
365 名前:デフォルトの名無しさん mailto:sage [04/12/02 00:56:08] その本わかりやすく簡潔で超おすすめだった! 自分でなんとなく興味があっても、結構手が出しにくく思える「パーサ関連」の良書だった。 コンピュータサイエンス等の基礎が全くなくても、 JAVAでオブジェクト指向をある程度なら把握できている人には、超おすすめ。 本の構成も非常に考えられていて、まったくのパーサ未経験者でも頭から読んでいけば 最後には自分でプログラミング言語を作成できるところまでたどり着けた。
366 名前:デフォルトの名無しさん mailto:sage [04/12/02 01:03:08] 作者か関係者か。いいかげんウザいから消えろ。
367 名前:デフォルトの名無しさん mailto:sage [04/12/02 01:04:10] 君、アマゾンの・・
368 名前:デフォルトの名無しさん mailto:sage [04/12/02 01:05:51] 作者←海外から青い目の2chねらーかよw
369 名前:デフォルトの名無しさん mailto:sage [04/12/02 01:12:25] www.amazon.co.jp/exec/obidos/ASIN/4894714078/ 375はカスタマーさんですか??
370 名前:デフォルトの名無しさん mailto:sage [04/12/02 01:18:27] 中身Javaクラスべったりで萎えた
371 名前:デフォルトの名無しさん mailto:sage [04/12/02 01:45:37] >>366 すぐ関係者とかを疑うのって痛くないか?
372 名前:デフォルトの名無しさん mailto:sage [04/12/02 01:50:02] 横から悪いが>>360 はその本にそんなに感銘受けてるっつーなら それ使ってりゃいいのでは?
373 名前:デフォルトの名無しさん [04/12/02 02:06:39] C#で使えるまともなBisonご存知ないですか? GCの効くJavaでもいいですが、C#の方がコーディング早いから、できるの であればいいかなぁ程度なのですが、XMLの規格の解析するだけなので速度は 気にせず、解析できればおっけーなのです。
374 名前:!=360 mailto:sage [04/12/02 02:10:57] >>372 その本は読んだことないけれど、本に載っているサンプルよりももっと「でき」がよい ものはあるかどうか、っていうことじゃないかな?
375 名前:360=362 mailto:sage [04/12/02 02:20:04] なんか荒れてますね >>372 ,361 javaCCとかってパースクラス本体が妙にでかいのができるんで、件の本(これはパーサを作る為の細かいパーツの集合なんでBNFから自動展開とかはしないのです) の物みたいに粒度の細かいクラスに分解するようなコンパイラコンパイラは在りませんかって問いかけだったんです。
376 名前:デフォルトの名無しさん mailto:sage [04/12/02 02:31:04] >>360 >>362 から>>375 を把握できるヤシはESP
377 名前:デフォルトの名無しさん mailto:sage [04/12/02 02:35:37] >>363 はBNFから自動展開出来るように君が作ればぁ〜って言ってるんだよw
378 名前:デフォルトの名無しさん mailto:sage [04/12/02 10:34:27] >>377 作ってるよ、お前の書き込み面白くない、どっかいけよ。 >>363 ライブラリに最初から入っているxmlパーサじゃだめなん?
379 名前:デフォルトの名無しさん mailto:sage [04/12/02 11:09:59] 自家撞着?
380 名前:デフォルトの名無しさん mailto:sage [04/12/03 09:45:40] >>373 Bisonじゃないけど、ANTLRはC++、Java、C#で使えたはず。
381 名前:デフォルトの名無しさん [04/12/04 00:05:49] ANTLRは文法に癖あるってきいていたのでマークしてなかったですが、 がんばって使ってみますね。どもです。
382 名前:デフォルトの名無しさん [04/12/04 03:30:01] Flexの正規表現でシフトJIS日本語文字列(""括りで\がエスケープ文字)を 定義するのはどうしたらいいのでしょうか?とりあえず \"(([\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC])|\\.|[^\\"])*\" としてみたのですが、2バイト目が\の"表"とかが最後になっていると "がエスケープされてしまいそのさらに次の"までが文字列になってしまいます。 よろしくお願いします。
383 名前:デフォルトの名無しさん [04/12/04 12:08:56] >>382 2バイトめ"\"のパターンを使え
384 名前:382 mailto:sage [04/12/04 13:14:05] >>383 シフトJISの2バイト目"\"のパターンは ([\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC]) で引っかかると思うのですが、 これじゃダメなんでしょうか?
385 名前:デフォルトの名無しさん mailto:sage [04/12/04 13:32:42] >>382 は \"(\\.|[^\\"])*\" と同じ意味。 [\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC] は [^\\"]* で吸収できちゃうから。
386 名前:382 mailto:sage [04/12/04 14:02:51] >>385 解決できました。ありがとうございます。
387 名前:デフォルトの名無しさん [04/12/05 20:42:28] >>386 結果を張っといたら?
388 名前:デフォルトの名無しさん mailto:sage [04/12/05 20:47:08] (V)o\o(V)
389 名前:デフォルトの名無しさん mailto:sage [04/12/05 20:58:35] バルタン星人かよ!
390 名前:デフォルトの名無しさん mailto:sage [04/12/05 22:21:17] >>387 私は自力で解決しました。 あなたも自分で考えてみてください。
391 名前:デフォルトの名無しさん [04/12/06 23:40:48] >>390 こういう奴が、スレを糞化させる。
392 名前:デフォルトの名無しさん mailto:sage [04/12/06 23:42:41] 糞化したスレ pc5.2ch.net/test/read.cgi/tech/1101986365/
393 名前:デフォルトの名無しさん mailto:sage [04/12/07 00:17:37] もともと糞化してただろ。
394 名前:デフォルトの名無しさん mailto:sage [04/12/07 04:28:08] >>381 ANTLRの書き方って独特だよね。おれもよくわからん。 いちばんわかりやすいのはSableCCだな。BNFだけ定義すればよく、JavaコードとBNFとをごちゃまぜにする必要がない。
395 名前:デフォルトの名無しさん mailto:sage [04/12/07 14:37:37] >>391 必死だな
396 名前:デフォルトの名無しさん mailto:sage [04/12/07 14:40:41] >>392 ほんとの意味で糞化だ(笑
397 名前:デフォルトの名無しさん [04/12/08 00:31:38] >>395 アフォ目、洩れがアドバイス出してやったんだがw
398 名前:デフォルトの名無しさん mailto:sage [04/12/08 02:32:41] アンタのアドバイスはこっちのトンチンカンな方だろ。 383 名前:デフォルトの名無しさん 投稿日:04/12/04 12:08:56 >>382 2バイトめ"\"のパターンを使え
399 名前:デフォルトの名無しさん mailto:sage [04/12/08 02:37:47] >>397 つーか知ってるなら自分で貼ったらいいじゃん。
400 名前:デフォルトの名無しさん mailto:sage [04/12/08 11:54:01] そして張ったとたんに間違っていると判明と(藁
401 名前:デフォルトの名無しさん mailto:sage [04/12/09 09:34:35] (\)o\o(\)
402 名前:デフォルトの名無しさん mailto:sage [04/12/15 22:47:03] .
403 名前:デフォルトの名無しさん mailto:sage [04/12/16 01:19:20] どなたかこいつを弄ったことのある方いらっしゃいますか。 ttp://www.cminusminus.org/
404 名前:デフォルトの名無しさん mailto:sage [04/12/18 15:10:46]
405 名前:デフォルトの名無しさん mailto:sage [04/12/21 18:59:06] .
406 名前:デフォルトの名無しさん [04/12/21 21:35:17] ここのスレをまとめたページはないのかい?
407 名前:デフォルトの名無しさん [04/12/21 23:29:57] コンパイラを作りたいのですが、どうしたらいいんでしょう 私は、Cの入門書を読み終えた程度です。
408 名前:デフォルトの名無しさん mailto:sage [04/12/21 23:35:38] >407 無謀
409 名前:デフォルトの名無しさん [04/12/21 23:47:06] コンパイラの入門書を読め
410 名前:デフォルトの名無しさん [04/12/21 23:58:53] なぁ、友達にアセンブラを知らないと作れないといわれたのだが、本当か?
411 名前:デフォルトの名無しさん mailto:sage [04/12/22 00:06:01] >>410 その友達に理由を聞けよ
412 名前:デフォルトの名無しさん mailto:sage [04/12/22 00:06:17] ネイティブコンパイラを作ろうと思うならな
413 名前:デフォルトの名無しさん mailto:sage [04/12/22 00:11:18] >412 そうか、アセンブラはいるのか。。。 アセンブラを勉強してから出直してくるよ。
414 名前:デフォルトの名無しさん mailto:sage [04/12/22 00:12:36] アセンブラなんてCより覚える事少ないぞ
415 名前:デフォルトの名無しさん mailto:sage [04/12/22 00:18:06] >414 そうなのか? Cも覚えることはほとんどなかったが。。。。 まぁ、いいや。 はじめて読む8086からはじめるよ。
416 名前:デフォルトの名無しさん mailto:sage [04/12/22 00:22:34] 言語なんてのはすぐに覚えられるが、問題はその先だな。
417 名前:デフォルトの名無しさん mailto:sage [04/12/22 00:27:08] >>408 そうでもないよ。 言語を理解するには実際に自分で作ってみるのが手っ取り早いよ。
418 名前:デフォルトの名無しさん mailto:sage [04/12/22 00:30:54] その先は、何を作るかによるだろう。
419 名前:デフォルトの名無しさん mailto:sage [04/12/22 00:40:03] つーかそれ作って何するかだな 漠然と作ってもただのゴミだし 時間を有効に使う意味では言語処理系なんて手を出さないが吉
420 名前:デフォルトの名無しさん mailto:sage [04/12/22 00:46:08] >>419 できあがった完成品が重要なのではなく、その過程でできたものがもっとも重要な 物・事である事が多いと思いますよ。 完成品なんてタダでくれてやればいいが、その過程で得たものは絶対誰にもあげない。 そう思います。 って青木淳さんの受け売り…
421 名前:デフォルトの名無しさん mailto:sage [04/12/22 00:47:22] このスレと路線がずれてないか? そろそろ元に戻そうぜ。
422 名前:デフォルトの名無しさん mailto:sage [04/12/22 00:51:01] 953 名前:名前は開発中のものです。 [] 投稿日:04/12/21 20:13:01 ID:ZZkG0tzm AliceSoftのSystem(開発環境)見たいなのを作りたいのですが、どうしたらいいのでしょうか? 私は、Cの入門書を読み終わったくらいLvです。 954 名前:名前は開発中のものです。 [sage] 投稿日:04/12/21 20:39:50 ID:y3o3j+dn >>953 「コンパイラ・スクリプトエンジン」相談室4 pc5.2ch.net/test/read.cgi/tech/1100097050/ ゲ製板の初心者質問スレで発見。
423 名前:デフォルトの名無しさん mailto:sage [04/12/22 00:59:30] それ、>407の書いたものだろう?
424 名前:デフォルトの名無しさん mailto:sage [04/12/22 04:42:53] Cで書こうとすると色々と複雑になって辛くない? 先にC++覚えたほうが楽だと思う
425 名前:デフォルトの名無しさん mailto:sage [04/12/22 08:11:24] >>422 それだったらアセンブラ知っとく必要ないじゃん。 とりあえず「yacc インタプリタ」でぐぐって好きなの読むといいんじゃない?
426 名前:デフォルトの名無しさん mailto:sage [04/12/22 11:43:40] 「私はこれで仕事をやめました。」
427 名前:デフォルトの名無しさん mailto:sage [04/12/22 11:46:40] 「私はこれで仕事をやめさせられました。」
428 名前:デフォルトの名無しさん mailto:sage [04/12/22 13:55:40] >>410 アセンブラというものがどういう構造なのか知っておくと便利だけど、 アセンブラ言語そのものを覚える必要は無いと思う。 それよりコンピュータがどうして動いてるか理解する方が大事。 メモリから命令を拾って来る→なんかする→次の命令を処理 という流れはどっちも変わらないから。
429 名前:410 mailto:sage [04/12/23 00:52:02] とりあえず、>407とは別人だぞ。 なんか、一緒にされてる気がするので。 >428 え、ネイティブなら必要だと、上のレスにあるが。。。。
430 名前:デフォルトの名無しさん mailto:sage [04/12/23 00:59:14] マジでコンパイラ作りたいと思っているのなら、最初はアセンブラから始めるのではなくて 自分の言語→C言語へのトランスレータを作って、system関数か何かを使ってCコンパイラを呼び出してコンパイルするのがいい。 C++なども最初はそのようにして作られたし、元々Cはそのための言語として開発された経緯があるから良い感じで実装できる。 Cのオプティマイザをそのまま借用できるのも便利だ。 もしアセンブラも知っていれば、自分の実装した機能を効率よく実装できる命令が見つかるかもしれない、 そのときにネィティブコンパイラを作ってみようという動機が発生する。 目的が現在の言語の性能が気に入らんから、言語はそのままでより良いオプティマイザを実装しようというなら いきなりアセンブラで行けというところで。
431 名前:デフォルトの名無しさん mailto:sage [04/12/23 01:43:13] 今んとこ最強の成書↓ www.amazon.co.jp/exec/obidos/ASIN/1558603204/qid=1103732714/sr=1-3/ref=sr_1_2_3/250-6820354-3087400 amazon.comで古本買ったほうが安いかもしれん。 ただしちょっと古い(1997) FORTRANなら↓ www.amazon.com/exec/obidos/tg/detail/-/1558602860/qid=1103733617/sr=1-2/ref=sr_1_2/002-7592221-6291209?v=glance&s=books 物好きには↓ www.amazon.com/exec/obidos/tg/detail/-/0444001581/qid=1103733470/sr=8-1/ref=sr_8_xs_ap_i1_xgl14/002-7592221-6291209?v=glance&s=books&n=507846 持っているといばれる。
432 名前:デフォルトの名無しさん mailto:sage [04/12/23 02:00:43] ドラゴンブックは今日では読む価値はほとんどない。 記述が難しい上に古い本なので初学者にも上級者にも無用。 新中田本は記述が簡素すぎるので、結局は元の論文を読むはめになる。 ってゆっか、教科書ではなくサーベイだな。 初学者なら佐々本がベストだと思う。 古い本だが、ある程度のレベルを保ちつつこれ以上わかりやすい本は 他には知らない。
433 名前:デフォルトの名無しさん mailto:sage [04/12/23 02:19:14] www.amazon.com/exec/obidos/ASIN/0805316701/ref=pd_sxp_elt_l1/002-7592221-6291209 lccは全く実用にはならないのだが、 この本はかなりおもしろく、また、類書が全くないので一読の価値あり。
434 名前:デフォルトの名無しさん [04/12/23 04:21:30] 吉里吉里とかコンパイルすると、シナリオファイルの中身が読めないファイルに変換されていますが、 あれはどうやっているのですか? (ここではスレちがい?)
435 名前:デフォルトの名無しさん mailto:sage [04/12/23 08:10:26] スクリプトの実装ではなく設計の哲学などを扱った書籍はありませんか?
436 名前:デフォルトの名無しさん mailto:sage [04/12/23 08:50:48] >>434 暗号化してるだけだろ
437 名前:デフォルトの名無しさん mailto:sage [04/12/23 09:18:34] 暗号化っちゅうか、 コンパイルってことは普通バイナリファイルにするわけで、 バイナリになったら普通人は読めないだろ。
438 名前:デフォルトの名無しさん mailto:sage [04/12/23 11:04:46] >>432 ドラゴンブックが古い本なのは確かだが、コンパイラ理論の基礎なんて ドラゴンブックの時代から変わってないから問題ないよ。 佐々本は読んだことないから、そっちの方が良いという意見は否定しないが。
439 名前:デフォルトの名無しさん mailto:sage [04/12/23 13:37:39] ドラゴンブックは原書でしか読んでないが、古めかしさ的には 佐々本と大差ないと思われる(属性文法あたりの差分はあるけどね)。 日本語で読みたいなら、佐々本の方が良い。1冊にまとまっているし、 なによりドラゴンブックの日本語訳はヤバい。 中田本はちゃんと読んでいないので何とも言えないが、元の論文 読む羽目になるのは仕方ないんじゃないか? というか、中田本を勉強 しなきゃいけないやつは、どうせ元論文だけでなくもっと新しい論文を 読まなきゃ仕事にならんでしょ。
440 名前:デフォルトの名無しさん mailto:sage [04/12/23 13:54:43] >>431 "Advanced Compiler Design and Implementation" この本は主にどの言語で書かれていますか? C? C++?
441 名前:デフォルトの名無しさん mailto:sage [04/12/23 14:13:41] >>440 漏れは431ではないが、アルゴリズムの説明などで用いられている擬似言語はpascal風。 とはいっても内容は全くプログラミング言語に依存しない。というか、コンパイラの本で内容が 特定のプログラミング言語に依存するものってあまりないと思う。 ベクトル化コンパイラの本はFortran向けに書かれていることがよくあった気もするが。
442 名前:デフォルトの名無しさん [04/12/23 16:36:55] >434 Javaと同じと考えていいんでない?
443 名前:デフォルトの名無しさん [04/12/23 17:08:20] How to WSDL convert to SOAP?
444 名前:デフォルトの名無しさん mailto:sage [04/12/23 17:19:36] >>443 HTML や XML は正規表現を憶えてツリー型のデータ構造を憶えれば完成だから、 正規表現のスレッドや初心者相談系のところにいったらいいよ。
445 名前:デフォルトの名無しさん mailto:sage [04/12/23 17:22:18] yaneurao.hp.infoseek.co.jp/ygs2k/ ↑のソースは参考になる?
446 名前:デフォルトの名無しさん [04/12/23 20:22:14] コンパイラを作りたいのですが、どうしたらいいんでしょう 私は、Lispの入門書を読み終えた程度です。
447 名前:デフォルトの名無しさん mailto:sage [04/12/23 20:26:03] じゃLISPコンパイラ作れ
448 名前:デフォルトの名無しさん mailto:sage [04/12/23 20:29:51] >>446 lex yacc または bison flex といった所をやる オライリーの動物本でもどうぞ もしCができないなら先にそっちをやる。 Cが分らないとツール群の使い方が理解できない。
449 名前:デフォルトの名無しさん mailto:sage [04/12/23 20:31:29] >448 Cでなくて、C++でもいいんでない?
450 名前:デフォルトの名無しさん mailto:sage [04/12/23 20:34:07] >>449 Cが分らないならC++をやるのはただの遠回り、そこまでやらなくてもツールは使える。 C++で使うにはかなり詳しくC++を知る必要があるから、そんな所に迷い込んだら永久にできなくなってしまう。 大規模になってくれは必然的にC++やる事になるのだから、そのときで十分。
451 名前:デフォルトの名無しさん mailto:sage [04/12/23 20:41:23] yaccとかbisonって、構文解析と字句解析に使うんだろ?
452 名前:デフォルトの名無しさん mailto:sage [04/12/23 20:41:51] Lispのコンパイラを作るのにlex+yaccはいらんなあ。 バイトコードに落とすLispのコンパイラを作るのは結構簡単なわりに面白いよ。
453 名前:デフォルトの名無しさん mailto:sage [04/12/23 20:44:25] >452 おすすめのソースとかある?
454 名前:デフォルトの名無しさん mailto:sage [04/12/23 21:00:41] >>9 のやさしいLispの作り方はどう?
455 名前:デフォルトの名無しさん mailto:sage [04/12/23 21:06:14] >454 ありがd Javaの復習にもいいね。 そろそろこのスレをまとめたサイトが欲しいね。
456 名前:デフォルトの名無しさん mailto:sage [04/12/24 00:37:04] >>454 あれはS式をそのまま解釈するインタプリタなのでコンパイラは出てきませんね。 でも入門書を読み終えた程度って人なら処理系のイメージを軽くつかむにはいいかな。 Lisp/Schemeスレのテンプレに出てくる小さい処理系の中には バイトコード仮想マシン+コンパイラという構成のものもあるのでそれがいいです。 Emacs使いならbytecomp.elがそのままコンパイラ。 ちょっと概要を掴むのに苦労するかも知れないけど。
457 名前:デフォルトの名無しさん mailto:sage [04/12/24 10:19:57] >>420 俺と考えが違いますね ソフトもプログラムも、頭の良い人が数人いて、いいものを作れば 終わっちゃう世界だと思うんですよ。 コピーすれば同じですし・・・ 例えば、簡単なスクリプトを学生が趣味で作ってとしてそれを公開すれば 他の人は、そこまでの勉強が近道が出来ると思います。 頭の良い人はそこから更に良い物を作るって言うやり方が必要だと・・・ 特許などに触れる部分や会社の売りである部分はさすがに公開できないでしょうが その部分を省いた基本的な部分は全て公開する方が効率が良いと思いますし アメリカやインドに比べてソフト開発力が低い?と言われてるのだから、 その部分を補う部分が欲しいと思いますね。
458 名前:デフォルトの名無しさん mailto:sage [04/12/24 10:38:33] >>420 頭のいい人 >>457 口をあけて待ってるバカ
459 名前:デフォルトの名無しさん mailto:sage [04/12/24 16:42:34] >>458 馬鹿で悪かったな・・・ C言語を覚えるのに、C言語の入門からマニュアルが一杯でてるだろ おまぇはそれすら観なかったのかよ? それからアルゴリズムも全部自分が考えたか? データ構造とアルゴリズムを本やインターネットで覚えてないのか? 結局頭の良い人が見つけたプログラミングをお前だって恩恵受けてるだろ。 コンパイラだって頭の良い人が考えてプログラムの参考に自分の新しい コンパイラを作るのだって在りだと思ってるんだよ それとは別に人が作ったものを他の人がまた作るのもデジタルである プログラムではもったいないと・・・ おまぇの考えはフリーでプログラムを提示してる人を真っ向から否定してるよな
460 名前:デフォルトの名無しさん mailto:sage [04/12/24 16:44:18] >>458 こいつはコンパイラの本を見ずにコンパイラを自力で作れるすごい奴なのかも しれないwww
461 名前:デフォルトの名無しさん mailto:sage [04/12/24 16:47:26] 別に凄くないと思うぞ
462 名前:デフォルトの名無しさん mailto:sage [04/12/24 16:49:06] >>461 自力で作れる奴がここに来るのか??www
463 名前:デフォルトの名無しさん mailto:sage [04/12/24 16:53:22] >>462 もし来ないと思っているなら、それは偏見だよ。 別にここでの書き込みに何か期待しているわけじゃない。 ただ、専門分野での雑談を楽しんでいるだけだよ。
464 名前:デフォルトの名無しさん mailto:sage [04/12/24 16:57:04] >>436 彼はC言語のマニュアルしかみないでプログラマーやってる スーパープログラマーだから、相手にしない方がいいな。
465 名前:デフォルトの名無しさん mailto:sage [04/12/24 17:09:11] >>463 彼はすごいよ。 数学の数式や方程式も自分で考えたんだよ。 大学の勉強も教授に話しを聞かなかったと思うよ 何故ならスーパーだから・・・。 教授が自分の経験や頭が良い人の本や教科書を使った 授業だって彼にとっては無駄だもの 先人の発見した知識は彼には必要ないんだよ 彼は全部自分で考えて、自分で作れるんだから・・・www
466 名前:デフォルトの名無しさん mailto:sage [04/12/24 17:09:49] 俺はC言語なぞコンパイラのユーザマニュアルだけで使えるようになったけどな。 そういう人間は別に少なくないだろう。分布が偏在しているだろうとは思うが。 それはさておき>>457 =>>459 だろうが言ってることが滅茶苦茶だぞ。 >>457 では成果物としてしか捉えてないからバカと言われて当たり前。 公開されてるものを眺めただけで改良できるようになるわけじゃないんだよ。 結局ものの設計や開発は一種の探索問題だから、その過程を理解しなければその設計に 至る必然性やどこに改良すべき点があるかとかわからん部分もある。 >>459 でいってるアルゴリズムとかは経験(≒プロセス)から抽出された知識であって 成果物ではないのだから457の主張の論拠にはなり得ない。 457を補強するつもりでも結局459は420の補強にしかならん。 457を見て感じるのは、こいつには「頭のいい人」のものの考えは絶対理解できないだろうなということ。 自分をその範疇から外していて、そうなる意志もないだろうというのも感じる。
467 名前:デフォルトの名無しさん mailto:sage [04/12/24 17:18:39] >>466 はぁ〜、まぁ〜いいや、プログラムだけでなく 方程式とかも自分で解いたんだろ、、全部。 おまえの言ってることは、本に書いてある知識や経験を 必要としないでやってきた人間だけが言える言葉だぞ。 例えば、英語の映画を観ただけで、英語を覚えられるとか・・・ 誰かが、覚えた経験を元に英語の教科書や、専門書を 観ないで覚えたのか 授業で英語の教科書を見て英語覚えたのなら、 それは英語を覚えた経験した事を、本で覚えて 英語を覚えたことになるんだぞ。
468 名前:デフォルトの名無しさん mailto:sage [04/12/24 17:19:23] 誰かが、覚えた経験を元に書かれた英語の教科書や、専門書を 観ないで覚えたのか でした
469 名前:デフォルトの名無しさん mailto:sage [04/12/24 17:25:02] この話題で初めて書き込むが, >>466 アホだな… 本や論文を読まずに〜というのは, 要するにその内容を完全に理解したから, その文献を再び参照することなく, 新規性のある事ができる, という意味だろうに…
470 名前:デフォルトの名無しさん mailto:sage [04/12/24 17:26:19] >>466 彼はエジソンだね。学校の授業は人の経験を教科書にして覚えると言う 行為だから・・・ 授業など必要とせず、自分で経験したことだけで、スーパープログラマに なったらしいから・・・ まさに、プログラマー界にエジソンだよ。 そういうスーパーな人は、新しい言語でも作って世の中で有名でもなって ください。
471 名前:デフォルトの名無しさん mailto:sage [04/12/24 17:28:38] >まさに、プログラマー界にエジソンだよ。 あなたはまず日本語を勉強しましょう
472 名前:デフォルトの名無しさん mailto:sage [04/12/24 17:29:37] >>471 それくらいスーパーなプログラマなら脳内変換できないのか?
473 名前:デフォルトの名無しさん mailto:sage [04/12/24 17:31:53] >>457 落ち着け。>>420 は > 完成品なんてタダでくれてやればいい と言ってるんだぞ。お前にソースは見せん、と言ってるんじゃない。
474 名前:デフォルトの名無しさん mailto:sage [04/12/24 17:32:36] >>457 なんかフレーム引き起こしてますな、僕も420と同意見で 他人の作ったものをとってきて喜べるたちの人間ではないですね、 自分で何か作る事にのみ喜びを感じます、 アルゴリズムも自分で思いついてこそ楽しいのです。 作業効率なんてどうでもいいんですよ。 貴方の意見を読んでいるとプログラミングが恐ろしくつまらない作業の繰り返しに思えます。
475 名前:デフォルトの名無しさん [04/12/24 17:35:18]
476 名前:デフォルトの名無しさん mailto:sage [04/12/24 17:36:12] >>457-476 は役に立たない塊ですので透明あぼーんしましょう
477 名前:デフォルトの名無しさん mailto:sage [04/12/24 17:38:14] >>474 プログラミング自体を楽しめるのなら良いが 作るという行為だけ楽しめる人もいるんですよ プログラミングだけならアセンブラやC言語だけでいいじゃないですか でも作る行為が楽しいと言う人がいるから、VisualBasicだってある。 問題は効率良く作業する為にはどうしたら良いかと 彼はライブラリも使わないと思うよ。 ライブラリだって人の作ったプログラムを使ってるんだから、スーパーな プログラマは我慢できないんじゃないかな?
478 名前:デフォルトの名無しさん mailto:sage [04/12/24 17:38:25] こっちに移動してください pc5.2ch.net/test/read.cgi/tech/1103874346/
479 名前:デフォルトの名無しさん mailto:sage [04/12/24 17:41:50] >ライブラリだって人の作ったプログラムを使ってるんだから、スーパーな >プログラマは我慢できないんじゃないかな? この辺りからして感覚が違う気がしますね、我慢できないのではなくて、中身が興味深そうなら自分も作ってみるのです。
480 名前:デフォルトの名無しさん mailto:sage [04/12/24 17:47:58] 結局、どこまでが基礎でどこからが応用かという問題だろ。 先人の経験を基礎に入るかってことで どんな職業だって先人の経験を真似る部分もある。 確かに真似るだけでは駄目でそれを自分のものにしなくてはならない ソースだけ開示するまでが基礎か その考え方まで書いてあげてコンパイラというものを理解できるような 形にしてあげること(本やインターネットで) までが基礎かの違い。 彼はソースだけは開示すると書いてあったのは理解できなくもない 本やインターネットでコンパイラについて書かれたことを全く 見ずに自分でコンパイラを作った人なら、他の人にもそれくらい 自分でやればと思うかもしれないから・・・ でも本やインターネットでコンパイラについて書かれた内容を理解した 人は、その本を読んで理解しろと言う場合と、もっと解りやすい本が あればもっと簡単に覚えられたと思う人もいるだろ 簡単に言えば解りやすいコンパイラの本が日本語で出るだけで、新たな 言語が出る可能性が出て面白くなると思うけどね。
481 名前:デフォルトの名無しさん mailto:sage [04/12/24 18:11:16] ここはdjbみたいな人が沢山いるインターネットですね。
482 名前:デフォルトの名無しさん mailto:sage [04/12/24 18:14:03] LLパーサやDDA位なら自力でたどり着いた事あるぞ。 つかそのころコンピュータ書籍は英語で書かれている物以外は論文くらいしかなかったし、しかも俺は英語を習う前だったから読むもクソも無かった。 まさか当時は電算関係が生業になるなんて考えてもみなかったけど楽しかったぞ。
483 名前:デフォルトの名無しさん mailto:sage [04/12/24 18:14:39] まあ>>457 みたいな人が、自分の得た知識や経験をわかりやすくまとめて公開する ことは絶対ないんだけどね。これはコンパイラに限らず。
484 名前:デフォルトの名無しさん mailto:sage [04/12/24 18:17:28] ここはバカの壁が如実なインターネットですね。 読んでると壁の両側に綺麗にわかれていて面白い。
485 名前:デフォルトの名無しさん mailto:sage [04/12/24 18:19:40] >>482 コンパイラ以外でも先人の経験を元にしなかった? アルゴリズムの本を読んだり、会社の先輩にソースを見せて貰ったとか・・・ 人の経験を全く真似ないで自分だけでやってこれたと言う人が 本当にいるのなら観てみたいね。 職業のプログラマーだけでなく、他のあらゆる事が先輩の真似から 入ることが多いでしょ。
486 名前:デフォルトの名無しさん mailto:sage [04/12/24 18:21:49] >>484 彼も、先人達の経験を全く必要としない人らしい。 自分だけでやってこれたと思ってる人って素晴らしいね 自分なんて人のおかげで、色々と覚えられたと思ってるし・・・
487 名前:デフォルトの名無しさん mailto:sage [04/12/24 18:27:42] 相談室と書いていながらここは、単に本やインターネットを みないでコンパイラを作れる人が、時々、本とかインターネットを 使って、コンパイラを作ろうとしてる人が書き込んだ人を馬鹿に しようとする為にスレということが解ったよ。
488 名前:デフォルトの名無しさん mailto:sage [04/12/24 18:30:14] 正 相談室と書いていながらここは、単に本やインターネットを 見ないでコンパイラを作れる人が、時々、本とかインターネットを 使って、コンパイラを作ろうとして書き込んだ人を馬鹿にしようとする為の スレということが解ったよ。
489 名前:デフォルトの名無しさん mailto:sage [04/12/24 18:31:40] お前らクリスマスイブ暇だからって張り切りすぎ
490 名前:デフォルトの名無しさん mailto:sage [04/12/24 18:36:08] クリスマスツリーにネコでも吊るして和んでください
491 名前:デフォルトの名無しさん mailto:sage [04/12/24 18:41:20] 決まりきったパターンだね。 人格攻撃に始まるって奴は負ry
492 名前:デフォルトの名無しさん mailto:sage [04/12/24 18:46:23] >>487 スレは「ある」ものではなく「作る」ものだ。 君が親切な相談員になればいい。
493 名前:デフォルトの名無しさん mailto:sage [04/12/24 18:48:45] そんなことより、もまいら今日の晩ごはんはカレーですよ。
494 名前:デフォルトの名無しさん mailto:sage [04/12/24 18:49:23] >>492 俺が君ほどレベルが高くなく本と見てコンパイラを作れるレベルなんだよ そのレベルの話で良ければ教えてもいいけどね。
495 名前:デフォルトの名無しさん mailto:sage [04/12/24 18:52:52] ゲーム業界の話なんだが、アメリカは新しい技術を作られると それを作ったクリエータ自ら、ゲーム業界の学会?みたいな 場所で発表するらしい。 アメリカではプログラム技術は共有の知的財産と思ってるらしく それを、使って何を作るかが重視されてる。 日本は技術を自分で作ることが重視になってる。 技術を1から覚えないと、物を作る資格がないと思ってるみたいだ・・・
496 名前:デフォルトの名無しさん mailto:sage [04/12/24 18:59:04] 何度もすまないが アメリカだとゲームは平気で人が作ったエンジンを使ってゲームを作る。 日本だと、1から作ることが職人だと思ってエンジンを使う所は少ないし エンジンを提供する所も少ない。 アメリカは自分で作りたいものがどのような形で作られようが問題ないみたい 人が作ったものだろうが、それで自分が作りたいものが出来るのなら 問題なく使うけど、日本人は1から作らないと気がすまないみたいだ。
497 名前:デフォルトの名無しさん mailto:sage [04/12/24 19:01:53] アメリカに劣等感を持つのは勝手だが 何の根拠もない妄想をここでやるなよw
498 名前:デフォルトの名無しさん mailto:sage [04/12/24 19:08:50] はっきりいってエロゲーは日本の方がどの分野も進んでるぜ www.illusion.jp/preview/jinkousyoujyo2/ www.teatime.ne.jp/infor/ld_top.htm
499 名前:デフォルトの名無しさん mailto:sage [04/12/24 19:18:13] >>494 それ位のレベルの人が一番わかりやすく教えられるんじゃない? 学校の先生より家庭教師の説明の方がわかりやすいのと同じで。
500 名前:デフォルトの名無しさん mailto:sage [04/12/24 19:21:01] ここは「コンパイラ・スクリプトエンジン」相談室です。 雑談はマ板でお楽しみください。
501 名前:デフォルトの名無しさん mailto:sage [04/12/24 19:25:51] 今日の雑談は↓スレへどうぞ pc5.2ch.net/test/read.cgi/tech/1103874346/
502 名前:482 mailto:sage [04/12/24 19:52:04] 先人の本なんかなかったよ、あったのはモトローラのMC6800マニュアル(英文)、しかも読めた(のか?)は電気回路の部分と命令表、 信号線は親に読んでもらった。 482で書いた事は自分が小学6年から中学1年に掛けての事だから本当に役に立つ書籍は無かった。 ちなみに石田晴久の「マイコン入門」が出たのが自分が中学2年か3年の時。 そういう時代なので読む物なんか図書館いっても見つからないのだ。
503 名前:デフォルトの名無しさん mailto:sage [04/12/24 19:56:47] >>502 あぁ、あの東大のDQNね。
504 名前:デフォルトの名無しさん mailto:sage [04/12/24 19:59:58] そろそろ板違いなんで↓に逝ってくれんか>年寄り bubble2.2ch.net/i4004/
505 名前:デフォルトの名無しさん mailto:sage [04/12/24 20:18:16] クリスマスだから気が立っているのか。愚かしいな。
506 名前:デフォルトの名無しさん mailto:sage [04/12/24 20:26:24] この流れなら言える。 prologでコンパイラ作ってる人いますか? パターンマッチ最適化や、高レベル中間語→低レベル中間語→アセンブリの変換等が きれいに書けそうな気がするんですが。
507 名前:デフォルトの名無しさん mailto:sage [04/12/24 20:37:20] >>495 共有するって感じかな? どちらかというと自分の意見を学会にぶっつけて反応を確かめて 自分の方向性を決めるといった感じの印象を受けるのだが。 共有を目的にしている人は一部のオプソ狂信者(日本にも居るね)だけだと思うな。
508 名前:デフォルトの名無しさん mailto:sage [04/12/24 21:11:17] >>506 きれいに書けませんよ。 嘘だと思うならやってみたら。
509 名前:デフォルトの名無しさん mailto:sage [04/12/24 21:30:38] >>506 そういう研究はあり、確かにきれいに書ける。 ただし、prologでなく、より汎用的なlogical framework(twelfとか)を使うことが多い。
510 名前:デフォルトの名無しさん mailto:sage [04/12/24 22:48:15] >>495 なんとなく納得。 なにげに日本の習慣って秘密主義なのかも。
511 名前:デフォルトの名無しさん [04/12/25 00:55:40] >>510 チンケなプライドがあるために他人のツールを使えないだけ。 高卒のくせにな。
512 名前:デフォルトの名無しさん mailto:sage [04/12/25 01:22:01] pc5.2ch.net/prog/
513 名前:デフォルトの名無しさん mailto:sage [04/12/25 11:20:12] >>511 自分やっているプログラムが詰んなくない? それでストレス溜まって高卒ごときにムキになってない? まぁ、最近そな人多いね、実際自分も仕事ではまるでベントコンベアの前にいるライン工の気分だしね。 嫌な時代ではある。 世の中生産性が全てではないと思うのだが・・・ せめて趣味の世界では爆発していたい。 プログラミングは爆発だ!!
514 名前:デフォルトの名無しさん mailto:sage [04/12/25 13:39:45] ゆんゆん
515 名前:デフォルトの名無しさん mailto:sage [04/12/25 14:12:07] やんやん
516 名前:デフォルトの名無しさん mailto:sage [04/12/25 14:22:51] なんだろ 年末ずっとこの調子?この人
517 名前:デフォルトの名無しさん mailto:sage [04/12/25 14:32:19] あのねのね
518 名前:デフォルトの名無しさん mailto:sage [04/12/25 23:32:30] bison1.35をつかっていたんですけど、1.875ってのが出ているのに気づいたのですが、 どう変わったか知っている方いますか? sourceforge.net/project/showfiles.php?group_id=23617
519 名前:デフォルトの名無しさん mailto:sage [04/12/25 23:46:51] そういうのは作者に問い合わせたほうが早いよ
520 名前:デフォルトの名無しさん mailto:sage [04/12/26 01:00:46] ソースとってきてchangelogみりゃええやないの
521 名前:デフォルトの名無しさん mailto:sage [04/12/26 01:37:01] 構造化例外処理を自作言語に取り入れたいんですが、 VisualC++(というかmsvcrt.dll)の _except_list _local_unwind2 _except_handler3 この辺を扱う資料ってないですか? 下の様なことがしたいので FilterFunction() { printf("1 "); /* this is printed first */ return EXCEPTION_EXECUTE_HANDLER; } main() { __try { __try { RaiseException(1, /* exception code */ 0, /* continuable exception */ 0, NULL); /* no arguments */ } __finally { printf("2 "); /* this is printed second */ } } __except ( FilterFunction() ) { printf("3\n"); /* this is printed last */ } } 実行結果 1 2 3
522 名前:デフォルトの名無しさん mailto:sage [04/12/26 04:06:36] 正直、lexだのyaccだの使ってる奴はアホ。 一文字ずつswitchで入れ子にするのが速いし、メモリも食わないし、プログラミングも実は一番楽。
523 名前:デフォルトの名無しさん mailto:sage [04/12/26 04:22:02] まあそれで書けちゃうぐらい単純なやつならそれでもいいでしょ。
524 名前:デフォルトの名無しさん mailto:sage [04/12/26 04:40:08] >>522 ぜーたいありえネェ〜
525 名前:デフォルトの名無しさん mailto:sage [04/12/26 04:49:54] >522 あー、つーか、単純なやつならそれで出来るかもしれんが、あまりにも世界が狭すぎ。 全てそれでいけると本気で思っているのなら、もう一度勉強し直してこい。
526 名前:デフォルトの名無しさん mailto:sage [04/12/26 04:55:51] >>522 根拠が弱い アホいうんなら、おまえの方法とlex、yaccを使う方法の 長所、短所ふまえてちゃんと説明してみんなを納得させろ
527 名前:デフォルトの名無しさん mailto:sage [04/12/26 05:06:29] 普通に釣りっぽい
528 名前:デフォルトの名無しさん mailto:sage [04/12/26 05:11:03] >>522 はビルゲイツ。
529 名前:デフォルトの名無しさん mailto:sage [04/12/26 09:02:02] 大漁大漁w
530 名前:デフォルトの名無しさん mailto:sage [04/12/26 10:04:56] >>521 VC++固有のライブラリの使い方なら VC++スレ行ったほうがいいと思う。 構造化例外を使いたいだけなら、 Structured Exception Handling でぐぐればよさげ。
531 名前:デフォルトの名無しさん mailto:sage [04/12/26 10:29:50] 釣り師は>>529 のような負け惜しみは書かん >>529 書いた時点で真性確定。
532 名前:デフォルトの名無しさん mailto:sage [04/12/26 10:40:05] 真性に釣られる馬鹿ハケーンw
533 名前:デフォルトの名無しさん mailto:sage [04/12/26 10:48:11] w真性キタ━━━━━━(゚∀゚)━━━━━━ !!!!!
534 名前:デフォルトの名無しさん mailto:sage [04/12/26 10:58:39] \ 釣られたクマー \ 助けてクマー \∩_∩ 今助けるクマー (;(エ); )∩_∩ ∩_∩ ⊂. ⊂ |(・(エ)・; )_○ (・(エ)・; ).∩_∩ 頑張るクマー ⊂_⊂/⊂⊂___つ⊂⊂ |(・(エ)・; ).∩_∩ | ⊂⊂ |(・(エ)・ ) ∪ ̄∪| ⊂⊂ | 〜〜 ∪ ̄∪| |○ 〜〜〜 ∪ ̄∪ 〜〜
535 名前:デフォルトの名無しさん mailto:sage [04/12/26 14:11:12] >522 >プログラミングも実は一番楽 ありえねえ 自力で遷移状態管理しろ、つうたら泣けるなあ
536 名前:デフォルトの名無しさん mailto:sage [04/12/26 14:14:31] LL(1)なら別にいいじゃん。
537 名前:デフォルトの名無しさん mailto:sage [04/12/26 15:54:09] 俺はschemeのreader書くのにlex/yaccのお世話になろうかと 真剣に悩んだよ。 結局、手で書いたが。
538 名前:521 mailto:sage [04/12/26 16:04:12] main() { // var parent_frame try_except_wind( lambda() { // try // var frame = parent_frame try_finally_wind( lambda() { // try RaiseException(1,0,0,0); } ,lambda(){ // finally printf("2 "); }); } ,lambda() { // FilterFunction printf("1 "); return EXCEPTION_EXECUTE_HANDLER; } ,lambda() { // except printf("3\n"); }); } 例外ブロックを関数化してここまでは動作確認できました。 VCの__finallyや__exceptブロックは妙なトリック(ebpの持ち回り)使ってるから フレーム統合するのは難しそうです。 別の手段考えます。
539 名前:522 mailto:sage [04/12/26 18:50:35] 馬鹿だな。複雑な文法ほどそう書くのがいいんだよ。 人間が考えてる要領でうまくかける。 yaccだのlexだのはかえって難しいんだよ。 複雑な文法になるほどな。
540 名前:デフォルトの名無しさん mailto:sage [04/12/26 19:07:18] 飽きたからもういいよ。
541 名前:デフォルトの名無しさん mailto:sage [04/12/26 19:08:26] | | ∩___∩ | | ノ _, ,_ ヽ (( | プラプラ / ● ● | (=) | ( _●_) ミ _ (⌒) J >>539 彡、 |∪| ノ ⊂⌒ヽ / ヽノ ヽ /⌒つ \ ヽ / ヽ / \_,,ノ |、_ノ
542 名前:デフォルトの名無しさん mailto:sage [04/12/26 22:32:01] >>538 Win32 Exception handling for assembler programmers by Jeremy Gordon www.jorgon.freeserve.co.uk/ExceptFrame.htm 昔、参考にさせてもらったサイト。もう1ヶ所ぐらいあったんだけどURL紛失した。
543 名前:デフォルトの名無しさん [04/12/26 23:41:12] でも、マジレスすると scanner は自主開発蟻としても parserはyaccか互換ソフト以外実用プログラムでは使われていないからなぁ お前ら、もっと現実を見ろ!
544 名前:デフォルトの名無しさん mailto:sage [04/12/26 23:59:48] 飽きたからもういいよ どうせなら新しいネタにしようぜ
545 名前:デフォルトの名無しさん mailto:sage [04/12/27 00:05:28] マジレスすると、 Java5.0はyaccだと難しい。
546 名前:デフォルトの名無しさん mailto:sage [04/12/27 01:28:03] Rubyも確か、yacc廃止するような話が上がってるみたいだね。 PythonやPerlはどうなの?
547 名前:デフォルトの名無しさん mailto:sage [04/12/27 02:46:19] なんか字句解析と構文解析の話ばっかりだな。 漏れが知りたいのはその先の話なのに。
548 名前:デフォルトの名無しさん mailto:sage [04/12/27 02:52:11] 522の言うことも一理あるかと gccも最初はyaccだったが今は手書きらしいし
549 名前:デフォルトの名無しさん mailto:sage [04/12/27 02:52:22] コード生成とか最適化の話がしたいとな?
550 名前:デフォルトの名無しさん mailto:sage [04/12/27 02:53:03] みんな自動生成系で骨格作って手直しをしてという風ではないの?
551 名前:デフォルトの名無しさん mailto:sage [04/12/27 02:57:43] 中間言語にコンパイルする話はどの書籍に載ってるでしょうか。 googleで調べても見つからないので。
552 名前:デフォルトの名無しさん mailto:sage [04/12/27 03:04:22] 今おれが借りてる本に詳しく載ってるな。 中間言語と言っても色々レベルがあるけどな。
553 名前:デフォルトの名無しさん mailto:sage [04/12/27 03:14:28] >>552 書籍名を教えてくださいYO! ほとんど知識の無いままSchemeのインタプリタを書き始めたんですが 3日くらいで大体の機能が実装できました。 問題はGCと継続なんですが、CPSという中間言語を使うと継続が楽に 実装できるという噂をききまして、どんなものかなあと。 コンパイルしないと遅すぎるってことや実装が簡単すぎた(さすがScheme) っていうのも動機なんですけど。
554 名前:デフォルトの名無しさん mailto:sage [04/12/27 03:37:57] >>553 CPSは普通のコンパイラの教科書では余り取りあげられない。 本なら、Appelの「Compiling with Continuations」辺り。ただし、 これはMLベース。CPS自体はMLとは関係ないけど、中間言語 にコンパイルする話から知りたい人には難しすぎるかも知れない。 Schemeベースだと、Guy Steel Jr.のRabbitコンパイラとかKranz らのORBITの論文(PLDI86)辺りを読むしかないんじゃないかな。 Rabbitコンパイラの論文が今簡単に入手できるかどうかは知らな いが、ORBITの論文は今年出た「20 Years of PLDI 1979-1999: A Selection」っていうACM SIGPLAN notices, volume 39, number 4, april 2004に選択されて載っているから、これなら技術系の大学の 図書館辺りで見つけられるでしょ。
555 名前:デフォルトの名無しさん mailto:sage [04/12/27 03:56:06] 沢山の情報ありがとうございます。 CPSにこだわっている訳ではないんですけど、東大のコンパイラの授業 のページにのってたのでメジャーなのかと思ってました。 一般的に中間言語の話はどの本がいいんでしょうか。 とりあえずいろいろ調べてみます。
556 名前:デフォルトの名無しさん mailto:sage [04/12/27 04:31:51] >>553 CPSは中間言語ではないよ。 それに直接速くなるわけでもない。 CPSというのは継続のたらいまわしで、実装が自ずと スタックレスになり、末尾の検出が不要になることと 継続の抽出が単純(というか継続の抽出そのもの)になるというだけで。 Schemeは末尾呼び出しのフレームの縮小問題に どう取り組むかで速度にかなり違いが出てくる。 これは仮にCPSにしても解決はできない。 それと(Schemeに限らないけど)、GCにぎりぎりまで頼らない (ヒープに移さない)設計にするとか。 CPSについてはコンパイラの本より むしろ関数型言語扱ってる古い本に色々載ってたけど、 そういうのは図書館で探したほうがいい。 CPSに変換する処理系もあったはず。 ちなみに借りた本は「コンパイラの構成と最適化」 CPSとはあんま関係ないね。
557 名前:デフォルトの名無しさん mailto:sage [04/12/27 04:35:02] >>554 Steele 先生のってこれでよろし? ftp://publications.ai.mit.edu/ai-publications/pdf/AITR-474.pdf 面白そう……だけど結構な分量だな。プリントアウトしたら大変そうだ。
558 名前:デフォルトの名無しさん mailto:sage [04/12/27 04:37:47] >>555 中間言語の話題で一般的に良い本を挙げるってのは難しい。 というか、ソースから中間言語への変換辺りの話題だと、 ドラゴンブックで充分だし、最適化の話題よりのコンパイラの 教科書だとその辺りは大抵省略されている。 AppelのModern Compiler Implementation in {ML,Java,C}辺り だとコンパイラについてlexer、parserからcode generationまで 一通り書かれていて、GCなんかも取りあげられているから良 いかもしれない(漏れはJava版しか読んだこと無いからMLや C版の内容は知らない)。
559 名前:デフォルトの名無しさん mailto:sage [04/12/27 04:46:49] >>557 凄いな。 こ れ が 修 論 か
560 名前:デフォルトの名無しさん mailto:sage [04/12/27 13:53:09] _| ̄|○
561 名前:デフォルトの名無しさん mailto:Appel先生ごめんなさい, sage [04/12/27 19:21:59] あのな、CPSなんてきょうび流行んねーんだよ。ボケが。 得意げな顔して何が、CPSで、だ。 お前は本当にCPS変換したいのかと問いたい。問い詰めたい。小1時間問い詰めたい。 お前、スタック使いたくない だけちゃうんかと。 中間言語通の俺から言わせてもらえば今、中間言語通の間での最新流行はやっぱり、 A normal form、これだね。 大盛り一時変数。これが通の頼み方。 A normal formってのは制御フローが明示的に入ってる。そん代わり継続は暗黙的。これ。 で、それにtail call最適化。これ最強。 しかしこれを頼むと次からAppelにマークされるという危険も伴う、諸刃の剣。 素人にはお薦め出来ない。 まあお前、1は、型付きCPS変換でもしてなさいってこった。
562 名前:デフォルトの名無しさん mailto:sage [04/12/27 20:54:34] 不勉強なオレはいまいち面白さが分からないが、 メル欄ワロタ
563 名前:デフォルトの名無しさん mailto:sage [04/12/27 21:14:55] せっかくなので A normal form ってのについて教えて下さい。 ポインタでもいいから。
564 名前:デフォルトの名無しさん mailto:sage [04/12/27 21:30:10] >>509 のlogical frameworkと関連した内容ですか。
565 名前:デフォルトの名無しさん mailto:sage [04/12/27 22:19:26] www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rls=GGLD,GGLD:2004-40,GGLD:ja&q=%E6%8C%BD%E5%9C%B0%E7%AF%A4%E5%BF%97
566 名前:デフォルトの名無しさん mailto:sage [04/12/28 00:11:56] コミックバンチの修論いきなり見せられてもA normal formのことサパーりでしょ。>>553
567 名前:デフォルトの名無しさん mailto:sage [04/12/28 07:51:25] 電気通信大学 情報工学科 渡邊(坦)研究室 言語・機種に非依存なオブジェクト最適化の研究 www.watalab.cs.uec.ac.jp/OBandG/nobuharu/research/B-Thesis/paper.html はガイシュツですか?
568 名前:デフォルトの名無しさん mailto:sage [04/12/28 10:14:44] >>567 何も新しいことは書かれていない気がす。 ドラゴンブックに出て来るレベルの最適化を実装してみました ってやつですな。
569 名前:デフォルトの名無しさん mailto:sage [04/12/28 19:11:25] >>567 学部生レベルの卒論としては合格
570 名前:デフォルトの名無しさん [04/12/28 21:33:47] ●コンパイラ 原理・技法・ツール 1&2 www.amazon.co.jp/exec/obidos/ASIN/4781905854/ www.amazon.co.jp/exec/obidos/ASIN/4781905862/ 通称ドラゴンブック。バイブル。 ●コンパイラ構成法 原田 賢一 www.amazon.co.jp/exec/obidos/ASIN/4320029224/ www.hara.cs.keio.ac.jp/kCompiler/ (ソース、正誤表のダウンロード) ●プログラミング言語処理系 岩波講座 ソフトウェア科学〈5〉 佐々 政孝 www.amazon.co.jp/exec/obidos/ASIN/4000103458/ 一冊で済ませたい人へ。 読む順番とかあるの? なければ、『コンパイラ構成法 原田 賢一』を買おうと思っている。
571 名前: ◆MWRLp2GQ3U [04/12/28 22:02:12] 初心者の疑問なんですけど、言語処理系って フリーの有名所(例gcc)や一部の超メジャー処理系(M$) でないと全くダメダメなのななんででしょう? 職場の回りの人とかも、皆同じように思っています。 言語処理系以外なら、そんなことないと思うんですよねぇ やはり、作り込みが難しいからですか???
572 名前:デフォルトの名無しさん mailto:sage [04/12/28 22:06:00] 既にフリーでいい物があるから、 わざわざ作る気も起きないってのも大きいでしょ
573 名前:デフォルトの名無しさん mailto:sage [04/12/28 22:20:51] 人生を言語処理系の作成に捧げる気があるなら >フリーの有名所(例gcc)や一部の超メジャー処理系(M$) これらにも対抗できるものが作れるんじゃねーの?(鼻くそほじりながら
574 名前:デフォルトの名無しさん mailto:sage [04/12/28 22:51:37] >人生を言語処理系の作成に捧げる気があるなら んで、できるかどうかは兎も角そんな連中がここに居るわけだ。
575 名前:デフォルトの名無しさん mailto:sage [04/12/28 22:52:30] まあ面白いし
576 名前:デフォルトの名無しさん mailto:sage [04/12/28 23:07:36] >>574 売り物レベルになるかはともかくを言ったら 処理系自体はちょっと時間あれば作れるしな
577 名前:デフォルトの名無しさん mailto:sage [04/12/28 23:13:48] HSPぐらいならなんとかなるんじゃね?
578 名前:デフォルトの名無しさん mailto:sage [04/12/28 23:20:19] HSPみたいな頭の悪そうな処理系思い浮かぶやつには無理だろw
579 名前:デフォルトの名無しさん mailto:sage [04/12/28 23:39:36] Nスクよりマシかな。
580 名前:デフォルトの名無しさん mailto:sage [04/12/28 23:49:46] 2ch発の言語とかってないの?
581 名前:デフォルトの名無しさん mailto:sage [04/12/28 23:51:50] >>580 いくつか過去にもスレは立ったけど成功したもんはなさそう。 ADVRUN…はちょっと違うか
582 名前:デフォルトの名無しさん mailto:sage [04/12/28 23:56:58] >>580 ギコBASIC
583 名前:デフォルトの名無しさん mailto:sage [04/12/29 00:04:36] 少なくともHSPはそれなりにメジャーになりはした。
584 名前:デフォルトの名無しさん mailto:sage [04/12/29 01:00:15] HSPはあの言語仕様なのに、それなりに流行っていることを考えると、 言語の良し悪しが、決定的なんじゃないということがよくわかる
585 名前:デフォルトの名無しさん mailto:sage [04/12/29 01:28:09] Windowsでexeが作れて配布できる。 初心者でも簡単に使える。 初心者用ドキュメントがある。 こういう、ヲタク向けの言語では軽視されがちな部分が 大きいんじゃないかな。
586 名前:デフォルトの名無しさん [04/12/29 12:09:18] >>585 剥げ同。 最先端言語技術や高度な理論よりも、リアルに使えることの方が はるかに重要と最近日々感じる…
587 名前:デフォルトの名無しさん mailto:sage [04/12/29 12:10:58] でも楽しくないよね。
588 名前:デフォルトの名無しさん [04/12/29 12:20:45] 楽しいよ すぐに窓表示したり文字表示したり、コントロール作ったり、3DのDirectX画像が動かせるからね すぐに目に見えて成果が現れるところがミソ
589 名前:デフォルトの名無しさん mailto:sage [04/12/29 15:33:07] じゃあexeが作れない言語はクソ
590 名前:デフォルトの名無しさん mailto:sage [04/12/29 15:41:27] >>589 世の中の全てが詰らなさそうな奴だな
591 名前:デフォルトの名無しさん mailto:sage [04/12/29 17:28:43] >>589 MSと心中しとけ。
592 名前:デフォルトの名無しさん mailto:sage [04/12/29 21:11:45] >>586 禿げ同 しかし初心者にはいいかもしれないけど、 プログラマとしては絶対使いたくない言語だよね。 そこんところがシームレスに使える言語があるといいのかなぁ。
593 名前:デフォルトの名無しさん mailto:sage [04/12/29 21:17:31] 初心者には取っつきやすく、高度な要求にも耐えられる言語か 難しいね
594 名前:デフォルトの名無しさん mailto:sage [04/12/29 21:19:19] Java
595 名前:デフォルトの名無しさん mailto:sage [04/12/29 21:22:47] 組み込みHSP? 激しく嫌すぎる・・・
596 名前:デフォルトの名無しさん mailto:sage [04/12/29 21:33:18] HSP使うぐらいなら素直にアセンブリ使うよ。
597 名前:586 [04/12/29 22:00:30] 念のため行っとくけど、俺はHSPは使ったこともないからなw
598 名前:デフォルトの名無しさん mailto:sage [04/12/29 22:13:25] どこ行くんだよw
599 名前:デフォルトの名無しさん mailto:sage [04/12/29 22:28:36] お前ら ありあまる暇があったら、 どんな言語・処理系作りたい?
600 名前:535 [04/12/29 22:59:15] HSPってなに?
601 名前:デフォルトの名無しさん mailto:sage [04/12/29 23:09:47] >>592 このスレに居るなら、そう思ったら自分で作れ。
602 名前:デフォルトの名無しさん mailto:sage [04/12/29 23:32:56] >>600 気にする程のものではない。 ゲームを書く為だけの簡易言語だよ。
603 名前:デフォルトの名無しさん mailto:sage [04/12/30 01:05:59] >>599 汎用の処理系って作ったことないからなあ。 特殊用途のだけ。 なんで、手始めはやっぱりLisp系かな。 SICPみながらSchemeからだろうか。
604 名前:デフォルトの名無しさん mailto:sage [04/12/30 01:09:17] >>603 minischemeのコード見てみなよ。 たった2000行程度だから。
605 名前:デフォルトの名無しさん [04/12/30 04:50:37] >>602 ゲームだけじゃない Windowsアプリが実に簡単に出来る こういう面も人気の理由の一つ 普段MFC使ってる俺でも昔覚えたHSP使うことがたまにある 手軽だから
606 名前:デフォルトの名無しさん mailto:sage [04/12/30 04:56:59] ここは既存の言語や処理系について、文句たれたり、布教活動したりするところなん?
607 名前:デフォルトの名無しさん mailto:sage [04/12/30 05:08:58] 大学生ならコンパイラ作るよな
608 名前:デフォルトの名無しさん mailto:sage [04/12/30 05:13:59] やはり実際に物が作れるということと、敷居が低いことは重要だよな。 Cより言語仕様が優れた言語は腐るほどあるのに 結局Cより流行る言語はほとんどない。 一方では、お手軽にGUIやゲームなどが作れるというだけのことで、 糞仕様のHSPがそれなりに流行ったりする。
609 名前:デフォルトの名無しさん mailto:sage [04/12/30 06:07:49] 課題で必ず出るね
610 名前:デフォルトの名無しさん mailto:sage [04/12/30 11:37:50] >>608 言語論争したいのならどっか別の所へ行け
611 名前:デフォルトの名無しさん mailto:sage [04/12/30 13:43:53] そうではない コンパイラを作るに当たってなにが大切かを述べてるにすぎない
612 名前:デフォルトの名無しさん mailto:sage [04/12/30 14:29:03] >>611 ハァ?バカでね?
613 名前:デフォルトの名無しさん mailto:sage [04/12/30 14:38:29] なんかレベル下がったなこのスレ
614 名前:デフォルトの名無しさん mailto:sage [04/12/30 15:17:51] 今までにレベルの高いレスなんてあったか?
615 名前:デフォルトの名無しさん mailto:sage [04/12/30 15:30:59] HSP厨が紛れ込んじゃったんだろ。
616 名前:デフォルトの名無しさん [04/12/30 16:03:47] なぁ、ここにいるやつらで2ch言語でも作ってみないか?
617 名前:デフォルトの名無しさん mailto:sage [04/12/30 16:07:18] >>616 おまえが作れ
618 名前:デフォルトの名無しさん mailto:sage [04/12/30 16:12:40] >>616 言語仕様のアイデアはあるのか?
619 名前:デフォルトの名無しさん mailto:sage [04/12/30 16:20:02] 板グループがオブジェクトで各板名がメソッドとか。 PC等.プログラマー("hoge);
620 名前:デフォルトの名無しさん mailto:sage [04/12/30 16:21:50] あー、"閉じ忘れた。まあいいや。 エラーが出たときは 真・プロセスストッパー。。。( ̄ー ̄)ニヤリッ と。
621 名前:デフォルトの名無しさん mailto:sage [04/12/30 16:54:14] >>611 いらねーよ、言語仕様ってのは作り手の趣味の問題だ、他人にゴチャゴチャいう筋合いのものじゃねぇ。 そんなもん、そんな作りもしない何もしないクレクレ厨房の書き込みなんざ読んでもウザイだけだ。
622 名前:デフォルトの名無しさん mailto:sage [04/12/30 17:00:43] >>619 そりゃ言語仕様じゃなくてライブラリの仕様じゃねえか
623 名前:デフォルトの名無しさん mailto:sage [04/12/30 17:12:08] ここはネタすれじゃないんだから他でやれや>>616-622
624 名前:デフォルトの名無しさん [04/12/30 17:23:05] 言語仕様議論専用スレがあったほうがいいかね、建ててみるね。 「言語仕様と開発論法」でやってみてください。
625 名前:デフォルトの名無しさん mailto:sage [04/12/30 17:23:50] 「言語仕様と開発論法」 pc5.2ch.net/test/read.cgi/tech/1104394930/l50 ここです。
626 名前:デフォルトの名無しさん [04/12/30 19:33:06] www.rubyist.net/~matz/20041227.html#p03 こんな短いプログラムで比較するのもどうかと思うのだが、 Rubyで書いたら絶対これより短くなる。 ということは、PHPではなくRubyを使えという話なのか。どうも、そうではなさそうだ。 よくいただく反論は「PHPでもできる」ということであって、同じくらい良い(動的)言語からPHPを選ぶ理由ではないはずだ。 PHPは決して速くないし、記述力が高いわけでもないし、たくさんの欠点が残っているように見えるが、 あちこちで「そのシステムPHPで書かないの」という質問が出るところをみるとそれなりに馬鹿には使われているようだ。 もっとも、PHP陣営から出てくる数字はmod_phpのインストール数とか、mod_phpのパフォーマンスと(mod_perl抜きの)perl CGIとの比較とか、まったくフェアでない印象があるが。 あるいは「すでにPHPを覚えているので、いまさら他の言語を覚えたくない」ということなのかもしれない。 その気持ちはまあ理解できないでもない。 もしかすると、よく分からない初心者をイメージ先行で取り込んでしまい、 「いまさら他の言語を覚えたくない」という」意識でロックインしてしまうというのは、 初心者をターゲットにした素晴らしいマーケティング戦略なのかもしれない。 もしそうだとするならば、というか実際そうだろうし、Rubyは絶対にその戦略を取りたくない。 それくらいだったらマイナーなままでいてくれた方がずっと良い。 Rubyは最高の言語なのだから。
627 名前:デフォルトの名無しさん mailto:sage [04/12/30 19:36:14] >>626 単純にRubyはマイノリティなだけ。 使われてないなら潜在バグの洗い出し率も低いだろうし 信頼性保守性等々で考えて業務に使う必然性がない。
628 名前:デフォルトの名無しさん mailto:sage [04/12/30 19:44:24] >>627 禿同
629 名前:デフォルトの名無しさん mailto:sage [04/12/30 19:47:21] Ruby以上のものを作ることのできない糞どもが何を言おうが無駄。 汚らしいRubyアンチは消えろ
630 名前:デフォルトの名無しさん mailto:sage [04/12/30 19:49:30] と、言うことは>>629 には そ れ な り に 普 及 し た プログラミング言語以上のそれの作成経験があると言うことになる。
631 名前:デフォルトの名無しさん [04/12/30 19:50:46] 最高言語Rubyユーザ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> おのスレでしがない糞処理系を作ってる奴等ww
632 名前:デフォルトの名無しさん mailto:sage [04/12/30 20:05:03] Perlでええやん。
633 名前:デフォルトの名無しさん mailto:sage [04/12/30 20:11:53] HSP使ってる奴とRuby使ってる奴って なんか共通点が有るな。
634 名前:デフォルトの名無しさん mailto:sage [04/12/30 20:13:44] >>633 いいよなぁ。自分の価値観が万人の常識であるとか思ってる奴。
635 名前:デフォルトの名無しさん mailto:sage [04/12/30 20:25:15] 最高言語Scheme!!!!!!!
636 名前:デフォルトの名無しさん mailto:sage [04/12/30 20:25:58] 荒れるからHSP厨とRuby厨は >>625 のスレ逝ってよ。
637 名前:デフォルトの名無しさん mailto:sage [04/12/30 20:29:09] やっぱ 日本発->他の言語より日本語の情報が多い->厨が増える という流れなのだろうか。
638 名前:デフォルトの名無しさん mailto:sage [04/12/30 20:32:13] 単純になぜか安置が多いというお話。 たぶん同一人物が自作自演交えてやってるんだろうけど。 正直、俳優か小説家になれば大ブレイク。 こんなところで才能を食いつぶしている彼らが不憫だ。
639 名前:デフォルトの名無しさん mailto:sage [04/12/30 20:36:40] 単純になぜか厨が多いというお話。 たぶん同一人物が自作自演交えてやってるんだろうけど。 正直、俳優か小説家になれば大ブレイク。 こんなところで才能を食いつぶしている彼らが不憫だ。
640 名前:デフォルトの名無しさん [04/12/30 20:38:18] >>639 みたいなのが典型と言うことで。
641 名前:デフォルトの名無しさん mailto:sage [04/12/30 20:44:36] どっちも根拠を挙げてるわけでもないし どっちも典型でしょ。 専用スレが腐るほど有るんだしそっちでやってよ。
642 名前:デフォルトの名無しさん mailto:sage [04/12/30 20:44:37] で、何かこのスレと関係あるのか?
643 名前:デフォルトの名無しさん mailto:sage [04/12/30 20:47:44] www.rubyist.net/~matz/20041227.html#p03 Ruby>>>>>>>>>>>>>>>>Java>>>>>Python>>>>>C++>>>>>PHP>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>HSP>Perl
644 名前:デフォルトの名無しさん mailto:sage [04/12/30 20:50:41] Perlに恨み骨髄という感じだな。
645 名前:デフォルトの名無しさん mailto:sage [04/12/30 20:52:48] Rubyはレンタル鯖でつかえねーからダメ ライブドアだけじゃん
646 名前:デフォルトの名無しさん mailto:sage [04/12/30 20:53:31] Rubyって仕事で使えるほどフレームワークあったっけ?
647 名前:デフォルトの名無しさん mailto:sage [04/12/30 20:56:14] コミュニティ文化の話なんてどうでもいい 技術の話をしないやつは(・∀・)カエレ! お年玉で>8買って読んでから来い
648 名前:デフォルトの名無しさん mailto:sage [04/12/30 20:58:18] 貴様らがポチポチ作った処理系なんか自分以外誰が使うんだよ。 Rubyレベルのものが貴様らに作れるのか?
649 名前:デフォルトの名無しさん mailto:sage [04/12/30 20:58:55] 先生!お店に禿げたドラゴンブックした売ってません!!
650 名前:デフォルトの名無しさん mailto:sage [04/12/30 20:59:32] Rubyの劣化コピーでしかない貴様らが 死に物狂いでRubyを不正で苦しさ晴れたち日をしているwwwwwwww やはり劣等感である〜〜〜 くすくす^^;
651 名前:デフォルトの名無しさん mailto:sage [04/12/30 20:59:55] 国産処理系 HSP、LGP、System3.x、Ruby こうして並べるとRubyすげーのかどうか微妙だな
652 名前:デフォルトの名無しさん [04/12/30 21:01:09] ドラゴンブック程度を読んで分かったつもりになった厨房が メイジャーなRubyを必死に貶すことで憂さ晴らししているスレはココですか?
653 名前:デフォルトの名無しさん mailto:sage [04/12/30 21:02:38] >>652 うっせー禿げ
654 名前:デフォルトの名無しさん mailto:sage [04/12/30 21:02:52] ム板では NG ワードにプログラミング言語「るび」を指定することが 推奨されています。
655 名前:デフォルトの名無しさん mailto:sage [04/12/30 21:03:09] >>626 その話題は pc5.2ch.net/test/read.cgi/tech/1104394930/l50 にぴったりだ、一発ブチかまして良スレにしてやってくれ。
656 名前:デフォルトの名無しさん mailto:sage [04/12/30 21:07:06] >>643 のリンク先見たけど開発者がこれでは… ずっとマイナーなままなのそれなりに理由があるからだろ。
657 名前:デフォルトの名無しさん mailto:sage [04/12/30 21:08:56] >>656 その理由を pc5.2ch.net/test/read.cgi/tech/1104394930/l50 に書きなさい、ちゃんと議論してみろ。
658 名前:デフォルトの名無しさん mailto:sage [04/12/30 21:09:13] matzはジョークのひとつも言ってはいけないのか……
659 名前:デフォルトの名無しさん mailto:sage [04/12/30 21:11:10] 面白ければ許可する
660 名前:デフォルトの名無しさん mailto:sage [04/12/30 21:14:30] Rubyアンチに「じゃあ、Rubyの欠点を挙げてみろ」と言うとだんまりになってしまうのが面白くてしかないwww
661 名前:デフォルトの名無しさん mailto:sage [04/12/30 21:16:29] マイナーすぎてレンタル鯖で使えない所が多い。
662 名前:デフォルトの名無しさん mailto:sage [04/12/30 21:18:32] cgi.rbの 1.8 や 1.8.2 であった問題
663 名前:デフォルトの名無しさん mailto:sage [04/12/30 21:19:39] Unicode、半角カナを含めた文字コードの扱い
664 名前:デフォルトの名無しさん mailto:sage [04/12/30 21:19:45] >>661 今をときめくライブドアで使えますが?
665 名前:デフォルトの名無しさん mailto:sage [04/12/30 21:21:28] >>661-663 ほら書き写してやった、向こうでつづけて書け。
666 名前:デフォルトの名無しさん mailto:sage [04/12/30 22:41:49] Windowsでexeが作れない
667 名前:デフォルトの名無しさん mailto:sage [04/12/30 22:49:56] 自己記述ができない
668 名前:デフォルトの名無しさん mailto:sage [04/12/30 22:55:43] 開発者が >それくらいだったらマイナーなままでいてくれた方がずっと良い。 って言ってるんだからマイナーなんだろ。
669 名前:デフォルトの名無しさん mailto:sage [04/12/30 23:08:48] 今度は厨が良い所を挙げてくれ。
670 名前:デフォルトの名無しさん [04/12/30 23:59:16] BNF記法の正式な書き方ってありますか? なんか検索して色々なサイト見るとそれぞれ 若干記述の方法がちがうんですよね。 あとEBNFについての書き方ってのは 調べても詳しく解説してるサイトがないんですよね。 識者の意見求む!
671 名前:デフォルトの名無しさん mailto:sage [04/12/31 00:18:58] >>670 表記法は規格によって様々だけど、表す物は同じ 一番元になったAlgolの時点では、 <>で囲った物が非終端記号 ::=が超記号 |がOR の3つ。 EBNFになって 省略可能が[...] 0回以上の繰り返しが{...} くくりが(...) という書き方が可能になった とコンパイラ構成法に書いてあります
672 名前:デフォルトの名無しさん [04/12/31 00:24:06] Rubyで金取れる仕事ってできるの?(品質保証込み)わしバグとか怖くて使えんけどまじで 大丈夫なの?
673 名前:デフォルトの名無しさん mailto:sage [04/12/31 00:28:41] おk
674 名前:デフォルトの名無しさん mailto:sage [04/12/31 01:00:50] >>670 規格になってるのには、ISO/IEC 14977:1996 とか RFC2234 とかがあったり。
675 名前:デフォルトの名無しさん [04/12/31 14:17:23] >>671 >>674 レスありがとうございます。 >>671 が示してくれた記述方法は ↓と同じですよね。(この記述方法が一番読みやすい) www.wormjp.umin.jp/jp/acemanjp13/node28.html でも>>674 が示してくれた標準となっている「ISO/IEC 14977:1996」では ↓のように若干記述方法が違うんですよね。 www.atmarkit.co.jp/fxml/ddd/ddd004/ddd004-bnf.html ま、この2通りを知っておけばいいって感じですかね?
676 名前:デフォルトの名無しさん mailto:sage [04/12/31 14:31:23] どれも憶えておけば、折衷式俺定義BNFが出てきても読める。
677 名前:デフォルトの名無しさん mailto:sage [04/12/31 15:22:22] >>676 すまん
678 名前:Rubyist! mailto:sage [04/12/31 15:47:47] PerlやPythonのシンタックスはヘタレでかつ、醜悪 よく公開する気になれるものだなこんなもの しかもはっきり言って便利でも何でもないよこんなの こんなの好きだって奴はアホそのものだな、イラネ−
679 名前:デフォルトの名無しさん mailto:sage [04/12/31 16:38:57] Rubyの汚いend end endよりはPythonのソース の方が綺麗
680 名前:デフォルトの名無しさん [04/12/31 16:40:20] このスレいたたたたたたたたた 漏れ儲でもなんでねねぇーけど、ここでRuby批判してる住人は妬みにしかみえねーな 『Windowsでexeが作れない』『自己記述ができない』『マイナーすぎてレンタル鯖で使えない所が多い』・・・ メイジャーになるだけの言語を作れないもしくは作る勇気も技術もない香具師の嫉妬だな そこまでいうおまいらの作った処理系は超クオリティで馬鹿流行するんだろうなw 新言語開発ってのははじめからなんの保障もねぇーんだよ それをさもお客様ヅラして能無しどもが偉そうに素人相手にムキになって評価してやがるイタタタタタタタタ こんなところでネチネチ陰湿に文句いうくらいならさっさとRubyアンインストして忘れろよ
681 名前:デフォルトの名無しさん mailto:sage [04/12/31 16:41:49] うかつにRubyのような画期的な言語をつくってしまうと 自意識過剰の能なし共の嫉妬を買うねぇ。
682 名前:デフォルトの名無しさん mailto:sage [04/12/31 16:42:26] 誰かが結果を出した途端 出し抜かれたというか、ズルい事でもされたような錯覚に陥るんかねぇ。 ありもしない自分の可能性を信じさせられる平等教育の犠牲者はかわいそうだなぁ。 アンチRubyの方々にはまことに同情するよ。
683 名前:デフォルトの名無しさん mailto:sage [04/12/31 16:48:03] 俺が作ったわけじゃいけどCやPerlやPythonの方が流行ってるよw もしかしたらHSPの方が流行ってね?www
684 名前:デフォルトの名無しさん mailto:sage [04/12/31 16:50:37] LarryやGuidoのような才能の無い人間が作った言語が流行るのは、勘違いクンが増えるので良くない。 つか、悪い。もはや悪事。奴等は恥を知れ。
685 名前:デフォルトの名無しさん mailto:sage [04/12/31 16:54:15] >>683 俺はRuby信者じゃない。 批判のフリした罵りが見苦しいだけ。 第三者が読んで含蓄のある批判をしてみたまえよ、みっともない。
686 名前:デフォルトの名無しさん mailto:sage [04/12/31 17:00:50] 少なくとも俺にはまともな批判に見えるがな メジャーじゃない これは立派な不満点だ お前の方が煽りに見える
687 名前:デフォルトの名無しさん mailto:sage [04/12/31 17:02:51] この板もid欲しいな。
688 名前:デフォルトの名無しさん mailto:sage [04/12/31 17:21:29] アンチも信者も評価軸は同一次元上にあるんだよ。 信者は何があろうと持ち上げるし、 アンチはなにがあろうとくさすからな。 どっちも同じくらい間抜けだし邪魔だ。 だがRubyの場合はただ煽りたいだけの馬鹿がいるのよな。 これRubyやmatzのせいか? あとメジャーじゃない点は確かに批判になりうるが、 でもそれはお前、pointy-haired bossじゃねえかよ。
689 名前:デフォルトの名無しさん mailto:sage [04/12/31 17:24:11] まー万人に好かれる物を作るってのは無理だろな ここで叩いてる連中も自分で何か作ったら同じように叩かれるがいいさ。
690 名前:デフォルトの名無しさん mailto:sage [04/12/31 17:29:32] 別に叩かれても全然構わん。 それを見て精進するだけの話。 叩かれたからってファビョるなよな。
691 名前:デフォルトの名無しさん [04/12/31 17:31:18] Ruby!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
692 名前:デフォルトの名無しさん mailto:sage [04/12/31 17:32:06] ここまで強烈なアンチを生み出したことをRubyは誇ってよいぞ。
693 名前:デフォルトの名無しさん mailto:sage [04/12/31 17:36:25] 厨も強烈なので誇っていいぞ。 680 名前:デフォルトの名無しさん 本日のレス 投稿日:04/12/31 16:40:20 このスレいたたたたたたたたた 漏れ儲でもなんでねねぇーけど、ここでRuby批判してる住人は妬みにしかみえねーな 『Windowsでexeが作れない』『自己記述ができない』『マイナーすぎてレンタル鯖で使えない所が多い』・・・ メイジャーになるだけの言語を作れないもしくは作る勇気も技術もない香具師の嫉妬だな そこまでいうおまいらの作った処理系は超クオリティで馬鹿流行するんだろうなw 新言語開発ってのははじめからなんの保障もねぇーんだよ それをさもお客様ヅラして能無しどもが偉そうに素人相手にムキになって評価してやがるイタタタタタタタタ こんなところでネチネチ陰湿に文句いうくらいならさっさとRubyアンインストして忘れろよ 681 名前:デフォルトの名無しさん 本日のレス 投稿日:04/12/31 16:41:49 うかつにRubyのような画期的な言語をつくってしまうと 自意識過剰の能なし共の嫉妬を買うねぇ。 682 名前:デフォルトの名無しさん 本日のレス 投稿日:04/12/31 16:42:26 誰かが結果を出した途端 出し抜かれたというか、ズルい事でもされたような錯覚に陥るんかねぇ。 ありもしない自分の可能性を信じさせられる平等教育の犠牲者はかわいそうだなぁ。 アンチRubyの方々にはまことに同情するよ。 684 名前:デフォルトの名無しさん 本日のレス 投稿日:04/12/31 16:50:37 LarryやGuidoのような才能の無い人間が作った言語が流行るのは、勘違いクンが増えるので良くない。 つか、悪い。もはや悪事。奴等は恥を知れ。
694 名前:デフォルトの名無しさん mailto:sage [04/12/31 17:38:02] Rubyは嫌いじゃないんだが痛い信者が居るのがいやなんだよなぁ。
695 名前:デフォルトの名無しさん mailto:sage [04/12/31 17:46:10] この板で「Ruby最高!Perl,Python,etcはゴミクズ」と煽っているのは同一人物だろ。 Rubyコミュニティが何か他言語に排他的であるかのように印象操作するべく アンチが自作自演を延々と続けているのは見ていて痛々しいな。 彼にとっては2chが全てなんだろう。暇なやつ。
696 名前:デフォルトの名無しさん [04/12/31 17:50:07] def java_like_ruby(a) sync |sock,a| { ... } end
697 名前:デフォルトの名無しさん [04/12/31 18:03:42] //JavaのsynchronizedのよなことをRubyでやりたい def sync_lock(a) yield sync(a); end
698 名前:デフォルトの名無しさん mailto:sage [04/12/31 18:14:25] >>695 根拠も無しに都合の悪い事は全てアンチの仕業にしてるアンタも 見ていて痛々しいぞ。
699 名前:デフォルトの名無しさん mailto:sage [04/12/31 18:15:51] ,_ ,_ ___, _, __OO __ | | r―― 、 _| |_ ,i~| ;――; ,_ _l~l__ | | | | 'ー―i | l^l | | 'ー― ,! | o c!二 二'i | ⊂⊃ | ~ー; ;―○ i二 ニ!i, i"i .| | | 'ー; ;―" |_| | | i`iノノ ,|| | | _, // | 8εi ノ ! | ⊂⊃ | ノ / l~L、 く <フ,ノ i, V ,' | | ,| |_ ,_ノ ノ ノ r'´ ノ ノ | |ノ,ノ | (__ ooooフ ○ヽ 、 | ⊂⊃ | `´i"σ;‐' ノ _ヽ、 > <、| | i"σ;‐' `ー'" ー' `-'’ '-‐'" ゛ー‐' ー'くノ `・’ `――" `ー' `・´ `´ くノ^ヽ´ ー' `ー'
700 名前:デフォルトの名無しさん mailto:sage [04/12/31 18:16:53] ,_, ,_,. ,_, |~| _| |_. | | | | 、__,. iニニ ニニ! _l~l__ ___ ー―; ノ. | L._ | | ゙ー―‐' __(ゝ| |ノ)_ ー;┌―‐' __ `ー―; | _/ <、LL] ,_ | i‐-、>..| | .,、 ー; ・、―’ ,i i'ヽニフ ー- `! // ー・'| |ヽ' __;i |. | | | | ヽー‐‐; i二ノ| |\二l | i i,ー・、 -' ノ | (_ ー’ 'ー ' ´ ー' ~  ̄ ̄ ー' ‐’  ̄~  ̄ ゛ー ' ____ | ,__ _| | ̄| | ̄ ̄ ̄ ̄ ̄ ̄ ̄| | |_| | __| |__, | | ̄ ̄ ̄ ̄ ̄| | | ,__  ̄||__ __| ┌─────┐ | |_____| | | |_| | ̄ | | | ネット ヲ ::.| .:| _____ | | ,__  ̄| i’ 'i, | ナメンナ! ::| .| | :| | | |_| | ̄ i' 'i、 |_________:| :| |_____| | |___ ̄|/ /^ヽ ヽ ヽ( ゚Д゚)ノ .| _____ .| i-ii-ii-ii-i | | / ヽ ヽ ( へ) :| | | | L.iL.!L!L.! | |/ く^\ ヽ ヽ く :| |_____| | ┌――' ,| \ノ ヽ/ .|_______| └─―‐"
701 名前:デフォルトの名無しさん mailto:sage [04/12/31 18:33:46] 最早このスレを破壊したくてやっているとしか思えないな・・・
702 名前:デフォルトの名無しさん mailto:sage [04/12/31 19:25:00] みんなスレたいを見てから書き込んでくれ
703 名前:デフォルトの名無しさん mailto:sage [04/12/31 19:27:43] |ω・`)ソーッ 嵐が収まったようなので質問させて下さい。 boost::spiritでyaccの%left %rightに相当するような 結合・優先順位の設定は可能でしょうか? やはりBNFで表現するしかないのでしょうか
704 名前:デフォルトの名無しさん mailto:sage [04/12/31 19:54:27] ,_ ,_ ___, _, __OO __ | | r―― 、 _| |_ ,i~| ;――; ,_ _l~l__ | | | | 'ー―i | l^l | | 'ー― ,! | o c!二 二'i | ⊂⊃ | ~ー; ;―○ i二 ニ!i, i"i .| | | 'ー; ;―" |_| | | i`iノノ ,|| | | _, // | 8εi ノ ! | ⊂⊃ | ノ / l~L、 く <フ,ノ i, V ,' | | ,| |_ ,_ノ ノ ノ r'´ ノ ノ | |ノ,ノ | (__ ooooフ ○ヽ 、 | ⊂⊃ | `´i"σ;‐' ノ _ヽ、 > <、| | i"σ;‐' `ー'" ー' `-'’ '-‐'" ゛ー‐' ー'くノ `・’ `――" `ー' `・´ `´ くノ^ヽ´ ー' `ー' ,_, ,_,. ,_, |~| _| |_. | | | | 、__,. iニニ ニニ! _l~l__ ___ ー―; ノ. | L._ | | ゙ー―‐' __(ゝ| |ノ)_ ー;┌―‐' __ `ー―; | _/ <、LL] ,_ | i‐-、>..| | .,、 ー; ・、―’ ,i i'ヽニフ ー- `! // ー・'| |ヽ' __;i |. | | | | ヽー‐‐; i二ノ| |\二l | i i,ー・、 -' ノ | (_ ー’ 'ー ' ´ ー' ~  ̄ ̄ ー' ‐’  ̄~  ̄ ゛ー '
705 名前:デフォルトの名無しさん mailto:sage [04/12/31 19:54:48] ____ | ,__ _| | ̄| | ̄ ̄ ̄ ̄ ̄ ̄ ̄| | |_| | __| |__, | | ̄ ̄ ̄ ̄ ̄| | | ,__  ̄||__ __| ┌─────┐ | |_____| | | |_| | ̄ | | | ネット ヲ ::.| .:| _____ | | ,__  ̄| i’ 'i, | ナメンナ! ::| .| | :| | | |_| | ̄ i' 'i、 |_________:| :| |_____| | |___ ̄|/ /^ヽ ヽ ヽ( ゚Д゚)ノ .| _____ .| i-ii-ii-ii-i | | / ヽ ヽ ( へ) :| | | | L.iL.!L!L.! | |/ く^\ ヽ ヽ く :| |_____| | ┌――' ,| \ノ ヽ/ .|_______| └─―‐"
706 名前:デフォルトの名無しさん mailto:このスレ随分クオリティ下がったな [04/12/31 21:06:10] >>703 別にEBNFで表現しても大して難しくないんとちゃうの?
707 名前:デフォルトの名無しさん mailto:sage [04/12/31 23:43:07] >703 マニュアルにはなかったよ。
708 名前: 【270円】 mailto:sage [05/01/01 03:18:11]
709 名前:703 mailto:sage [05/01/01 03:28:14] >>706 ,707 レスdクス。 やはり無いですか… spiritで書くと、正直な所あまり綺麗ではないし分かりづらいので、 行数節約出来るに越したことはないかな、と思ったのですが… おとなしく構文で規定することにします。 クオリティ低い質問でスンマソン(;´Д`)
710 名前:デフォルトの名無しさん mailto:sage [05/01/01 04:45:46] HSPが仕様がクソでそれで作る人が馬鹿でも構わないが、 どの辺がクソか?言うか、もっと良い仕様のスクリプトを作って 公開すれば?
711 名前:デフォルトの名無しさん mailto:sage [05/01/01 05:19:57] > もっと良い仕様のスクリプトを作って 既存のもっと良いものを指摘するだけでも十分でしょ?
712 名前:デフォルトの名無しさん mailto:sage [05/01/01 05:20:29] HSPは自作字句解析+再帰下降自作ですかね? やっぱflex+bison?
713 名前:Rubyist! [05/01/01 11:07:11] 他人の創造的行為に横からごちゃごちゃ口挟めば 自分も何か価値のある行為をしてると勘違い出来る 安っぽいクズが、自分の発言を権威付けしたい欲望に駆られて Ruby叩きの誇大妄想的な発言をしてるだけ。騙される奴はアホー 「じゃあお前がやってみろ」 これは創造的な行為をしてる人間やその作品に対して 足引っ張り以上の価値のないネチョネチョな難癖つけてる頭でっかちに対して、 その身の程を知らせるためにふさわしい切り返しだ。 最低最悪なのはどちらの行為なのかよく考えたらいい。 創造的な領域にまで昇華された批評も「例外的」にあるが、 すくなくともプログラミング言語へのもので 批評家の自意識過剰以外の何かが伝わる 創造的批評なんて、お目にかかったこと滅多にねぇ。
714 名前:Rubyist! [05/01/01 13:48:38] 今は批評に名を借りた単なる誹謗中傷にしか過ぎないシロモノが幅を利かせ過ぎな面があるって事だろうな。 批評本来の価値を貶めるようなものがね。 批評は創作に比較すれば容易に参加できるから、批評家の本質自体を問われやすい。 批評家は利害・好悪を離れたところの公正さやそれを機能させる自制心が必要だが、今の批評家には欠けてるって事だな。 本来の価値の高い批評を操れるにふさわしい批評家が増えて欲しいね。
715 名前:デフォルトの名無しさん mailto:sage [05/01/01 13:52:52] >>713 じゃあお前が批評してみろ
716 名前:デフォルトの名無しさん mailto:sage [05/01/01 13:54:54] 俺が批判してやろう
717 名前:デフォルトの名無しさん mailto:sage [05/01/01 14:27:42] ∩___∩ | ノ ヽ / ● ● | | //// ( _●_) ミ 彡、 ヽ(⌒ヽ/ Ruby、プッ / __ \ ヽ (___) / `ー‐'
718 名前:デフォルトの名無しさん mailto:sage [05/01/01 16:05:18] Ruby厨に「じゃあ、Rubyの良い所を挙げてみろ」と言うとだんまりになってしまうのが面白くてしかないwww
719 名前:Rubyist! mailto:sage [05/01/01 16:18:21] ↑コピペつまんね。OHP見ろ。 作品として公開されたものが批評されるのは当たり前の事だが、 批評する以前の問題(サンプルを見ただけ、もしくはインストールすらしない、とか。まあ大抵のUNIXには入ってるけどなw 窓厨には敷居が高いかもしれん(pu)な奴が多すぎだ。 食わず嫌いに「批評」はできるのかと。
720 名前:デフォルトの名無しさん mailto:sage [05/01/01 16:21:01] 少しはマトモな議論に戻ろうぜ ・Rubyの(言語としての)メリット - オブジェクト指向の皮を被ったマルチパラダイム - プロトタイプベースチックなクラスベース(特異クラス・メソッド) -> 高い柔軟性を持つ - 充実したシンタックスシュガー ・デメリット - 実行パフォーマンスが悪い。スピード求めるならC&C++で。 - 作者(matz)が保守的すぎて新しいパラダイムを受け付けなくなっている。 - 構文が複雑。シンプル化も進まない。 (シンタックスシュガーが充実している反面でもあるけど) かねえ。Ruby2.0でどうなるかだけど、進退窮まっている感じがするよね。
721 名前:デフォルトの名無しさん mailto:sage [05/01/01 16:55:52] >>719 アンタの意見も根拠の無い妄想ばかりでつまらんのだけど。
722 名前:デフォルトの名無しさん mailto:sage [05/01/01 18:04:37] HSP vs Ruby論争はこっちでやれ 言語仕様と開発論法 pc5.2ch.net/test/read.cgi/tech/1104394930/
723 名前:デフォルトの名無しさん mailto:sage [05/01/01 18:21:35] むしろここでやれ HSP vs Ruby pc5.2ch.net/test/read.cgi/tech/1104571259/
724 名前:デフォルトの名無しさん mailto:sage [05/01/01 18:24:57] いやここでやれ
725 名前:デフォルトの名無しさん mailto:sage [05/01/01 18:27:58] ここもあるよ 【因縁の】DelphiVSHSPVSRuby【対決】 pc5.2ch.net/test/read.cgi/tech/1101498622/
726 名前:デフォルトの名無しさん mailto:sage [05/01/01 18:28:39] ワロタwwwwwwwww HSP厨もRuby厨も頭悪すぎwwwwwwwwww
727 名前:デフォルトの名無しさん mailto:sage [05/01/01 21:12:29] >>726 HSP厨のアホさ加減は半端無いよなw
728 名前:デフォルトの名無しさん [05/01/01 21:41:57] >>727 よくこういった書き込みみるけど、具体的な内容を指摘したものは いまだかつて1度もないw
729 名前:デフォルトの名無しさん mailto:sage [05/01/01 21:56:12] 今時あんなBASIC風の古臭い言語が流行ってるのは 日本にとってかなりマイナスだと思う。
730 名前:デフォルトの名無しさん mailto:sage [05/01/01 23:11:00] >>729 他の国のプログラマはオブジェクト指向言語から始めてるのかい?
731 名前:デフォルトの名無しさん mailto:sage [05/01/02 00:45:30] 無難にC/C++から始めてると思う。 スクリプトならPython+SDLのPygameとか。 ttp://www.pygame.org/projects/
732 名前:デフォルトの名無しさん mailto:sage [05/01/02 01:03:25] これで日本と海外のソフトウェア開発力の違いの原因が良く分かりましたね
733 名前:デフォルトの名無しさん [05/01/02 01:07:51] 初めての言語なんてその後ちゃんとオブジェクト指向を学べば関係ないだろ N88BASICから始めた俺にはかなり不愉快
734 名前:デフォルトの名無しさん mailto:sage [05/01/02 01:14:47] このスレでくだらん論争してる奴が馬鹿なのは間違いないな。
735 名前:デフォルトの名無しさん mailto:sage [05/01/02 01:19:40] >>733 それはそういう時代だったからだろ。 俺も最初の言語はBASICだったし。 でも今あえてBASICみたいな言語から始める理由は無いと思うが。 HSPもCも覚える労力はそんなに差はないでしょ。
736 名前:デフォルトの名無しさん [05/01/02 01:34:28] 最初に何を覚えようがその後覚える技術は本人次第でいくらでも覚えられる 最初がCだろうがHSPだろうが関係ない
737 名前:デフォルトの名無しさん mailto:sage [05/01/02 01:48:59] インタプリタなC++がいいってこったね('A`)
738 名前:デフォルトの名無しさん mailto:sage [05/01/02 01:55:44] 話は変わりますがparrotってどうですか?
739 名前:デフォルトの名無しさん mailto:sage [05/01/02 01:58:27] Perl6のランタイムのこと?
740 名前:デフォルトの名無しさん mailto:sage [05/01/02 02:00:21] Rubyなんてプッて感じ。 ブロック扱うためにイテレータとか言って特殊構文導入しちゃって必死すぎw それでも全然自己記述出来ないのな。Lispには遠く及ばないな。 Smalltalkの統一性にも全然及ばないwww ユーザーも各スレ荒らしまくって最悪だしな。
741 名前:738 mailto:sage [05/01/02 02:02:43] >>739 そうです。 なんか、「他の言語からも使ってもいいよ」みたいなことが書いてあったので、 どんなもんかなと思ったんですが。
742 名前:デフォルトの名無しさん mailto:sage [05/01/02 02:10:32] >>741 不勉強にして知らなかったからちょっと調べてみた。 www.namikilab.tuat.ac.jp/~sasada/prog/parrot-intro.html とりあえずPerl用に作られたVMなんすね。 この種のものってJVMじゃダメなのかな… 面白そうなのでもうちょっと調べてみます。いい拾い物をしたw
743 名前:デフォルトの名無しさん mailto:sage [05/01/02 02:15:44] > 現在の Perl 5 の VM はスタックマシンだ(訳注:そうだったんだー) そうだったんだ…
744 名前:デフォルトの名無しさん mailto:sage [05/01/02 02:24:49] >print "String" とか、レジスタの値を表示するためにprint I3 とか、書けるけど、 >Parrot の演算は多態(polymorphic)ではない。 >アセンブラがちょっとトリッキーなことやって対応してる。 こういう変なHack入れるとグダグダになりそうな気がするんだけどなあ…
745 名前:デフォルトの名無しさん mailto:sage [05/01/02 02:29:59] >>744 ただオペランドの種類で命令をリダイレクトしてるだけとちゃうの? その程度ならさほど問題にはならなそうだけど
746 名前:デフォルトの名無しさん mailto:sage [05/01/02 02:32:17] >>745 うん、ちょっと読み進めたらまさにそう書いてあったorz
747 名前:738 mailto:sage [05/01/02 02:41:58] www.parrotcode.org/ 俺の受けた印象では、Groovyとか、違う言語からJavaバイトコードを 使おうってのとか、.NETのCLRとかも含めて、そういう ものと似た動きに見えるんですがどうですか? ならまじめに勉強して損はないかなと思うんですが。 最近そういう動きが盛んだな…
748 名前:デフォルトの名無しさん mailto:sage [05/01/02 03:01:23] アプリケーションからハードは一切触らない、みたいな。それこそ 単純な加算などでさえも。
749 名前:デフォルトの名無しさん mailto:sage [05/01/02 03:05:37] Parrot入れてみたんだが、SDLも既にバインドされてたりするのね…
750 名前:デフォルトの名無しさん mailto:sage [05/01/02 03:10:26] これって出て来た? www.namikilab.tuat.ac.jp/~sasada/prog/parrot-intro.html
751 名前:デフォルトの名無しさん mailto:sage [05/01/02 04:31:04] >>750 >>742
752 名前:デフォルトの名無しさん mailto:sage [05/01/02 12:50:19] C/C++で日本語プログラム作らないんだな、
753 名前:デフォルトの名無しさん mailto:sage [05/01/02 12:53:20] 、
754 名前:デフォルトの名無しさん mailto:sage [05/01/02 14:53:29] parrotなんか糞 perl6はrubyの劣化コピー
755 名前:デフォルトの名無しさん mailto:sage [05/01/02 16:27:28] Parser を正しく発音すると「パーサー」「パーザー」のどっち?
756 名前:デフォルトの名無しさん mailto:sage [05/01/02 16:31:55] 米語発音がパーサー。どっちも正しい
757 名前:デフォルトの名無しさん mailto:sage [05/01/02 16:33:18] >755 dictionary.goo.ne.jp/search.php?MT=parse&kind=ej&mode=0&base=1&row=0
758 名前:デフォルトの名無しさん mailto:sage [05/01/02 17:24:33] pythonの言語仕様は素晴らしいと思う。
759 名前:デフォルトの名無しさん mailto:sage [05/01/02 18:26:43] >>758 言語仕様と開発論法 pc5.2ch.net/test/read.cgi/tech/1104394930/ こちらへどうぞ
760 名前:デフォルトの名無しさん mailto:sage [05/01/02 19:30:46] >>747 流行ってるわけでも無いVMの勉強って 損得で言ったらどっちになるか微妙だとおもうぞ。
761 名前:デフォルトの名無しさん mailto:sage [05/01/02 22:03:31] コンパイラ作る練習にいいかも
762 名前:デフォルトの名無しさん mailto:sage [05/01/02 22:40:11] >>754 つInline::Ruby
763 名前:デフォルトの名無しさん mailto:sage [05/01/03 11:29:03] >>760 やっぱ、やるならjavaのVMでつか?
764 名前:デフォルトの名無しさん mailto:sage [05/01/03 16:44:26] どういう目的でVMの勉強したいのかわからんが とりあえずJavaが無難じゃない?
765 名前:デフォルトの名無しさん mailto:sage [05/01/03 17:25:44] いきなりJVMやるならアセンブラでも覚えたほうがいい
766 名前:デフォルトの名無しさん mailto:sage [05/01/03 17:44:32] ここはやるスレじゃなくて作るスレなんで
767 名前:デフォルトの名無しさん mailto:sage [05/01/03 18:22:40] 作る前にやらんと意味わからん
768 名前:デフォルトの名無しさん mailto:sage [05/01/03 18:23:39] そらそうだ
769 名前:デフォルトの名無しさん mailto:sage [05/01/03 18:30:47] ここは作るスレじゃなくて相談室なんで
770 名前:デフォルトの名無しさん mailto:sage [05/01/03 19:58:29] おまいら会話がエロすぎます。
771 名前:デフォルトの名無しさん mailto:sage [05/01/03 21:26:12] 作っちゃった時の相談もここ?
772 名前:デフォルトの名無しさん [05/01/04 01:09:27] VBやDelphiなどの言語のコンパイラを 勝手に作ったら特許とかに引っかかりますかね?
773 名前:デフォルトの名無しさん mailto:sage [05/01/04 01:10:53] >>772 先ず作ってから心配しろ。
774 名前:デフォルトの名無しさん mailto:sage [05/01/04 01:11:52] >>773 作った後に駄目だったらキツイでしょ?
775 名前:デフォルトの名無しさん mailto:sage [05/01/04 01:29:06] >>772 A.言語仕様自体は特許にならないから大丈夫。 ただし、付属しているライブラリは特許・著作権で保護されるので そっちの回避法を考えておかないと駄目。
776 名前:デフォルトの名無しさん [05/01/04 01:37:27] 質問です。 コンパイラ本に良く載ってる実行時環境(スタックマシンとかレジスタマシンとか)っていうのは 何のためにあるんですか?最適化をしやすくするため? 実行時環境とか用意しなくても直接構文木を記号表と照らし合わせながら 実行コードに変換していく様な事はできないんですか?
777 名前:デフォルトの名無しさん mailto:sage [05/01/04 02:16:26] ↑自己解決しました。勘違いでした。
778 名前:デフォルトの名無しさん [05/01/04 02:23:09] HSPくらいの言語なら簡単に作れますか?
779 名前:デフォルトの名無しさん mailto:sage [05/01/04 02:24:06] >>778 あなたには無理です
780 名前:デフォルトの名無しさん mailto:sage [05/01/04 02:24:16] 最適化をあまり気にしなければ。
781 名前:デフォルトの名無しさん mailto:sage [05/01/04 02:26:11] >>776 ただ単純に説明を楽にするためじゃないの? 「勘違いでした」って何を?
782 名前:デフォルトの名無しさん mailto:sage [05/01/04 06:04:48] >>781 仮想マシンのスタックマシンと、CとかPascalのスタックベースメモリ割り当てを勘違いしてました。
783 名前:デフォルトの名無しさん mailto:sage [05/01/04 11:38:53] >>775 ありがとうございます。 とりあえず勉強を兼ねてVBコンパイラ作ってみます。
784 名前:デフォルトの名無しさん mailto:sage [05/01/04 16:17:36] LSI C-86 試食版 で、コンパイラをつくってみよ〜
785 名前:デフォルトの名無しさん [05/01/04 20:40:08] 質問させていただきます。 bnfを使って出来ることって字句解析、構文解析までですよね? 意味解析、中間コード生成までを定義できるようなbnfにしたいのですが、 そのような拡張がされたbnfの構文というのはあるのでしょうか?
786 名前:デフォルトの名無しさん mailto:sage [05/01/04 20:54:45] >>785 とりあえず属性文法を学ぶのが良いと思う。
787 名前:デフォルトの名無しさん mailto:sage [05/01/04 21:31:27] >>785 わりと参考になった本を紹介しときます。(関係者じゃないですよ、念のため。) www.amazon.co.jp/exec/obidos/ASIN/4320027981/249-0278157-3285121
788 名前:デフォルトの名無しさん mailto:sage [05/01/04 21:57:33] Rie 属性文法 ftp://ftp.is.titech.ac.jp/pub/Rie/
789 名前:デフォルトの名無しさん mailto:sage [05/01/05 05:27:11] なるほど属性文法ですか。 手元の本でちょっと調べてみましたが 意味解析以降は格段に難易度上がりますね。 ちょー難い!
790 名前:デフォルトの名無しさん mailto:sage [05/01/05 06:15:19] 属性文法(((( ;゚Д゚)))
791 名前:デフォルトの名無しさん mailto:sage [05/01/05 22:42:48] 普通は、構文解析以降は手書きじゃ???
792 名前:デフォルトの名無しさん mailto:sage [05/01/05 22:57:49] 何が普通なんだか…
793 名前:デフォルトの名無しさん mailto:sage [05/01/05 23:24:54] >>791 つまり、bnfのような定義ファイルにはできないってこと?
794 名前:デフォルトの名無しさん mailto:sage [05/01/05 23:33:32] すぐ上にあんじゃねーか
795 名前:デフォルトの名無しさん [05/01/05 23:45:45] YACCに限界を感じて、そろそろというプロジェクトはいくつかあるが、 パーサ手書きというのは、実用的なソフトではほとんどナイ。
796 名前:デフォルトの名無しさん mailto:sage [05/01/05 23:55:10] >>794 属性文法の書式を例を踏まえて教えれ。
797 名前:デフォルトの名無しさん mailto:sage [05/01/06 00:05:13] >>795 最近のgccは手書き。 次期rubyも手書きの予定。
798 名前:デフォルトの名無しさん mailto:sage [05/01/06 00:16:18] >>794 ftp://ftp.is.titech.ac.jp/pub/Rie/more-examples/pascal-S/pascal-S.rie
799 名前:デフォルトの名無しさん mailto:sage [05/01/06 00:39:55] 属性文法使ってる処理系なんて聞いたことないぞ。 lexやyaccまでなら聞くけど。 構文解析以降は手書きじゃないか?
800 名前:デフォルトの名無しさん mailto:sage [05/01/06 00:48:02] 日本語の不自由な方がおらっしゃられるようです
801 名前:デフォルトの名無しさん mailto:sage [05/01/06 01:02:19] Rieくらいは聞いたことあるんじゃないか?市販の製品に使われたって 言うのは聞かないけれども。
802 名前:デフォルトの名無しさん mailto:sage [05/01/06 01:04:04] 藻前らはコンパイラ作って市販するつもりなのか?
803 名前:デフォルトの名無しさん mailto:sage [05/01/06 01:05:07] コンパイラ屋くらいだろうな、そんなことするの。
804 名前:デフォルトの名無しさん mailto:sage [05/01/06 01:05:50] 理恵タソ(;´Д`)ハァハァ
805 名前:デフォルトの名無しさん mailto:sage [05/01/06 08:04:07] 現場ではどうなのかわからないけれども、最適化ステージと コードジェネレータを全部手書きってのは無いんじゃないかなあ。 最適化とコードジェネレーションについては、 Muchnick: Advanced Compiler Design & Implementation, Morgan Kaufmann, 1997 が実践的で参考になった。
806 名前:デフォルトの名無しさん mailto:sage [05/01/06 09:29:25] カウフマンつーとサイレントヒルだな 医者。仮眠明けで起きると誰も居ないでモンスターだらけと説明。
807 名前:デフォルトの名無しさん mailto:sage [05/01/06 10:46:42] コンパイラ作る時のお勧めの中間コードは何ですか?
808 名前:デフォルトの名無しさん mailto:sage [05/01/06 11:00:29] 中間コード? 1パスにそんなもん必要ない
809 名前:デフォルトの名無しさん mailto:sage [05/01/06 11:04:20] 1パスでレジスタ割り当てとかの最適化まで出来るのですか?
810 名前:デフォルトの名無しさん mailto:sage [05/01/06 14:17:14] どんな最適化を実装するつもりか自分でわかっているなら、 おのずと適切な中間コードもわかるはず。それが分かっていない >>807 にはどうせ非最適化コンパイラも作れない罠。
811 名前:デフォルトの名無しさん [05/01/06 22:54:47] 上の張ってある書籍ですが、読む順番はあるんですか? ちなみに私は、Cをはじめてまだ1ヶ月です。
812 名前:デフォルトの名無しさん mailto:sage [05/01/06 22:56:16] >>811 プログラミングを初めて1ヶ月?
813 名前:デフォルトの名無しさん mailto:sage [05/01/06 22:57:10] 先にCを完全にマスターして下さい。 どの本も何らかのプログラミング言語をマスターしている事を前提に書かれてます。
814 名前:デフォルトの名無しさん [05/01/06 23:15:09] Cマガでコンパイラの特集が組まれてたのって何年何月号だか ご存知の方いらっしゃいますか?
815 名前:デフォルトの名無しさん [05/01/06 23:33:05] >812 そうです。 >813 マスターですか。。。。 K&Rがスラスラ読めるレベルでしょうか? 頑張ります。
816 名前:デフォルトの名無しさん mailto:sage [05/01/06 23:44:02] >>814 手持ちでは…2003年8月号に 「コンパイラの仕組みを理解しよう」って特集があるけど、 そこまで突っ込んでは書いてない。
817 名前:デフォルトの名無しさん mailto:sage [05/01/07 00:05:22] >>816 情報ありがとうございます。 私の手持ちで2003年1月号に「コンパイラの作成」 というそのものズバリの物がありました。
818 名前:デフォルトの名無しさん mailto:sage [05/01/07 00:07:54] >>817 見事にその号が抜けてる orz どのあたりまで書いてありますか?
819 名前:デフォルトの名無しさん mailto:sage [05/01/07 00:52:08] Cマガの特集レベルなんてたかが知れてる 昔のインターフェース誌は濃かったなあ
820 名前:デフォルトの名無しさん mailto:sage [05/01/07 00:55:04] インターフェースもCマガみたくバックナンバーをPDFにして売ってくれたりしないのかなぁ
821 名前:デフォルトの名無しさん mailto:sage [05/01/07 01:02:21] >>820 しているじゃないか。
822 名前:デフォルトの名無しさん mailto:sage [05/01/07 01:12:37] >>821 うお、知らなかった…_| ̄|○ 01年までですか…。90年代のやつがもう一度読みたいんだけどなぁ
823 名前:デフォルトの名無しさん mailto:sage [05/01/07 12:44:16] >>818 字句解析、構文解析、意味解析、コード生成までが 非常に分かりやすく書かれてます。 20ページくらいでソース付きです。
824 名前:デフォルトの名無しさん mailto:sage [05/01/07 14:43:10] >822 ttp://www.sbpnet.jp/shop/art.asp?newsid=1403
825 名前:824 mailto:sage [05/01/07 14:44:52] ごめん、インタフェースも、か。読み間違えた。
826 名前:デフォルトの名無しさん mailto:sage [05/01/07 17:31:22] www.csg.is.titech.ac.jp/~chiba/lecture/os/index.html
827 名前:デフォルトの名無しさん [05/01/08 03:28:16] ●プログラミング言語処理系 岩波講座 ソフトウェア科学〈5〉 佐々 政孝 上記の本を買おうと思ったら、中身パスカルだったぞ。 他のコンパイラの本もパスカル+Cって内容だった。 Cのみの本はないのか?
828 名前:デフォルトの名無しさん mailto:sage [05/01/08 03:32:21] >>827 その本俺も持ってるし、俺はCしか書けないけど、大体読めるから自分で 書き直せるっしょ。元々そういう意図があるから複数の言語で書いてないん じゃないの?
829 名前:デフォルトの名無しさん mailto:sage [05/01/08 07:40:38] >827 なぜCのみである必要が? パスカルのみでも読めるでしょ 逆に読めないなら問題
830 名前:デフォルトの名無しさん mailto:sage [05/01/08 16:25:31] 今の人には読めない読めない 無理も無い パシカル本は今の本屋にどこにも置いてないからね もしCより簡単だと言われても敬遠するだろう パスカルで書かれているという事は大抵古い本で、 ポインタ記法とか本ごとに違ってたりするし 構文なのか演算子なのかわからない物もある .の置き方に一貫性ないし 読んでもただ、混乱するだけである
831 名前:デフォルトの名無しさん mailto:sage [05/01/08 16:31:00] Pascalの方が綺麗でしょ。 Cみたいにメモリ周りの汚さはなくて、純粋にアルゴリズムを記述しやすい。
832 名前:デフォルトの名無しさん mailto:sage [05/01/08 16:39:23] 綺麗・汚いの話をしてるわけではない
833 名前:デフォルトの名無しさん mailto:sage [05/01/08 16:43:55] >>832 綺麗なら読みやすいだろう。 言語を覚えるコストよりもソースを読み解いたり書いたりするコストの方が遥かに高い。
834 名前:デフォルトの名無しさん mailto:sage [05/01/08 17:13:11] 読みやすさの話をしてるわけではない 綺麗ならSchemeの方が良い
835 名前:デフォルトの名無しさん mailto:sage [05/01/08 17:17:09] >>834 では何の話なの?わかりやすく教えて。
836 名前:デフォルトの名無しさん mailto:sage [05/01/08 17:18:18] 本がないという理由なら、WEB上のリソースでも十分だけど。
837 名前:デフォルトの名無しさん mailto:sage [05/01/08 17:32:26] なぞなぞです
838 名前:デフォルトの名無しさん mailto:sage [05/01/08 17:36:59] >>834 関数型言語と手続き型言語では、さすがにプログラミングの定石からして 全く違うだろ。 記法が書籍毎に異なるなんてのは、良くある話。コンパイラ系の書籍だと BNF 記法が良く出てくるが、あれも書籍毎に微妙に違ったりするし。その あたりを自分で吸収できないようだと、専門書と取り組むのは難しい。
839 名前:デフォルトの名無しさん mailto:sage [05/01/08 18:10:28] 記法が多少違うなんてのはコンピュータに限らず、 大学で勉強すれば大抵でくわす話。
840 名前:デフォルトの名無しさん mailto:sage [05/01/09 09:13:32] >>829 それはあんたはすでにパスカルを知っているから。 またはあんたが十分かしこいから。 よのなかの人間はあんたほど賢くないんだよ。 >>830 はげどう。 Javaが広まった理由のひとつが、「CやC++と見た目が似てるから」。 そのくらい、自分の知ってる言語に似ているかどうかは重要。かしこくない人間にとっては。
841 名前:デフォルトの名無しさん mailto:sage [05/01/09 09:53:52] pascalライクな擬似コードくらい読めるだろ普通。 ま、おまいが読めなかったとしても CSを志すような人間は大抵おまいより賢いから心配ご無用。 少なくともそんなつまらん理由で萎縮しない程度にはな。
842 名前:デフォルトの名無しさん mailto:sage [05/01/09 10:25:49] >>840 のように賢くない人間はコンパイラなんか書くなということだな。
843 名前:デフォルトの名無しさん mailto:sage [05/01/09 10:43:32] 大丈夫、そんな人間に自力でコンパイラなんて書けない。 時間の無駄を省けていいじゃん。 大学入試の足切りみたいなもんだと思え(入ったってついてけない奴もいるが)。
844 名前:デフォルトの名無しさん mailto:sage [05/01/09 11:46:44] 真面目な話の途中で申し訳ないんだけど、parrot って結構良いね。 これをターゲットにコンパイラ書いたら面白そう(楽出来そう)。 www.parrotcode.org/docs/
845 名前:デフォルトの名無しさん mailto:sage [05/01/09 11:50:24] Javaの二番煎じ
846 名前:デフォルトの名無しさん mailto:sage [05/01/09 11:59:39] JVM や CLR の系列だろうけど、ベンダーフリーでライセンスも緩いから使い易いと思う。
847 名前:デフォルトの名無しさん mailto:sage [05/01/09 12:31:33] 結構早いしな
848 名前:デフォルトの名無しさん mailto:sage [05/01/09 12:34:28] てかParrot自体はちゃんと動くのか? 作ってもParrotのバグのせいでまともに動かなかったら悲しいぞ。
849 名前:デフォルトの名無しさん mailto:sage [05/01/09 13:31:32] Ruby >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Parrot でかい顔するなぼけ 糞ぺrぇrはしね
850 名前:デフォルトの名無しさん [05/01/09 20:42:58] 字句解析でコードをトークン列にする際に、 if、forなどのキーワードは「keyword」という大きな 括りにするのと、それぞれ「keyword_if」、「keyword_for」 などのように細かく分けるのとどちらがよろしいでしょうか?
851 名前:デフォルトの名無しさん mailto:sage [05/01/09 20:49:53] 構文解析で必要な方。
852 名前:デフォルトの名無しさん mailto:sage [05/01/09 21:45:12] >>850 作りたい言語似よるが、C や Pascal ライクな言語を作りたければ 後者の方が楽。
853 名前:デフォルトの名無しさん [05/01/10 02:02:26] 洗練されたPerl: Perl 6文法と正規表現 www-6.ibm.com/jp/developerworks/linux/041203/j_l-cpregex.html
854 名前:デフォルトの名無しさん [05/01/10 02:08:04] Win32コンソール形式の実行ファイルを作りたいのですが 参考になるページはありませんか? A := B + C GOTO(L) のような3番地文の中間コード形式の出力までは出来ています。
855 名前:デフォルトの名無しさん mailto:sage [05/01/10 02:39:22] >>854 >>826
856 名前:デフォルトの名無しさん [05/01/10 09:03:09] >854 x86ならnasmのinfoやIntelのwebサイト、 exeならPE形式、 実際の実装方法はgccのソース を見ろよ
857 名前:デフォルトの名無しさん [05/01/10 23:52:39] スモールコンパイラ買って着た。 結構美人
858 名前:デフォルトの名無しさん mailto:sage [05/01/11 19:31:43] オライリyacc本が初売り在庫処分で100円だったので買ってしまった。 かなりすすけてるよ(´・ω・`) 読んでみますか。
859 名前:デフォルトの名無しさん mailto:sage [05/01/11 23:06:22] ほ、欲しかった
860 名前:デフォルトの名無しさん [05/01/13 20:23:21] 構文解析ではよく構文木を作るって言うけど、 プログラムのデータとしてはどのように持てばいいのでしょうか?
861 名前:デフォルトの名無しさん mailto:sage [05/01/13 20:36:53] リスト(木のノードも含む)とか配列じゃないかね。 LISPの場合はコードがそのまんま構文木なんだよな。 LISPに慣れてるならLISPと同じ構造を目指すとよい。 でもLISPのセルは普通の言語だとGCないから扱いにくい。
862 名前:デフォルトの名無しさん mailto:sage [05/01/13 20:48:38] a = (b[0] + 2) * 3; だったら、 root | assign / \ a | mul / \ | 3 add / \ | 1 | array_ref / \ b 0 LISPのS式で表現すると (assign a (mul (add (array_ref b 0) 1) 3)) S式は木のデバッグに都合がいい gccの内部表現もそうだったかと
863 名前:デフォルトの名無しさん mailto:sage [05/01/13 20:52:15] 型やシンボルの属性情報はどうしてます?
864 名前:デフォルトの名無しさん mailto:sage [05/01/13 21:06:58] 記号表で別管理
865 名前:デフォルトの名無しさん mailto:sage [05/01/13 21:13:32] (´・∀・`)ヘー
866 名前:デフォルトの名無しさん [05/01/13 23:45:42] treeなんて意識しなくても大丈夫だよ。 あれはあくまでも学問。実務はパーサがやってくれる。
867 名前:デフォルトの名無しさん mailto:sage [05/01/14 00:20:49] >>866 構文解析して即コードに落としちゃう場合はともかく、もう一ステージ挟む場合 (最適化するとか)は、いちど明示的にツリー作る必要があるよ。
868 名前:860 mailto:sage [05/01/14 00:39:11] >>861-862 で なんとなく考えが具現化してきました。 ただ今一分からないのが、字句解析で得たトークンを 構文解析でtree構造のデータとして持つとして それを後の意味解析でどのように使うのでしょうか?
869 名前:デフォルトの名無しさん mailto:sage [05/01/14 00:43:25] >>868 単純な最適化だと add / \ 2 1 ってツリーがあったら、コンパイル時に計算して 3 に置き換えちゃうとか。
870 名前:デフォルトの名無しさん mailto:sage [05/01/14 01:03:05] データフロー解析をする時は、ツリーを3つ組表現すると楽かも
871 名前:デフォルトの名無しさん mailto:sage [05/01/14 08:43:21] >>869 のような定数伝播ぐらいなら1パスでもできる ただし1 + a + 2とかをa + 3にはできない 1 + aを読み終えた時点の出力を保留する様な仕組みは もはや2パスとみなせるし、そこまでするなら木を作った方がいい
872 名前:デフォルトの名無しさん [05/01/14 13:00:57] 自分の自作言語でC言語の構造体のアラインメントを エミュレートしたいのですが、メンバオフセットの決め方がよくわかりません。 例えば#pragma pack(4)のとき、 typedef struct { int a; // offset 0 char b[1]; // offset 4 int c; // offset 8 } X; となるのはいいんですが、 typedef struct { int a; // offset 0 char b[1]; // offset 4 short c; // offset 6 short d; // offset 8 int e; // offset 12 } Y; shortが offset=6になる理屈がわかりません。 これは暗黙的にwordのアラインメントも働いているということでしょうか?
873 名前:デフォルトの名無しさん mailto:sage [05/01/14 14:02:03] >>872 かなり複雑だよ typedef struct { char c[1]; short s; char cc[1]; } C; これのsizeof(C)は6。 Cのアラインメントはshortを持つので2になる。 これをメンバに持つ構造体を作るとわかる。 typedef struct { C c[3]; }CC; これで sizeof(CC) すると 18。 次に typedef struct { char c[1]; short s; char cc[1]; int i; } D; これのsizeof(C)は12。 んで、アラインメントはintを含んでるので4。 typedef struct { D d[3]; }DD; sizeof(DD) => 36 つまり構造体はその中のメンバの基本型のサイズが関係する 例えばcharしか持たない構造体はアラインメントが1になる
874 名前:デフォルトの名無しさん [05/01/14 16:10:43] >>873 仰るとおり理解するのが大変でした。 アラインメント指定された値は、あくまでもその大きさの型が出現した ときに影響するってことで、それ以下のサイズについても アラインメント指定された値以下であれば位置調整をしなくてはならない ということですかね。 > 例えばcharしか持たない構造体はアラインメントが1になる この言葉でようやくわかりました。 構造体を外から見るだけじゃなくて、その中の基本型まで遡って 把握しないと作れませんね。 お答えありがとうございました。
875 名前:デフォルトの名無しさん mailto:sage [05/01/14 18:45:57] 難しいね。 λ...... λ...... λ...... λ...... λ......
876 名前:デフォルトの名無しさん [05/01/14 19:52:58] 名前の分からないライブラリ関数を、動的に与えられた名前を用いて コールすることとかって出来ますか?
877 名前:デフォルトの名無しさん mailto:sage [05/01/14 19:54:21] アドレスが分かればできるよ
878 名前:デフォルトの名無しさん mailto:sage [05/01/15 00:43:44] ld
879 名前:デフォルトの名無しさん mailto:sage [05/01/15 09:18:20] 興味があったのでアラインメントの計算を考えてみました。 構造体が typedef struct { char a; // 1byte int b; // 4byte char c; // 1byte double d; // 8byte } C; とすると、 #define N 4 // 構造体メンバ数 int member_size[N] = { 1, 4, 1, 8, }; // 各メンバのサイズ(構造体Cの場合) int member_offset[N]; // メンバのオフセット(求める値) #define PACK 2 // #pragma pack() への指定サイズ member_offset[0] = 0; // 1個目のメンバのオフセットは0固定 int pos = 0; // 次のメンバを置くことができる位置 pos += member_size[0]; // 1個目のメンバのサイズ分すすめる for(int i = 1; i < N; ++i){ int size = member_size[i]; /* 次のメンバのオフセットをoffsetとすると、 offset >= pos; offset >= min(PACK * n, size * m); // n, mは0, 1, 2... */ int n = (pos + (PACK - 1)) / PACK; int m = (pos + (size - 1)) / size; int offset = min(PACK * n, size * m); member_offset[i] = offset; pos = offset + size; // 次のメンバを置ける位置を再計算 }
880 名前:デフォルトの名無しさん [05/01/15 11:23:28] 言語処理って文型向きでしょうか?理系向きでしょうか?
881 名前:デフォルトの名無しさん mailto:sage [05/01/15 11:27:32] 玄人向き
882 名前:デフォルトの名無しさん mailto:sage [05/01/15 11:28:11] よくわからんが、構造体がネストしてたらそれを再帰的にやるんだろう。 Cの型定義をパースしてサイズやオフセットを返すだけの モジュールでも作れば需要ありそうだな。 C言語作ってるならともかく、自作言語のFFI周りの作成とかでは 誰もがやりたくない部分の1つだし。
883 名前:デフォルトの名無しさん mailto:sage [05/01/15 11:30:26] >>880 理系崩れ向き
884 名前:デフォルトの名無しさん mailto:sage [05/01/15 11:32:42] >>880 廃人ムキ!
885 名前:デフォルトの名無しさん [05/01/15 13:05:54] >>882 既存のC処理系にあわせなければならないなら offsetofやsizeofを表示するプログラムを生成して Cコンパイラにやらせるのが楽そうだな。どうせ どう配置されるかなんて処理系依存なんだし、 いちいち調べるのはかったるい。
886 名前:デフォルトの名無しさん mailto:sage [05/01/15 14:07:25] 構造体のアラインメントの話、結構興味深いね。 久々のヒット、トンクス。
887 名前:デフォルトの名無しさん mailto:sage [05/01/15 14:10:17] 質問ですが、言語処理系の仕事って年収どれぐらいもらえるのでしょうか? もちろん、条件によりさまざまだと思いますが、 平均的な所を知りたく思います。 お金の話は、禁句かもしれまえんが、 生活が出来ての仕事だと思います。
888 名前:デフォルトの名無しさん mailto:sage [05/01/15 14:29:32] 「『言語処理系』の仕事」って業種があるのですか? 私は寡聞にして聞かない。
889 名前:デフォルトの名無しさん mailto:sage [05/01/15 14:38:52] >>887 実際に、応募してみれば良いじゃん。
890 名前:デフォルトの名無しさん mailto:sage [05/01/15 14:40:29] 俺の”コンパイラ屋” 想像図↓ ┌─┐ |コ.| |ン | │パ│ │ゐ│ │ラ .| │屋 .| │ !!.│ └─┤ ∧∧ │ ( `Д) | ̄ ̄ ̄|─□( ヽ┐U  ̄◎ ̄ ◎−>┘◎
891 名前:デフォルトの名無しさん mailto:sage [05/01/15 15:03:15] まあ実際そんなもんだ
892 名前:デフォルトの名無しさん mailto:sage [05/01/15 15:03:25] 流しのコンパイラ屋や一匹狼のコンパイラ屋なんて聞かないから メーカーのコンパイラ開発部門の社員に過ぎないだろうよ。 サラリーマンとして給料をもらうだけ。
893 名前:デフォルトの名無しさん mailto:sage [05/01/15 15:05:29] Digitalmarsとかは最初は一匹狼のコンパイラ屋だったに違いない
894 名前:デフォルトの名無しさん mailto:sage [05/01/15 15:29:55] >>892 そのサラリーマンの給料が知りたい、って話じゃないの? IT 系といっても 給料はピンキリだからなぁ。 個人的には、職種よりも企業の方が効いて来るに一票だが。Microsoft なら たぶん高いよ。
895 名前:デフォルトの名無しさん mailto:sage [05/01/15 15:38:18] スレ本来の技術的な話題で湧いた直後なのに・・。 可哀想な俺達。
896 名前:デフォルトの名無しさん [05/01/15 20:00:18] >>894 おれも、そう思うに1トークン。 ただ、システム系やら(言語を利用した)開発系よりかは 悪いと思われる。 >>892 > 流しのコンパイラ屋や一匹狼のコンパイラ屋 ワロタ
897 名前:デフォルトの名無しさん mailto:sage [05/01/15 20:23:06] アタマワルソ
898 名前:デフォルトの名無しさん mailto:sage [05/01/15 20:30:10] HSP作者のおにたま氏はある意味コンパイラ屋? 本とかで儲けてるんだろうな。いいなぁ。
899 名前:デフォルトの名無しさん mailto:sage [05/01/15 20:31:53] るby>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>。hsp
900 名前:デフォルトの名無しさん mailto:sage [05/01/15 20:32:13] HSPはインタプリタ
901 名前:デフォルトの名無しさん mailto:sage [05/01/15 20:32:36] Rubyモナー
902 名前:デフォルトの名無しさん mailto:sage [05/01/15 20:33:16] >>898 あなたもやってみればいいのに。 俺はコンパイラじゃないけど、チャレンジしてるよ。
903 名前:デフォルトの名無しさん mailto:sage [05/01/15 20:41:32] matz師とおにたまでは格が違いすぎて比較にならないだろ。 ぶっちゃけ頭の出来が違う。
904 名前:デフォルトの名無しさん mailto:sage [05/01/15 20:53:22] ( ゚∀゚)・∵.ブバッ
905 名前:デフォルトの名無しさん mailto:sage [05/01/15 21:02:49] >>887 ボクチンの場合、一般のプログラマと変わらないです。 仕事の内容が違うだけ
906 名前:デフォルトの名無しさん mailto:sage [05/01/15 22:37:33] >>902 実は俺もコンパイラ作ってます。 って言っても字句解析までしかできてませんが・・・ つーかコンパイラ作るのって楽しすぎ。
907 名前:デフォルトの名無しさん mailto:sage [05/01/15 22:42:10] m4スレ立てました。 ここの住人なら興味深い言語でしょう。 m4スレ pc5.2ch.net/test/read.cgi/tech/1105796351/
908 名前:デフォルトの名無しさん mailto:sage [05/01/15 22:46:52] どうしてもブギャーに見えるw OpenMCL が m4 使ってたな。
909 名前:デフォルトの名無しさん [05/01/15 23:47:01] >>890 ワロタw おれも、今の仕事やめて憧れだった 流しのコンパイラ屋でもやろうかな?
910 名前:デフォルトの名無しさん mailto:sage [05/01/16 00:04:22] >>909 (・∀・)イイヨーイイヨーー
911 名前:デフォルトの名無しさん [05/01/16 00:18:36] まずは、屋台を調達しろw
912 名前:デフォルトの名無しさん mailto:sage [05/01/16 00:19:46] 老後は屋台を引いて駅前で(ry
913 名前:デフォルトの名無しさん mailto:sage [05/01/16 00:55:47] >906 あっしはプロトタイプベースのコンパイラ・インタプリタ作成中 ベースオブジェクトの設計にメドがたってきたから、ようやっと 字句解析にいけそう。 文法作るの楽しいよね。
914 名前:デフォルトの名無しさん mailto:sage [05/01/16 01:23:21] 3件の屋台が駅前で軒を連ねるのを思い浮かべてみた。 構文解析屋、字句解析屋、コード生成屋 / / / / / / / / / / / / / /`、 ヽ ./ / / / / / / / / / / / / /=== 、ヽ / /_ / / / / / / / / / / / / 、ヽ |=構 ギ_l ̄||  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|| |=文∫ =:| || || |= 解 コ..:| || || |=析 =:| || グツグツ ∧∧ ||┌──────────────── ~~~~~~~ | || ==┻== (゚Д゚;) <構文解析屋の新装開店だ、ゴラァ! | || | ̄ ̄| (|ギ ∪ || \_______________ ┌┴┸───────┴─┴┸┐ ┌┴─────────────┴┐ └─┬───────────┬─┘ | | ̄ ̄| | ̄  ̄| ....:.:::::| | | | ..:::::::| | ....::.::.:::| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
915 名前:デフォルトの名無しさん mailto:sage [05/01/16 01:28:20] あー邪魔くせえ
916 名前:デフォルトの名無しさん mailto:sage [05/01/16 01:50:12] LISP勉強するのに、この本は買いでしょうか? www.amazon.co.jp/exec/obidos/ASIN/4781904548/
917 名前:デフォルトの名無しさん mailto:sage [05/01/16 01:52:56] ここはLISPや推薦図書のスレじゃありませんが。
918 名前:デフォルトの名無しさん mailto:sage [05/01/16 09:49:18] ここは流しのコンパイラ屋スレです。
919 名前:デフォルトの名無しさん mailto:sage [05/01/16 10:05:53] 糞コテのほんたまって自分でアセンブラとリンカ書いたの? それともnasmとかのフロントエンド書いただけ?
920 名前:デフォルトの名無しさん mailto:sage [05/01/16 11:41:50] ”Slim de Can”のこと言ってるなら、たぶん>>919 の勘違い
921 名前:デフォルトの名無しさん mailto:sage [05/01/16 13:41:51] "Slim de Can"って前はE言語という名前じゃなかったっけ?
922 名前:デフォルトの名無しさん mailto:sage [05/01/16 13:50:24] Slim de CanってPEヘッダとかセクション分けは自力で吐いてるの?
923 名前:デフォルトの名無しさん mailto:sage [05/01/16 14:49:08] そんなん聞いてどうすんだよ。てか本人に聞け。
924 名前:デフォルトの名無しさん [05/01/16 17:42:27] 収入の話だけど、最近は(善し悪しは別として)成果主義が結構 浸透していて、利益につながらないorつながりにくいと判断され てしまっているところが多いみたい。
925 名前:デフォルトの名無しさん mailto:sage [05/01/16 17:52:34] ふーん
926 名前:デフォルトの名無しさん mailto:sage [05/01/16 18:35:13] 学部生なのか専門学校生なのか知らんが、 こっちに移住してやってくれ ↓ pc5.2ch.net/test/read.cgi/prog/1071367436/
927 名前:デフォルトの名無しさん [05/01/16 22:21:21] 基本的な事で申し訳ないんですが、 文(Statement)と式(Expression)の違いは何ですか? あと、2つの違いは言語に依存しますか?
928 名前:デフォルトの名無しさん mailto:sage [05/01/16 23:28:12] 式は結果の値を持つ。 文は制御構造しか持たず、結果の値はない。 Cは両方あるが、 Lispは式しかない。
929 名前:927 mailto:sage [05/01/17 19:39:40 ,] ・値を持つもの→式(Expression) ・値を持たないもの→文(Statement) ということですね。明確な回答ありがとうございます。 言語によっては必ずしも両方持たないものもあるようですが、 この定義が異なるようなケースor言語ってありますか? それとも、この定義は一般的なものですか? 質問ばかりですいません。 いろいろ調べてはいるのですが、明確に定義or区別しているものに出会えず、 いままでなんとなく津かって来ましたので。。。
930 名前:デフォルトの名無しさん mailto:sage [05/01/17 20:48:43 ] > いろいろ調べてはいるのですが、明確に定義or区別しているものに出会えず、 その「いろいろ」に言語仕様書は入って無いのか。
931 名前:デフォルトの名無しさん mailto:sage [05/01/17 22:18:36 ] >>929 一般用語としてはそうだけど、 最終的には言語仕様でどう言葉を定義するかによる。 C言語で戻り値voidの関数呼び出しなんて 式なのに値がないかも(void型の値を持ってるのかもしれんが)。 あと、昔オレがCに似た構文のスクリプト言語作ったときは Cの文に似たものを文と呼ぶことにしたが、文は全て値を持ってた。
932 名前:デフォルトの名無しさん mailto:sage [05/01/17 23:34:26 ] それは式だよ 値を返すなら文と呼ぶ意味が無いし Rubyも制御構造が式だけど用語の整理ができてないみたい
933 名前:デフォルトの名無しさん mailto:sage [05/01/17 23:47:28 ] >>932 用語の統一なんて、あって無いようなものだろ?
934 名前:デフォルトの名無しさん mailto:age [05/01/17 23:50:50 ] ちょっと気になったんで、K&R(古〜)を取り出してみた。 確かに、式に含まれる式の種類や、文に含まれる文の種類は 細かく書かれてあったが、式自体の定義と文自体の定義(そ の違いを含む)は書かれてないな。
935 名前:デフォルトの名無しさん mailto:sage [05/01/17 23:55:23 ] C言語の <expr> ; は式文(expression-statement)と呼ばれるから 区別はつくでしょ。 式の中にif文やfor文置けるわけじゃないし そういう拡張したならif式とかfor式と呼ぶべき
936 名前:デフォルトの名無しさん mailto:sage [05/01/17 23:58:18 ] >>933 Rubyリファレンスはif式だとかif文だとか統一されてない。 あれはいくらなんでもまずい。
937 名前:デフォルトの名無しさん mailto:sage [05/01/17 23:59:07 ] >式自体の定義と文自体の定義(そ の違いを含む) BNFで書かれたものじゃ不足か?
938 名前:デフォルトの名無しさん mailto:sage [05/01/18 00:05:58 ] >>934 K&R日本語訳読んでるならp.277の付録A9に書いてあるぞ >実行された文はその効果を残すが、値は持たない。
939 名前:デフォルトの名無しさん mailto:sage [05/01/18 00:16:07 ] 付録A7が式の定義、A8が宣言の定義、A9が文の定義 てちゃんと書かれてるだろ。 付録Aの参照マニュアルは一番お世話になる章だと思うんだが。
940 名前:931 mailto:sage [05/01/18 10:02:07 ] >>932 もちろんそのときは文は式の一種。 Cの構文解析やらのプログラムを転用するから、 そこで「文」を他に言葉に変換するのは手間。 実装で使う単語と仕様書で使う言葉を分けるという手もあるが、 内輪でしか使わないやつだから統一したほうがよろしい。 仕様書では明示的に「文という言葉を普通じゃない意味で使う」と断った。
941 名前:934 mailto:age [05/01/18 21:31:21 ] >>937 お前の理論だと、どのような言語もマニュアルならいらんということになるな。 >>938 ん?ページあってるか? しかもそのような行はないぞ? >>939 A7は評価の順序やら、結合など細かく書かれてあるが、値を持つとは書かれていない。 A9も逐次実行されることぐらいしか、文全体の説明は書いてないぞ。
942 名前:デフォルトの名無しさん mailto:sage [05/01/18 21:54:46 ] つ「ANSI/ISO 9899-1990: American National Standard for Programming Languages - C」
943 名前:デフォルトの名無しさん mailto:sage [05/01/18 22:03:39 ] 逆ギレ?
944 名前:デフォルトの名無しさん mailto:sage [05/01/18 22:13:06 ] なにを式と呼ぼうが、なにを文と呼ぼうが作者の勝手。
945 名前:デフォルトの名無しさん mailto:sage [05/01/18 22:21:47 ] >>927 に対する>>928 は正しいですよ。 プログラムは記号列の形で形式的に定義され、さらにそのプログラムの 意味を定義することで言語として定義されます。 (ただし完全に形式的に意味が定義されている実用言語はほとんど無い) 構文解析的に再帰的に定義された式や文は、 表示的意味論の段階で”環境(←変数と変数の値との写像)”が与えられ、 式(←数理論理学の言葉では”項”)の値は一つに定まるし 文の意味付けも”環境から環境への写像”(実質は>>928 のいう制御構造) として定められます。 >>927 が構文解析的な仕様書レベルで式や文を再帰的定義の形で納得するのでなく、 意味論のレベルも含めて理解したければ、例えば「プログラム意味論」 www.amazon.co.jp/exec/obidos/ASIN/4320026578/qid=1106053650/sr=1-2/ref=sr_1_2_2/250-2768765-9598655 の冒頭10ページ(実質P4〜P8)を読むだけで理解できるよ。 (このへん読むのに予備知識は別に要らないです) 仕様書で例えば「皆が文と呼ぶものを、ここでは式と呼ぶことにします」としても それは「犬の尻尾を足と呼ぶことにしても足は5本にならない」(リンカーン)の 話を思い起こさせます。(>>940 さん、ゴメンなさい) 説明が嫌味に聞こえたら読み流してください。固執しません。>>All
946 名前:デフォルトの名無しさん mailto:sage [05/01/18 22:28:08 ] >>944 「詭弁のガイドライン」より。 ・自分に有利な将来像を予想する ・主観で決め付ける ・ありえない解決策を図る 今のあなたはこの辺が該当します。 予想しうる今後の展開は、 ・レッテル貼りをする ・勝利宣言をする ・知能障害を起こす 辺りです。
947 名前:デフォルトの名無しさん mailto:sage [05/01/18 23:29:23 ] 詭弁のガイドライン2 ・詭弁のガイドラインを持ち出してくる
948 名前:927 mailto:sage [05/01/18 23:47:25 ] >>945 ご丁寧にありがとうございます。 かなり難解な部分もありましたが、犬の例え話はなるほどそうですね。 ふと、感じたのですが、私のような初心者にはややこしく感じるのは、 ひょっとして言葉が直観的じゃないのが原因なんでしょうか? うまく説明できませんが、 ・(Statements)→文は、値をもたない点を含めて納得しやすいのですが、 ・(Expression)→式は、値を持つ点を含めて、何か直観的でないと感じます。 式と言われると、y=ax^2+bx+c のような(数学)式を連想してしまいます。 左辺&右辺にはそれぞれ値があるのですが、式自体には値は無いですよね… (↑数学的に) なれですかね?
949 名前:デフォルトの名無しさん mailto:sage [05/01/19 00:16:56 ] ソシュールとチョムスキー読むとおもしろいです
950 名前:デフォルトの名無しさん mailto:sage [05/01/19 00:23:36 ] >>948 数学の式の"="は非常に使い方が曖昧で、"="は最低でも3通りの使い方が なされている。 1. 定義式 y := x^2 「yをx^2と定義する」 2. 恒等式 y == x^2 「yはx^2と常に等しい」 3. 代入式 y = x^2 「yにx^2を代入する」 これらが区別できているかい?
951 名前:デフォルトの名無しさん mailto:sage [05/01/19 01:07:10 ] >>948 >式と言われると、y=ax^2+bx+c のような(数学)式を連想してしまいます。 >左辺&右辺にはそれぞれ値があるのですが、式自体には値は無いですよね… 値の有無は式に属するか文に属するかによる。 例えばVBの代入は文に属する。 a := b := cとは書けない。 でも右辺には式が置ける。 a := b + 1など。 しかし、C言語では代入は演算子として定義されており、 演算子は式に属する。 C言語の式a = b = cはa = (b = c)と解釈され、b = cが先に評価される。 この評価の順番を結合規則と呼び、C言語の式には かならず結合規則が存在し、代入式は右結合と規定されている。 同じ演算子同士は結合規則によって順番が決まり、 違う演算子同士ならば優先順位によって決まる。 a = b = cの場合、式の値はcの中身になる。
952 名前:945 mailto:sage [05/01/19 01:16:34 ] >>948 y=ax^2+bx+c は同書のP2表1.1で”文”として定義されています。 正確には「y := ax^2+bx+c」と記述します。 【注意】 P2の文中で「(4) xが変数でEが式ならば,x := E は式である」 は「文である」の誤りです。 代入”式”「 y=ax^2+bx+c」と言ったりしますが、意味的には 代入”文”「y := ax^2+bx+c」です。 代入文x:=E (←変数x,式E)については同書のP5に 「代入文は変数の値を別の値に置き換える働きをするので、 環境を別の環境に移す関数を意味する」とあります。 この説明では「関数」とあるので「式」と呼びたくなるかも知れませんが、 関数と関数との”写像”と御考え下さい。制御文ですね。 >>950 にある 2. 恒等式 y == x^2 「yはx^2と常に等しい」 は論理値が与えられるので”式”です。 また、『定義式 y := x^2 「yをx^2と定義する」』はメタ記号 ::= を用いて 「y ::= x^2」と記述したりするようです。 ちなみに同書のP6の下から5行目「この関数が式に対する意味関数である」は 「文に対する」の誤りです。 頑張ってください。
953 名前:デフォルトの名無しさん mailto:sage [05/01/19 01:25:46 ] >>951-952 ここでいうy=ax^2+bx+cは、プログラムの代入ではなく、 数学の等式だと思うぞ。放物線。 >>948 数学でもax^2+bx+cは式だと思うぞ。 ってことで、漏れ的にはそれほど違和感はない。 言葉って言うのは概念につけられた単なるラベルなわけで、 極論を言うと重要なのは概念であって言葉じゃない。 「犬の尻尾を足と呼ぶことにしても足は5本にならない」 ってのはラベルを取り替えても概念は変わらないという意味だと思う。 まあ、言葉に振り回されるのもほどほどにってことで。 とは言いつつも、プログラムにおける文と式という言葉の起源はちょっと知りたい。
954 名前:デフォルトの名無しさん mailto:sage [05/01/19 01:36:39 ] 言葉って言うのは概念につけられた単なるラベルなわけで、 極論を言うと重要なのは概念であって言葉じゃない。 なにを式と呼ぼうが、なにを文と呼ぼうが作者の勝手。 まあ、言葉に振り回されるのもほどほどにってことで。
955 名前:デフォルトの名無しさん mailto:sage [05/01/19 01:40:29 ] 文は文法に束縛 SVO S=O(BASICの場合) if文 式は演算子と優先順位と結合規則に束縛 a+b*cはa+(b*c) だが、たしかにこんなことはどうでもいい 記号にも興味ない 興味があるのは動くプログラム
956 名前:デフォルトの名無しさん mailto:sage [05/01/19 01:41:45 ] ・勝利宣言をする
957 名前:デフォルトの名無しさん mailto:sage [05/01/19 02:21:32 ] 言葉って言うのは概念につけられた単なるラベルなわけで、 極論を言うと重要なのは概念であって言葉じゃない。 ってことで、皆が文と呼ぶものを、ここでは式と呼ぶことにします 漏れ的にはそれほど違和感はない。
958 名前:デフォルトの名無しさん mailto:sage [05/01/19 02:30:37 ] ・知能障害を起こす >>953 がレッテルならぬラベルを貼ってくれたから、 全部集まって神龍が現れるでFA?
959 名前:デフォルトの名無しさん mailto:sage [05/01/19 08:47:37 ] >>956 >>958 詭弁のガイドラインを出してくるお前も ・レッテル貼りをする ・勝利宣言をする ・知能障害を起こす に該当する。 つうか、今時詭弁のガイドラインって
960 名前:デフォルトの名無しさん mailto:sage [05/01/19 11:46:26 ] 主観で決め付けるコンパイラ屋さんガンガル、の図 ┌─┐ |記| |号 | 業界での字(あざな)は”ウルフ” │に│ ↓ │興│ │味 | それほど違和感はない♪〜 │な .| │い│ / ̄ └─┤ ∧∧ <極論を言うと重要なのは概念であって言葉じゃない │ ( `Д) \_ なにを式と呼ぼうが文と呼ぼうが漏れの勝手 | ̄ ̄ ̄|─□( ヽ┐U  ̄◎ ̄ ◎−>┘◎
961 名前:デフォルトの名無しさん mailto:sage [05/01/19 12:04:02 ] >>946 デバッグできないプログラマに そのまま当てはまるな
962 名前:デフォルトの名無しさん mailto:sage [05/01/19 14:03:39 ] 主観で決め付けてるわけじゃなくて、言葉の定義は、仕様によって決められているわけだから、 作者(仕様策定者)の勝手というのは正しいのでは?
963 名前:デフォルトの名無しさん mailto:sage [05/01/19 14:21:33 ] 常識とは思わないのか
964 名前:955 mailto:sage [05/01/19 14:41:15 ] ん?荒れてる? 俺の文章になにか不満あったのかな?
965 名前:デフォルトの名無しさん mailto:sage [05/01/19 15:22:55 ] >>962 そうだけど、 無意味に普通じゃない意味で使ってると誰もついてこず ロンリーウルフになっちゃうぜという話。
966 名前:デフォルトの名無しさん mailto:sage [05/01/19 15:44:07 ] つまり、詭弁でもなんでもなく、正しいと。
967 名前:955 mailto:sage [05/01/19 16:28:31 ] どうやらどっちも落ち着いた?
968 名前:デフォルトの名無しさん mailto:sage [05/01/19 16:50:42 ] デタラメな>>955 の内容ときたら… ↑ たしかにこんなのどうでもいい ('∀`)ニヤニヤ.. . .。oO(束縛?プッ
969 名前:955 mailto:sage [05/01/19 16:57:53 ] そう、ごめんね
970 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:03:48 ] >>962 が発明した世界で初めての概念に関しては、その字面も、その定義も >>962 の脳内仕様書によって決められるわけだが、「式」とか「文」とかはなぁ…。 まぁ、そういう「コンパイラ屋」さんは駅前で 詭弁でも売って(売値はついても買値はつかないだろうけど)、 一人でやっていくしかないだろうねぇ。。
971 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:04:50 ] 相変わらずの糞スレだな
972 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:06:11 ] みんな!うんこトークしようぜ!!!!
973 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:06:43 ] >>972 HSPスレへお帰りください。
974 名前:デフォルトの名無しさん [05/01/19 17:07:34 ] うんこー!
975 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:09:40 ] >>971 がむやみに頑張るスレだからな
976 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:11:25 ] ひょっとして知能障害を起こすってやつですか >>972
977 名前:デフォルトの名無しさん mailto:さげ [05/01/19 17:13:03 ] >>976 のうんこー うんこー!!
978 名前:デフォルトの名無しさん [05/01/19 17:13:37 ] 盛り上がってまいりましたw
979 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:16:50 ] ここは馬鹿と池沼しかいないスレでつ。
980 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:17:17 ] >>970 「式」とか「文」だって仕様策定者なら勝手に決められる。
981 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:21:09 ] 仕様で「式」の意味が決められているということは、その言語では「式」がそういう意味であるということだろう。 これが違うという方こそ詭弁だろ。
982 名前:デフォルトの名無しさん [05/01/19 17:21:17 ] 詭弁ばかりのリア厨が粘着荒らしか。 死ねよ。
983 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:22:07 ] 解析フェーズで尻尾も足と決めてみた。
984 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:22:58 ] 詭弁ばかりのリア厨って>>946 のことか?
985 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:23:13 ] オチケツ馬鹿ども。
986 名前:デフォルトの名無しさん mailto:さげ [05/01/19 17:23:33 ] このまえ>>982 のうんこ食べたんです。 消化しきれなかったとうもろこしの粒があって、なんだかちょっぴり幸せでした…^^
987 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:25:50 ] 議論の内容が低レベル過ぎ…
988 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:27:37 ] >>981 がやねうらおなら笑える。 d.hatena.ne.jp/yaneurao/20050123
989 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:29:49 ] >>946 の予想通りになった
990 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:30:42 ] どうせ荒らしてんのは馬鹿なC厨だろ。 なんせ式と文だけでこれだけ盛り上がれるんだからな。
991 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:30:47 ] 仕様で、文や式の定義が決まってるのはCだって一緒だろ。 それに文句言う奴は、言語の仕様でいろんな用語の意味が定められているのは 無効といってるのと一緒。 そういう仕様を持った言語なんて腐るほどあると思うが。
992 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:32:04 ] 989=946
993 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:33:09 ] 内容がデタラメでない、という前提でな。
994 名前:デフォルトの名無しさん [05/01/19 17:33:36 ] C厨は人類の敵。
995 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:34:12 ] >>993 もちろんな。 ただし、値を返すものを「文」と定義しただけでは、デタラメには該当しない。
996 名前:デフォルトの名無しさん [05/01/19 17:35:12 ] C厨はうんこ!
997 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:36:56 ] 何がここまで>>940 を固執させるのか? 以後は、心と身体・メンタルヘルス板でドゾ
998 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:37:26 ] Rubyの文は値を持つ。 それは仕様で定められてるのだから仕方がない。 作者の勝手なんだよ。 デタラメをやらない限りな。
999 名前:デフォルトの名無しさん [05/01/19 17:37:26 ] 1000ならC厨は死滅!
1000 名前:デフォルトの名無しさん mailto:sage [05/01/19 17:38:20 ] ぱ
1001 名前:1001 [Over 1000 Thread] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。