「コンパイラ・スクリ ..
[2ch|▼Menu]
488:デフォルトの名無しさん
05/02/12 20:32:09
>>486
ハンドコンパイルだったと思う

489:デフォルトの名無しさん
05/02/13 21:00:03
>>481
実はインタープリタを書くだけでよい。

くわしくは
二村射影(futamura projection)・部分評価(partial evaluation)


490:デフォルトの名無しさん
05/02/13 21:13:32
詳しそうな人が。
ご存知でしたら教えて欲しいのですが、"offline" partial evaluationの
(onlineに対する)画期性はどういうところだったんでしょう?

491:デフォルトの名無しさん
05/02/13 21:13:43
>>489
それは言いすぎじゃね?

492:デフォルトの名無しさん
05/02/14 11:37:36
コンパイラについて深く学びたかったら
どこの大学院がもっとも進んでいるのでしょうか
ちなみにコンパイラについては全くの素人(本でかじったぐらい)
です


493:デフォルトの名無しさん
05/02/14 11:59:37
>>492
その程度でどうやって研究計画書書くの?

494:デフォルトの名無しさん
05/02/14 13:26:27
計画書段階じゃ、そんなもんだろ。
本でかじった以上の事は研究しないと無理だよ。
この分野は中間点が無さ過ぎる。

495:デフォルトの名無しさん
05/02/14 14:05:43
インタプリタを作ればいいなんて詭弁を弄してるのがいるが
どの言語でそのインタプリタを作るのかが問題なんだよ

496:デフォルトの名無しさん
05/02/14 14:19:46
いや、これから研究するテーマを書くのに、本読んだだけっていうとほとんど知識が
ないのと一緒。
最近はどんな研究がよくされているのか、とか、注目されているのはどんなことなのか
という事も知らなくてはいけない。

497:デフォルトの名無しさん
05/02/14 15:11:47
んなもん適当に論文のabstract読めばいいだけ

498:デフォルトの名無しさん
05/02/14 15:42:41
>>492
学部3年ぐらい?
図書館行って
「情報処理学会論文誌 プログラミング」
という本を探す。
その中から興味をもてそうな研究を選ぶ。
著者のうち、
肩書きが大学の教授とか助手とかになってる人をピックアップ。
その人が著者になってる論文を見て(googleとかで探す)、
興味がもてそうなものが多ければ、
その人の研究室で決まり。
入院試験受ける前に
受かったら研究室に入れてくれるようにネゴっておこうね。

499:デフォルトの名無しさん
05/02/14 17:00:49
>>495
速度重視ならC/C++だろうし、
実装で楽したいなら、
パーサジェネレータから決めるとか。
デザインパターンのインタプリタ・パターンを使うなら、
作りたい言語と同じ制御構造をもったものを選ぶ方がよい。
例外やtry〜finallyとか。

500:デフォルトの名無しさん
05/02/14 19:08:25
LISPの処理系について教えてください。

LISPの文法のBNFを探しているのですが、見つかりません。
LISPのBNF定義が載っている、本またはWebページがありましたら、教えてください。

よろしくお願いします。


501:デフォルトの名無しさん
05/02/14 19:35:38
Aho

502:デフォルトの名無しさん
05/02/14 20:00:50
>>500
ググったら一番上に出てきたけど

503:デフォルトの名無しさん
05/02/14 20:10:48
>500
"common lisp" (syntax OR parser OR source)でGoogle検索。

504:500
05/02/14 21:54:00
>>502-503

ご教示ありがとうございます。
Googleの結果を開けて回ったところ、日本Lispユーザ会というところに出ました。
このなかにANSIの規格書へのリンクがあったので、こちらを探してみることにします。


505:デフォルトの名無しさん
05/02/14 22:13:11
>>504
"lisp bnf"でウェブ全体から検索にして検索してみ

506:500
05/02/14 22:44:22
>>505

「The BNF Web」の「BNF Index of LISP」というページが一番に出てきました。
結構簡単な文法なんですね。これなら、すぐBISONに書き込めそうです。
お手数をおかけしました。


507:デフォルトの名無しさん
05/02/14 23:14:42
>>501
アホなのかエイホなのか

508:デフォルトの名無しさん
05/02/15 00:17:58
>>506
lispにbisonはoverkillじゃないだろうか。

要は(read)を書くだけでしょ?


509:デフォルトの名無しさん
05/02/15 01:55:44
>>508
魚雷廷沈めるのに大陸間弾道弾使う見たいなもんじゃねぇの?


510:デフォルトの名無しさん
05/02/15 06:00:58
>>499
やっと>>476に対する適切なレスがw

511:デフォルトの名無しさん
05/02/15 10:43:04
>>798
ドクターはともかく、マスターではネゴっただけで希望の研究室に入れるとは……


512:デフォルトの名無しさん
05/02/15 11:59:31
>やっと>>476に対する適切なレスがw
おぃおぃ・・・・
まっいいか。

513:デフォルトの名無しさん
05/02/15 13:15:44
コンパイラ屋さんとOS屋さんって完全に分業されてるの?
っていうかOS屋さんの存在自体がもう消滅してるか。

514:デフォルトの名無しさん
05/02/15 13:35:31
>>513
OSってまさかWindowsみたいなものを想像しているわけ?

515:デフォルトの名無しさん
05/02/15 20:27:58
>>490
ごめん、PEは専門じゃないので…
ここより関数型言語スレの方が詳しい人多いかも。



516:デフォルトの名無しさん
05/02/15 22:51:21
489 名前:デフォルトの名無しさん[sage] 投稿日:05/02/13 21:00:03
>>481
実はインタープリタを書くだけでよい。

くわしくは
二村射影(futamura projection)・部分評価(partial evaluation)

515 名前:デフォルトの名無しさん[sage] 投稿日:05/02/15 20:27:58
>>490
ごめん、PEは専門じゃないので…



PEのことを知らずに書いてたのかよ!

517:デフォルトの名無しさん
05/02/16 05:48:52
>>514
いやもうOSに目新しい技術もないし、実装でもだいたい
メジャーどころが決まってるような感じに思ってたけど。
組み込みにLinuxやNetBSDに手を入れて使うようじゃ、
マイナーなOS屋さんのやること、もうないじゃん。

