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


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

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



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 あたり

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]
つーかそれ作って何するかだな
漠然と作ってもただのゴミだし
時間を有効に使う意味では言語処理系なんて手を出さないが吉






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

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

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