518:デフォルトの名無しさん
05/02/16 16:06:41
>>513はあの比喩で何が言いたかったんだろ。

519:デフォルトの名無しさん
05/02/16 16:07:12
ああ間違えた。>>514だ。

520:デフォルトの名無しさん
05/02/16 16:23:51
このスレのレベルの低さの件について

521:デフォルトの名無しさん
05/02/16 23:48:53
↑レベルの高いレスの見本

522:デフォルトの名無しさん
05/02/19 13:16:42
言語屋は、収入も低(ry


523:デフォルトの名無しさん
05/02/19 13:27:36
高くは無いが低くも無いぞ

524:デフォルトの名無しさん
05/02/19 23:26:23
Perlみたいな複雑怪奇な言語でもLALR(1)文法で解析可能でしょうか?

525:デフォルトの名無しさん
05/02/20 00:36:17
文法はそこまで複雑じゃないだろ。

526:デフォルトの名無しさん
05/02/20 06:01:34
>>524
Perlはどうか知らんけど、一般に
へんてこな言語は字句解析器と構文解析器が
仲良くして構文解析をするんだよ。

そして…フラグの洪水に溺れるんだ…

527:デフォルトの名無しさん
05/02/20 19:58:56
>>526
すんません。最後の1行が分かりません。
どういうことですか?


528:デフォルトの名無しさん
05/02/20 20:19:32
文脈依存の文法を作るとかそういう話じゃないかな?

529:デフォルトの名無しさん
05/02/20 21:03:20
字句解析や構文解析ではジェネレータがコードを
自動で生成してくれるからいいけれど、
それ以降の部分は >>526 が手がけなければならないので、
その結果フラグの洪水となる、という話だと思う。


530:デフォルトの名無しさん
05/02/20 21:21:03
>>528 が正しいと思うが。要するにそういう文法を書くためには
レクサとパーサで状態を渡さないといけないのでフラグをさわりまくりになる。



531:デフォルトの名無しさん
05/02/20 21:22:36
>>529
「それ以降」じゃなくて、構文解析中の話じゃない?
構文解析の経過に応じて字句解析の動作を変えないといけなくて、
経過がどうだったかを大量のフラグで管理しとかないといけない、
みたいな。
字句解析で先読みをどんどんやらせて、
それによって構文解析の動作を変えたいなんてのもあるかな。

532: デフォルトの名無しさん
05/02/21 22:00:42 3Wu8+w1Z BE:46662645-
 初めまして.皆さんのお力を貸していただけませんか?現在独学で, 「スモールコンパイラの制作で学ぶプログラムのしくみ」を用いて勉強しているのですが, コンパイラの拡張として,
 ( 1 )関数の引数として 1 次元配列を渡せるように機能拡張する.渡し方は C言語の方法に習い, すなわち, 配列の要素全体のコピーを渡すのではなく, 配列の先頭の番地を渡す.

 ( 2 )変数の「参照渡し」を実現する.「参照渡し」つまり, 変数を関数の実引数にしたとき, 変数の中身ではなく変数自体の番地を渡すことにより, 呼び出された関数の中から呼び出し元の変数の内容を更新できるようにする.

 という 2 つの機能を追加させることを考えているのですが記述方法が解らず悩んでいます.解りましたらアドバイスをお願いいたします.


533:デフォルトの名無しさん
05/02/21 22:06:37
せっかくだから著者にラブレ^H^H^Hお手紙を出して聞いてみるのがいいかもw


534:デフォルトの名無しさん
05/02/21 23:23:25 BE:146986079-

 すみません!! > 532 に付け足しで, コンパイラのソースコードは,

URLリンク(book.gihyo.co.jp) からダウンロードできるようになっております.

 この本を読んだことがない方でも,
上記 2 問に対する拡張方法のプログラムが解る方からの返信もお待ちしております

535:デフォルトの名無しさん
05/02/21 23:45:20
フラグの洪水の件だが、今の言語は(一部の単純なやつを除き)、
みなそうなる傾向にあるのではないかな?

逆にいうと、(ちょっと飛躍しすぎかも知れんが)レクサとパーサ
による解決方法自体が、やや時代遅れになりつつあるのかも。


536:デフォルトの名無しさん
05/02/22 00:00:01
そろそろDCGやgraph grammerの時代になるのか。
ところで今の言語で、パースの難しい構文(の組み合わせ)って例えば何だろう?

537:デフォルトの名無しさん
05/02/22 00:18:59
Ruby!!!!!!!!!!

538:デフォルトの名無しさん
05/02/22 01:36:41
>>537 フラグの洪水でにっちもさっちもいかなくなってる言語の一つだね。


539:デフォルトの名無しさん
05/02/22 09:57:08
>>532
整数型を引数に取る関数と
文字列型を引数に取る関数は実装されてるみたいだから、
そこから類推して配列型を引数に取るものを追加すればいい。
function()とfactor()中の関数呼び出しを実行してる箇所を
取っ掛かりにハック。
(2)は(1)ができてからにしろ。

540:デフォルトの名無しさん
05/02/22 10:03:03
>>535
むしろ最近の言語の方が使用するケースは少ないかと
文脈依存なしでも必要十分な程度の複雑な文法は作れる


541:デフォルトの名無しさん
05/02/22 10:07:07
>>540
C#とJava以外になんかある?

542:デフォルトの名無しさん
05/02/22 11:43:57
>>541
ラベル名に語彙の種別をつける様な文脈依存はあるが、
フラグを引っ掻き回すのは行単位でパースしていた時代の物でもない限りもう無いと思うが……


543:デフォルトの名無しさん
05/02/22 12:11:56
Rubyは行指向言語

544:デフォルトの名無しさん
05/02/22 19:04:44
現存している言語のなかではfortranのパースが一番難しそうな気がする。

545:デフォルトの名無しさん
05/02/22 20:39:50
ナニ言ってんだ。
一番はる、Ru、る、


















C++

546:デフォルトの名無しさん
05/02/23 16:12:02
>>545 んな訳ねぇだよ

547:デフォルトの名無しさん
05/02/23 18:15:11
むしろ現存している実用言語で
教科書的な字句解析・構文解析が通用するような言語ってどのくらいある?
Pascal…は簡単なんだっけ。

548:デフォルトの名無しさん
05/02/23 18:21:09
> 教科書的な
関係ないだろ。文法のクラスの問題。



549:デフォルトの名無しさん
05/02/23 18:46:44
>>548
教科書的なクラス(=LR(1)?)で収まる言語を聞いてるんだと思うが。

>>547
とりあえずCはダメだね。
typedefされた識別子は、lexerで識別子じゃなく型名かなんかにしないといけないから。
JavaもLR(1)では無理だった気が。

550:デフォルトの名無しさん
05/02/23 18:49:55
プログラミング言語の専門家が作った言語は大概シンプルな
文法クラスに納まっている希ガス。

551:デフォルトの名無しさん
05/02/23 21:27:11
>>549
>とりあえずCはダメだね。
それをそのクラスに入れるために、スキャナなんてな物を考えるのであって
>教科書的な字句解析・構文解析
という点について考えたら、その回答はギャグとしか思えないのだが……

552:デフォルトの名無しさん
05/02/23 22:33:05
Cはtypedef以外にもキャスト式とか、sizeofの中身とか
一意にならない場合があるけど


553:デフォルトの名無しさん
05/02/23 22:42:52
そういや、VCとかに導入されてる__cdeclとか__stdcallって装飾子どこに掛かってるの?
関数のポインタに掛かってる?
それとも関数自身?



__stdcall f() {
}

という書き方もできるということは関数に掛かってるんだろうけど、
関数ポインタの場合の装飾子の位置が謎。

(*(int (__stdcall *)())g)() = (int (__stdcall *)())f;


554:デフォルトの名無しさん
05/02/23 22:42:58
>>550
そして、大抵実用的でない言語のような気がするw


555:デフォルトの名無しさん
05/02/23 22:47:54
すまん、こうだった。

int (__stdcall *g)() = (int (__stdcall *)())f;

パースする側から見ると凄い変な気がする。
()からずいぶん離れているのに__stdcallは関数に掛かるという。

556:549
05/02/23 23:16:39
>>551
ごめん。なに言ってるかマジわかんない。
「C言語は教科書的」って言ってるの?

C言語では
「(a)+b」は
typedef a されてればキャストだし
そうでなければ足し算ってのは知ってる?

557:デフォルトの名無しさん
05/02/23 23:28:02
>>556
Cに単項の+演算子なんてあったっけ?
-ならわかるけど。

558:デフォルトの名無しさん
05/02/23 23:34:01
あるだろ。
つうか、-でもいい話じゃないのか?

559:デフォルトの名無しさん
05/02/23 23:40:24
int const extern * p;

「int const*」がひとまとまり。
externはpにかかる。

560:デフォルトの名無しさん
05/02/23 23:49:28
>>556
もちろん知っている
bisonの教科書100回よめ、実装なんか簡単だ

561:547
05/02/23 23:57:27
えと、あまり深く考えずに「教科書的」とか言っちゃったんだけど……。

字句解析と構文解析がなかよくしてフラグの洪水とか、
bisonがどういうオートマトン出力するか気にしながらトリッキーなコード書くとか
そういうことしなくてもパースできる、みたいな?
LALR(1)の教科書数回読んだだけで解析器作れるようなのを意図してました。

とりあえずCはダメという認識でいいと思います。

562:デフォルトの名無しさん
05/02/23 23:59:42
>>561
机上の空論ばかりやってるからそうなるんだよ、
実践してみろ、どうってことはないし、トリッキーでもないし
ましてやオートマトンなんか考える必要もない

563:549
05/02/24 09:24:27
>>560
bisonの教科書に載ってるって言いたかったのね。
やっと分かったよ。

564:デフォルトの名無しさん
05/02/24 10:37:59
bisonとかそういう物以前に処理系作る人間にとっては初歩中の初歩かと

565:デフォルトの名無しさん
05/02/24 14:46:58
(゚∀゚)ラヴィ!!

566:デフォルトの名無しさん
05/02/24 19:54:16
>>561
lisp。実用言語だ。汎用ではないが。

567:デフォルトの名無しさん
05/02/24 21:34:13
>>566
実用性のない言語の典型例だなw


568:デフォルトの名無しさん
05/02/24 21:36:13
「なでしこ」のような言語をもし、lex/yacc でやるとしたら、
多量の yacc ルールが必要ですかね?


569:デフォルトの名無しさん
05/02/24 21:43:23
なでしこ知らないけど、
ああいうのはlex(相当)の方が難しいんじゃないかな。
分かち書きを強制とかしない限り。

570:デフォルトの名無しさん
05/02/24 23:56:05
>>567
実用性がある言語の典型だろ。

571:デフォルトの名無しさん
05/02/25 00:39:39
>>567
できない奴の典型だな。

572:デフォルトの名無しさん
05/02/25 00:40:04
自作じぇん

573:デフォルトの名無しさん
05/02/25 00:43:01
lispに実用性がないってどんだけ世界狭いに住んでるんだろう・・・。
schemeならまだ説得力があったがな。

574:デフォルトの名無しさん
05/02/25 00:47:34
嫌LISP厨が一人粘着してるだけです
ろくな反論もできない書き込みでわかります

575:デフォルトの名無しさん
05/02/25 03:07:15
Rubyが一番。

576:デフォルトの名無しさん
05/02/25 05:21:01
schemeもライブラリや処理系がないのが実用的に問題なだけで、
言語仕様としては良い。

577:デフォルトの名無しさん
05/02/25 05:21:56
Rubyが新湯ryてんで一番素晴らし魏、

578:デフォルトの名無しさん
05/02/25 15:00:25
>>569
識別子をちょっと凝って切り出すだけでしょ?(lex)
圧倒的に文法規則の方が難しいと思われるが?


579:デフォルトの名無しさん
05/02/26 00:22:58
字句解析と構文解析の難しさを単純に比べるなんてできないと思われるが?
やることちがうんだし。

しかしなでしこの構文ってそんなに複雑なんかね。
((式 助詞)* 動詞 句読点)* 程度かと思ってた。

580:デフォルトの名無しさん
05/02/26 10:41:59
XmlShemaの構文解析をしたいのですが、ハードの都合(200kしかメモリ占有不可)
上yaccすら乗せるのがきついため、XMLの字句解析から初めて構文解析を
しようと思うのですがyacc等使わない場合皆さんはどのようなスタイルで
書き始めますか?yacc漬けになっていて、スクラッチで字句解析構文解析
どうしようかすげー悩んでます。

581:デフォルトの名無しさん
05/02/26 11:00:36
昔は32kROM+32kRAMまたはそれ以下でBASICがエディタ付きで動いてたんだ
贅沢いっちゃいかん

582:デフォルトの名無しさん
05/02/26 13:25:44
XMLにyaccか、
なんとも不思議な使い方だね……
俺だったらスキャナは使ってもパーサは使わないな

ま、それはともかくフルスクラッチすればいいんじゃない、
速度さえ気にしなければXMLのパースは簡単だし、考える事なんか無いし。

583:Rubyist!
05/02/26 18:04:39
フルスクラッチって何ですかpu

584:デフォルトの名無しさん
05/02/26 18:10:13
フルチンみたいなものです

585:デフォルトの名無しさん
05/02/26 19:26:01
無の状態から全てを作り上げるフルスクラッチビルド
URLリンク(www5f.biglobe.ne.jp)


586:デフォルトの名無しさん
05/02/27 00:34:22
りんご農園でも、日本語の変数名が扱えるYO。


587:デフォルトの名無しさん
05/02/27 19:49:20
実際の所、最適化のほうがはるかに難しいと思われ。


588:デフォルトの名無しさん
05/02/27 20:11:02
>>587
その通り。

589:デフォルトの名無しさん
05/02/27 21:21:34
perlでさえインライン展開ぐらいやるよ

590:デフォルトの名無しさん
05/02/28 00:22:39
どのレスがどのレスに対する反応なのか、さっぱりわからんのは俺だけか?

591:デフォルトの名無しさん
05/02/28 01:03:32
藻前だけ

592:デフォルトの名無しさん
05/02/28 23:08:34
>>588
同意


593:デフォルトの名無しさん
05/03/01 10:29:26
>>590
今に始まったことじゃない。

594:デフォルトの名無しさん
05/03/01 13:55:33
中田センセイ (´・ω・`)

595:デフォルトの名無しさん
05/03/01 22:31:34
りんこのねーちゃんの本には、ケータイ画面の写真みたいたのがあったけど
(ry


596:デフォルトの名無しさん
05/03/01 23:06:22
>>595
いくらなんでもそれは略しすぎだろう

597:デフォルトの名無しさん
05/03/02 02:53:21
りn(ry

598:595
05/03/02 22:15:54
…あれって、ねーちゃんの携帯かなぁ?


599:デフォルトの名無しさん
05/03/02 22:29:04
あほきたー

600:デフォルトの名無しさん
05/03/03 12:24:26
モレモナー

601:デフォルトの名無しさん
05/03/03 14:45:44
>>600
おまえもかよ!

602:598
05/03/03 21:35:10
>>599
お前が一番の(ry


603:デフォルトの名無しさん
05/03/03 21:44:13
>>583->>602
この辺あぼーんしました。

604:デフォルトの名無しさん
05/03/03 21:50:40
>>583->>603
この辺あぼーんしました。


605:デフォルトの名無しさん
05/03/04 18:57:57
今日、電車乗ってたら、前にキモオタが二人乗ってきた。

なんか一人がデカイ声で「貴様は〜〜〜!!だから2ちゃんねるで馬鹿に
されるというのだ〜〜〜!!この〜〜〜!」
ともう片方の首を絞めました。
絞められた方は「ぐええぇーー!悪霊退散悪霊退散!!」と十字を切っていた。
割と絞められているらしく、顔がドンドンピンクになっていった。

渋谷でもう一人、仲間らしい奴が乗り込んできてその二人に声をかけた。
「お!忍者キッドさんとレオンさん!奇遇ですね!」 「おお!そういう君は****(聞き取れず。何かキュンポぽい名前)ではないか!
 敬礼!」
「敬礼!出た!敬礼出た!得意技!敬礼出た!敬礼!これ!敬礼出たよ〜〜!」
俺は限界だと思った。

606:マイク ◆yrBrqfF1Ew
05/03/04 19:19:52
限界も何も君の友達じゃないのか。

607:デフォルトの名無しさん
05/03/04 21:19:26
おまいら、しっかりしろ!スレ違いも甚だしいぞ!
もう一度>>1のテンプレ貼っておくぞ!


プログラミング言語処理系の開発に興味のある人達のスレッドです。

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

608:デフォルトの名無しさん
05/03/05 13:50:23
やこしい内容にするからかえってチョッカイ出しただけの困ったちゃんが湧いてくるような気がする。
次スレはシンプルに初代の1の内容
「yaccやlexの使い方やら言語仕様やらの話題。 」
に戻すかね、周辺の話題はスレの流れで勝手に入ってくるに任せる感じで。

609:デフォルトの名無しさん
05/03/05 14:21:35
サンデープログラマが初めて勉強するべきコンパイラコンパイラは何かについて
英語とOOP はアリ

610:デフォルトの名無しさん
05/03/05 14:25:38
↑日本語でおながいします

611:デフォルトの名無しさん
05/03/05 19:26:03
オブジェクト指向プログラミング(OOP: Object Oriented Programming)

612:デフォルトの名無しさん
05/03/05 19:29:45
>>610
諦めろ。>>609は日本語を理解してないぞ。


613:デフォルトの名無しさん
05/03/05 23:28:51
LISP と OOP 程、やくにたたんものはない。


614:デフォルトの名無しさん
05/03/05 23:37:14
と、世間で役立たずの613は語った。

615:デフォルトの名無しさん
05/03/07 10:04:09
>>608
構文解析およびyacc,lexx のスレ と
>>1の内容みたいなスレを分けた方がいいんじゃないの?

616:デフォルトの名無しさん
05/03/07 10:09:19
わけるほどのモノじゃねえよ

617:デフォルトの名無しさん
05/03/07 10:36:04
>>616
最適化の話は一つ一つが長くなるとは思うが今まで一度も出てきてない気がするの俺だけ?


618:デフォルトの名無しさん
05/03/07 11:05:53
出てきてから考えれば?

619:デフォルトの名無しさん
05/03/07 12:43:32
>>615
被りまくりの上に、それほどの話題は存在しない、そんな必要はない
ただでさえ人口が少ない上、部外者だらけのこのスレをこれ以上薄めてどうする。

620:デフォルトの名無しさん
05/03/07 13:48:33
インライン展開の話がしたい

621:デフォルトの名無しさん
05/03/07 22:53:01
>>620
インライン展開の話をすることを許可する。

さぁ、存分にやりたまえ。

622:デフォルトの名無しさん
05/03/07 23:17:52
>>620
インライン展開ってさ、キャッシュの容量が小さすぎるCPUで泣いたことない?

組み込み系やってないとわからないかもしれん(つかイマドキのPCってすごすぎ)

623:デフォルトの名無しさん
05/03/08 11:06:18
>>620
どうぞどうぞ、ガンガン書いちゃって下さい

624:デフォルトの名無しさん
05/03/08 15:14:38
俺は彼女の陰ラインを展開し
その淫乱な姿に欲情した
こんなに濡れてるよ体は正直だね(ry

625:デフォルトの名無しさん
05/03/08 20:06:10
ロバート・A・はインライン展開した幼年期の終夏への扉

     ・A・ イクナイ

626:デフォルトの名無しさん
05/03/09 23:48:53
りんご展開


627:デフォルトの名無しさん
05/03/10 00:22:07
インライン展開の話に戻しますが、
単純に展開しただけでは、

inline f(int x) { return x; }
g(int y) { return f(y) + f(y); }

↓展開

g(y) {
 int x1 = y; // f(y)
 int x1r = x1; // return x
 int x2 = y; // f(y)
 int x2r = x2; // return x
 return x1r + x2r;
}

こんな感じになって変数がいくつも必要になる気がします。
上の展開結果から
g(y) {
 return y + y;
}
を導き出すには、フロー解析しないとダメでしょうか?
または別に何か簡単な方法があるでしょうか。

628:デフォルトの名無しさん
05/03/10 02:32:35
不要コード除去くらいするもんだと思うが。

629:デフォルトの名無しさん
05/03/10 05:38:27
え、全て必要な気がするけど。


630:デフォルトの名無しさん
05/03/10 23:09:55
普通の最適化をさぼっているくせに、インライン展開なんかしたら
大抵は性能劣化を招く罠。

631:デフォルトの名無しさん
05/03/11 00:37:34
先読みしたデータを元に戻す時なんか工夫してる?

632:デフォルトの名無しさん
05/03/11 00:55:38
>>631
スマンが文脈からパース時の話なのか実行時プリフェッチの話なのかワカランのでもう少しフォローしてくれ。


633:デフォルトの名無しさん
05/03/11 01:14:26
気になるのは、文脈からパースしたときです。

634:デフォルトの名無しさん
05/03/11 02:59:38
1個分のバッファを作っておいていつも先読み。戻さない。
ってのが統一的でいいんじゃないかしらん。

ていうかなぜパーサを手で書かなきゃいかんのかと小一時間(ry


635:デフォルトの名無しさん
05/03/11 21:49:00
りんこ1個分、先読みすればよいよ。


636:デフォルトの名無しさん
05/03/11 22:46:59
HTMLからTeXファイルを作りたいのですが、そこらへんのノウハウが載っているサイトってありませんか?

637:デフォルトの名無しさん
05/03/12 00:40:12
えーとパーサー生成器で作ると遅いよ?
Boost関数で作るほうがすげー早いよ?
あとメインメモリ500kぐらいの環境だとそんな荷物もてないよ?

638:デフォルトの名無しさん
05/03/12 08:56:58
メインメモリ500k位の環境じゃ他のリッチな環境から
クロスコンパイルするのが普通だわな

639:デフォルトの名無しさん
05/03/12 11:30:03
>>638
メインメモリ1M位のリッチな環境ならありますがクロスコンパイルは普通に出来ますか?

640:デフォルトの名無しさん
05/03/12 11:55:35
>>639
5万円くらいでメインメモリ512MBのx86マシンを自作して出直して下さい。

641:デフォルトの名無しさん
05/03/12 11:56:54
あの……落としものですよ?

         ∧__,,∧
        (´・ω・`)
         (つ夢と)
         `u―u´

  あなたのすぐ後ろに落ちていましたよ?

642:デフォルトの名無しさん
05/03/12 12:43:48
誰がネタを言ってるのかよくわからんが、
メインメモリ1Mぐらいの組み込み機器で
小さいスクリプト言語が動けば便利かも試練

643:デフォルトの名無しさん
05/03/12 12:47:47
メインメモリ1Mぐらいの組み込み機器なんて
入力装置がボタン数個だろうから、
スクリプト言語なんてあっても書けないぽ。

644:デフォルトの名無しさん
05/03/12 22:53:26
>>643
スタンドアローン開発する気?

645:デフォルトの名無しさん
05/03/13 00:00:58
ユーザーがスクリプト書くって事じゃないの?
そうじゃなければスクリプトである必要がないし。

646:デフォルトの名無しさん
05/03/13 12:05:29
スクリプト言語の利点はユーザが書けることだけじゃないよ。。

647:デフォルトの名無しさん
05/03/13 12:21:09
そう言いながら他の利点を書かない厨646

648:デフォルトの名無しさん
05/03/13 12:41:33
一から十まで教えられないとわからないか。
よく最大の利点と言われるのは手軽にプログラムが書けること。
ポータビリティが高いことも多い。

プログラマが自分のために書くプログラムは全部C言語とかですか?

649:デフォルトの名無しさん
05/03/13 13:44:46
>>642からの流れは「メインメモリ1Mぐらいの組み込み機器」での話ではないのか?
646や648よ。

650:デフォルトの名無しさん
05/03/13 14:21:41
>>648
教えられなくても分かるというやつは
天才か電波

651:デフォルトの名無しさん
05/03/13 14:26:43
>>642
少なくとも京ぽんのbookmarkletは激しく便利。

652:デフォルトの名無しさん
05/03/13 14:28:04
自ら学ぶ事もしないのか
ゆとり教育だな

653:デフォルトの名無しさん
05/03/13 15:21:31
>>649
>>646=>>648=俺だが、
「メインメモリ1Mぐらいの組み込み機器」では
手軽に書けることやポータビリティに意味はないと?

654:デフォルトの名無しさん
05/03/13 15:57:56
「メインメモリ1Mぐらいの組み込み機器にスクリプト言語あれば便利だなあ」
 「入力デバイスがなくてスクリプト書けねぇよ」
  「スタンドアロンで開発するわけがありません」
   「えーできないのー?ユーザが使えなきゃ意味ないじゃん」
    「んなこたない」
     「利点を具体的にいってみろよー」
    「手軽さとポータビリティだろが馬鹿そんくらい分かれ」
     「言われる前に分かったらエスパーだっつーの」
      「手前でしらべろボケ」
     「特にメモリ1M組み込み機器に限った話じゃないだろ」
      「組み込み機器にあれば便利だなあって話だ」←いまここ

結論は最初の一行。

655:デフォルトの名無しさん
05/03/13 16:16:28
では、結論。
>メインメモリ1Mぐらいの組み込み機器にスクリプト言語あれば便利だなあ
クレクレ君はスレ違いです。


656:デフォルトの名無しさん
05/03/13 16:21:42
1MもあればCコンパイラでも作れそうだが

657:デフォルトの名無しさん
05/03/13 16:43:01
>>656
その 1MB を全部コンパイラ関係(中間ファイル置き場も含む)に使ったら、
組み込み機器の本業が動かんでしょ。

658:デフォルトの名無しさん
05/03/13 17:03:40
>>656-657
640Kbyteで全部動いた時代が懐かしいな、まあどうでもいいが雑談はマ板でやったらどうだい?

659:デフォルトの名無しさん
05/03/13 17:51:23
組み込み機器にスクリプト言語実装する手間考えたら
ポータビリティの意味無いじゃん。

660:デフォルトの名無しさん
05/03/13 18:14:52
そこでLisp

661:デフォルトの名無しさん
05/03/13 19:28:42
>>658
ものによってはネイティブのマシン語より、
VM+バイトコードの方が
コード量が減るとかいう現象があったような。
さすがCISC。

662:デフォルトの名無しさん
05/03/13 21:12:23
そんなのVMの設計次第でしょ。
命令細かくすりゃマシンコードと変わらなくなる。

663:デフォルトの名無しさん
05/03/14 02:02:24
ものによってはっつってんのが目に入らんかこのバカチンが。

あ、話題としてはおもしろいかも。こういう話に詳しい人いる?

Java VM なんかはバイトコードのサイズが小さくなるように設計されてるから
最終的に動かすアプリケーションのサイズが大きければ大きいほど
ネイティブコードに比べて有利になりやすいんじゃないかな。

664:デフォルトの名無しさん
05/03/14 02:29:27
>>663
> 最終的に動かすアプリケーションのサイズが大きければ大きいほど
実用に耐える速度を出すためにJITを使うからなぁ、メモリ上の足跡はかなり大きいぞ。
まぁスタックマシンだからVM用のコードが小さいのは本当だけどさ。


665:デフォルトの名無しさん
05/03/14 02:57:43
KVMとか組み込み向けJavaVMもJITするの?
これまでの話の中でも速度は大して重視されてこなかったような。

666:デフォルトの名無しさん
05/03/14 03:30:01
バイトコードで動くCPUを使えばいいじゃないか

667:デフォルトの名無しさん
05/03/14 03:48:39
JNIのロード時間をどうにかしろよって思っちゃうんですけどこればっかりはどうしようもないんですかね?

668:デフォルトの名無しさん
05/03/14 04:55:34
情報工学とか出た人ってみんなコンパイラとか作れるんですか。

669:デフォルトの名無しさん
05/03/14 08:48:49
少なくとも資料をあたりながらでもそれができるだけの教育は受けているはず。


670:デフォルトの名無しさん
05/03/14 17:15:37
実際にはできるんですか

671:デフォルトの名無しさん
05/03/14 17:16:35
できる人もいる
できない人もいる

672:デフォルトの名無しさん
05/03/14 17:37:17
りんごが好きな奴もいれば
嫌いな奴もいるってこと?


673:デフォルトの名無しさん
05/03/14 17:47:03
↑馬鹿注意

674:デフォルトの名無しさん
05/03/14 19:04:43
ちゃんと勉強した奴もいればお情けで学位を頂戴した奴もいるってことだろ。


675:デフォルトの名無しさん
05/03/14 20:09:04
資料をあたりながらなら誰でも作れるよなあ。コンパイラくらい。

676:デフォルトの名無しさん
05/03/14 20:17:34
1.現実を知らないバカ。
2.できないやつを馬鹿にして優越感に浸るやなやつ。
3.誤爆。

677:デフォルトの名無しさん
05/03/14 21:53:56
ていうかドラゴンブック通して読んで作れない方がおかしくない?

678:デフォルトの名無しさん
05/03/14 21:58:13
そりゃどんなソフトでも作れるだろうけど、後は品質の問題になっちゃうよ。

679:デフォルトの名無しさん
05/03/14 21:59:01
麻宮騎亜はコンパイラもアセンブラもガリガリ書いてたよな

680:デフォルトの名無しさん
05/03/14 22:01:45
>>679
誰?
お前の名前か?
頭大丈夫?

681:デフォルトの名無しさん
05/03/14 22:03:59
通して読めたのに作れないのはおかしいかもな。
作れない奴は読み通せないから。

>>670
高卒がみんな高校の学習指導要領程度の英語を読み書き聞き話しできるかという質問と同じじゃないかな。

682:デフォルトの名無しさん
05/03/15 00:12:51
>>679
激しくすれ違いとでも言って欲しいのか? キモヲタくん。

683:デフォルトの名無しさん
05/03/15 00:30:31
本読めば作れると思ってる馬鹿がいるな

684:デフォルトの名無しさん
05/03/15 00:46:21
本読めば作れますが何か?

685:デフォルトの名無しさん
05/03/15 00:49:41
スモールコンパイラの製作で学ぶプログラムの仕組みとか読んだらわかるけど
Javaのコードと実質説明あんまりマッチしてないよ。
実際コーディングって泥臭いし、やり方は人それぞれ書けちゃうから。
本は定石を知るためにあると思うけどな。まぁでも、できるやつは本見ながら
適当に実装できるのは事実。


686:デフォルトの名無しさん
05/03/15 00:50:33
読んだだけで作れるなら幼稚園児でも作れるな

687:デフォルトの名無しさん
05/03/15 00:52:43
あの綾本の変な例え話漏れは受け入れられなかった・・・

688:デフォルトの名無しさん
05/03/15 11:26:49
狂大生だけど、作れなさそうなやつはわりといるよ.
曰く、「おれはプログラムなんかを組むために情報学科に来たんじゃない」だと。

689:デフォルトの名無しさん
05/03/15 12:37:27
>>685
その本読んだらわかるけど、まともな本じゃないよ。いわゆる俗本。

690:デフォルトの名無しさん
05/03/15 12:41:16
だからドラゴンブック読めよ

691:デフォルトの名無しさん
05/03/15 13:51:29
Tiger本でも良いと思うぞ。

692:デフォルトの名無しさん
05/03/15 14:09:29
>>687
ふらっと手にとってレジに持っていきそうになったが、
あの喩えのおかげで思いとどまる事ができた。いわば踏み絵。

693:デフォルトの名無しさん
05/03/15 14:13:38
>>688
俺も京大だけど、経験的にそいつよりおまえの方がプログラミング能力低いわ。

694:デフォルトの名無しさん
05/03/15 14:26:47
俺も京大だ。奇遇だな。

695:デフォルトの名無しさん
05/03/15 14:30:11
俺京大だけどお前ら実は三流大だろ

696:デフォルトの名無しさん
05/03/15 15:23:02
>> 693
まぁ、言わんとすることはなんとなく分かるけど、そいつはホントにプログラ
ミング言語の1つもまともに使えないよ.なんだかんだ行っても、情報学科の
底辺のダメさ加減はすごい.

697:デフォルトの名無しさん
05/03/15 15:47:55
学歴以外に自慢するものはないんかよ、このダメ人間どもは・・・・
高校卒業時が人生のピークでしたか?

698:デフォルトの名無しさん
05/03/15 17:44:50
>>693-695
これがほんとの三兄弟

699:デフォルトの名無しさん
05/03/15 17:53:50
ジャンガジャンガジャンガジャンガ

.(公) (益)
 乂  乂

ジャンガジャンガジャンガジャンガジャーン

ヽ(公)ノ
    ヽ(益)ノ

700:デフォルトの名無しさん
05/03/15 20:43:24
>>697
なんで怒ってんの?

701:デフォルトの名無しさん
05/03/15 21:02:44
高校卒業時が人生のピークだったんだろw

702:デフォルトの名無しさん
05/03/15 21:06:06
俺はおまえらより金も幸せも知識も技術も持っている。

703:デフォルトの名無しさん
05/03/15 21:34:57
そしてアソコもでかい。

704:デフォルトの名無しさん
05/03/15 21:37:29
でも彼女はいない。

705:デフォルトの名無しさん
05/03/15 22:32:06
しかし、メイドは居る。

706:デフォルトの名無しさん
05/03/15 22:39:10
雑談したいならマ板にいけよぉ、あっちいけぇあっちいけぇ

707:デフォルトの名無しさん
05/03/15 23:35:36
memphisとかiburgとか触っ照人いる?

URLリンク(memphis.compilertools.net)
URLリンク(www.cs.princeton.edu)

lex/yaccで作ったプログラムから呼ばれるバックエンドを
簡単に作れるものです。結構面白いよ。

708:デフォルトの名無しさん
05/03/17 14:25:17
チョトおもしろそう

709:デフォルトの名無しさん
05/03/17 23:24:57
>>678
素の通り、

航空機械出た奴は、そりゃ人力飛行機はつくれるだろう。
ただし、(ry


710:デフォルトの名無しさん
05/03/17 23:28:09
りんご本よんだら、携帯コンパイラ作れる?



711:デフォルトの名無しさん
05/03/17 23:44:49
数学の教科書読んだら、数学のテストで100点取れる?

712:デフォルトの名無しさん
05/03/18 00:17:38
りんご本て何?

713:デフォルトの名無しさん
05/03/18 00:21:08
綾本?

714:デフォルトの名無しさん
05/03/18 00:27:13
謎のりんご農園主
コンパ・イラ


715:デフォルトの名無しさん
05/03/18 04:24:48
コン・パイラ

716:デフォルトの名無しさん
05/03/18 05:32:42
教科書持ち込みでよければ取れるんじゃね?


717:デフォルトの名無しさん
05/03/18 05:48:51
>>716
あんたはりんご本よんだら、携帯コンパイラ作れる?

718:デフォルトの名無しさん
05/03/18 06:09:30
>>717
>>712
なんでそのりんご本とやらに限定されなきゃならんのか理解不能だが。


719:デフォルトの名無しさん
05/03/18 06:30:47
>>718
馬鹿ですね。

720:デフォルトの名無しさん
05/03/18 06:38:21
出た。勝利宣言。w



721:デフォルトの名無しさん
05/03/18 07:23:47
勝利宣言はうみねこを論破してからお願いします。

722:デフォルトの名無しさん
05/03/18 19:29:47
>>717
携帯コンパイラくらい簡単に作れる気になるだろ。
そして2チャンネルに「お前らそのくらいも作れんの?」と書き込めば
作った気になるだろ。

723:デフォルトの名無しさん
05/03/18 19:33:12
>>722
脳内妄想はどうでもいいから、現物を作れるのか?

724:デフォルトの名無しさん
05/03/18 19:37:19
>>723
簡単に作れる。(しかし、作ったことは無い。)
といったところだろう。

725:デフォルトの名無しさん
05/03/18 19:40:16
>>724
携帯単体でコンパイルして実行できるものが?へえー。

726:デフォルトの名無しさん
05/03/18 20:41:51
>>725
もしかしてそれが難しいとか思ってる?

727:デフォルトの名無しさん
05/03/18 20:50:43
>>726
ああ。
セキュリティ上、プログラムが作成したデータを実行する事ができないようになってるからな。

728:デフォルトの名無しさん
05/03/18 20:50:50
難しい以前に携帯の機械語が分からんので無理。

729:デフォルトの名無しさん
05/03/18 20:53:44
>>726
どうやんの?

730:デフォルトの名無しさん
05/03/18 22:12:22
りんご本て何?

731:デフォルトの名無しさん
05/03/19 01:48:41
>>728
判るよ(藁

732:デフォルトの名無しさん
05/03/19 14:11:18
>>728
CPUが分かればマシン語も分かんだろうがこのボケがぁー!

733:デフォルトの名無しさん
05/03/19 15:21:45
オープンソースの、Watcomコンパイラの、コンパイル方法教えてくれ

734:デフォルトの名無しさん
05/03/19 15:23:57
>>727
別にマシン語とは限ってないでしょ。
綾本ではスクリプトだけどコンパイルして実行してるよ。

それ以前にケータイ上で動くスクリプト作って
何に使うのかってほうがよっぽど疑問なんだけど。
良い使い道ある?

735:デフォルトの名無しさん
05/03/19 15:48:56
SPAM送信スクリプトとか


736:デフォルトの名無しさん
05/03/19 16:11:28
>>734
ユビキタスがはやりです

737:デフォルトの名無しさん
05/03/19 19:27:16
>>734
ごめん、徹夜明けでママン語に見えた。orz

738:デフォルトの名無しさん
05/03/19 20:39:46
>>737
はぁそうですか。で?

739:デフォルトの名無しさん
05/03/19 22:08:53
綾って呼び捨てにするな!


740:デフォルトの名無しさん
05/03/20 14:22:33
>>737-739
いちいち反応すんな、ボケェ。

741:デフォルトの名無しさん
05/03/24 23:21:46
まじめな話、スモールコンパイラ本の字句解析あたりに出て来る
侍ってなにの例えですかね?


742:デフォルトの名無しさん
05/03/24 23:24:51
りんご農園の喩え話読まされてますますわけわかんなくなったよ(つ'A`)

743:デフォルトの名無しさん
05/03/24 23:26:58
あれは悪書だなw
普通に説明すれば分かるものを、
例え話を持ち出して読者を混乱させているw

744:デフォルトの名無しさん
05/03/24 23:31:13
実行イメージに換算して5kバイト程度の短いインタプリタをCで作りたいのですが、
LISPが良いですか?
括弧に抵抗はありません。
Forthはさっぱりわかりません。
簡単な制御に使います。

745:デフォルトの名無しさん
05/03/24 23:43:31
Forthがいいんじゃね?

746:デフォルトの名無しさん
05/03/24 23:45:24
>>745
じゃね、またね。

747:デフォルトの名無しさん
05/03/24 23:46:46
>>744
Lispは実際に実装しようと思うと面倒だから、Schemeにしといたら?
参考になる小さなSchemeのプログラムがいっぱいあるよ。1000行ぐらいのやつとか。

748:デフォルトの名無しさん
05/03/25 00:03:39
じゃあSchemeにします。

749:デフォルトの名無しさん
05/03/25 19:22:36
セルを確保する場合、1つ1つmallocするよりも、
ブロック単位にした方が良いですよね。
最適な数がわからないから、1MBぐらい一気に配列として確保しておいて、
あとは無くなり次第reallocでしょうか。
GCは簡単そうなマーク&スイープで作ります。
継続はたぶん使わないので、末尾再帰と適当な大域ジャンプだけ
取り付けることにします。


750:デフォルトの名無しさん
05/03/25 19:51:29
綾の本は初心者には良いよ。


751:デフォルトの名無しさん
05/03/25 22:10:54
>>749
> セルを確保する場合、1つ1つmallocするよりも、
> ブロック単位にした方が良いですよね。

ここまでいいのに

> あとは無くなり次第reallocでしょうか。

なんでこうなるんだorz

ちょっと遠回りのようでも、人の作った例をいろいろ見て勉強するのがいいよ。


752:デフォルトの名無しさん
05/03/27 18:05:13
>>751
とりあえずは、りん(ry


753:デフォルトの名無しさん
05/03/27 19:40:03
ここは本すら書けない香具師らのりんご本への嫉妬スレですね

754:デフォルトの名無しさん
05/03/27 19:42:10
>>753
低レベル過ぎて困っちゃうんだ。ボクみたいにレベルが高い人だと物足りないって感じ?

755:デフォルトの名無しさん
05/03/28 09:31:07
っつーか変な例え話されたら余計混乱して分かるもんも分からなくなるだろ普通

756:デフォルトの名無しさん
05/03/28 20:36:41
人による

757:デフォルトの名無しさん
05/03/28 21:11:46
Schemeできました。
結構速くて満足してます。

758:デフォルトの名無しさん
05/03/29 00:27:36
コンパイラとはちょっとずれますが、
木オートマトンについて解りやすい本ないでしょうか?

759:デフォルトの名無しさん
05/03/29 13:05:20
tree automataでぐぐったら先頭に出てきた
URLリンク(www.grappa.univ-lille3.fr)
Tree Automata Techniques and Applications
はどうでしょう。
わかりやすいかどうかは知らない。


760:デフォルトの名無しさん
05/03/30 20:00:29
>>756
胴衣

洩れ的には大変参考になつた。
新しいことをちょっぴり覚えて興奮した。


761:デフォルトの名無しさん
05/03/31 23:45:12
興奮?


762:デフォルトの名無しさん
int 2ch =5年,2005/04/02(土) 15:10:11
>>759
むずい.1章で挫折しますた.

763:デフォルトの名無しさん
int 2ch =5年,2005/04/02(土) 16:39:26
あやたんの本。ドラゴンブックを読むための準備の本として立ち読みしとけばOK。
そういう意味では、存在価値があると思う。
行きつけの書籍店でソファーに座りながら読ませていただきました。



次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5384日前に更新/188 KB
担当:undef