「コンパイラ・スクリ ..
331:デフォルトの名無しさん
05/05/27 20:52:11
>>329
lispの例題とかで見たこと無い?
ものすげーえげつない再帰呼び出しのテストだと思ってくれ。
332:デフォルトの名無しさん
05/05/27 21:35:57
>>331
すまんが、そういう話じゃない
関数呼び出しのテストにしても変数が1個や2個の値参照程度では
違いは出にくいということ
333:デフォルトの名無しさん
05/05/27 21:41:48
こんな感じ?
extern yattarman(){
printf("アフォ\n");
}
334:デフォルトの名無しさん
05/05/27 21:50:56
ack(m,n) = n+1 if m = 0
ack(m-1, 1) if n = 0
ack(m-1, ack(m,n-1)) otherwise
335:デフォルトの名無しさん
05/05/27 21:53:10
>>334
すまんが、そういう話じゃない
関数呼び出しのテストにしても変数が1個や2個の値参照程度では
違いは出にくいということ
336:デフォルトの名無しさん
05/05/27 22:06:19
ここはお前の話をみんなで静聴するスレじゃないぞ。
各人がしたいように話を転がしていくだけだ。
337:デフォルトの名無しさん
05/05/27 22:08:15
仕切り厨の自己否定乙ww
338:デフォルトの名無しさん
05/05/28 00:28:16
>>337
すまんが、そういう話じゃない
関数呼び出しのテストにしても変数が1個や2個の値参照程度では
違いは出にくいということ
339:デフォルトの名無しさん
05/05/28 03:12:13
>>333
そう、それだ!
340:デフォルトの名無しさん
05/05/28 04:15:37
>>333
extern coffee(){
printf("ボケ\n");
}
extern lighter(){
printf("ゴルァ\n");
}
341:デフォルトの名無しさん
05/05/28 23:34:48
アメ、コーヒー、ライター?
342:デフォルトの名無しさん
05/05/29 01:10:17
ヤッターマン
343:デフォルトの名無しさん
05/06/04 04:52:17
そろそろN88BASIC作ろうと思うんだけど、どう?
344:デフォルトの名無しさん
05/06/04 12:18:56
N05BASICの誤りでは?
どんな畑になることやらw
345:デフォルトの名無しさん
05/06/04 21:04:29
>>344
???
346:デフォルトの名無しさん
05/06/04 21:16:13
>>345
しぃーっ!見ちゃだめ!
347:デフォルトの名無しさん
05/06/04 22:01:33
bison -v で出力される *.output と言うファイルの書式の解説って
マニュアルには含まれてないと思うのですが、ありますか?
348:デフォルトの名無しさん
05/06/04 22:05:10
>>347
人が見て理解できれば十分だと思うけど……
*.output ファイル自体をいじるとか、そういうことを考えているの?
349:デフォルトの名無しさん
05/06/04 22:34:23
>>348
state 100
nls -> '\n' . (rule 200)
とかあった場合、この点(.)は何を意味するものなの?
350:デフォルトの名無しさん
05/06/05 00:02:52
オライリーの本読め。解説してあったと思うが。
なくてもそれくらい見当つかないんじゃ困るとは思う。
351:デフォルトの名無しさん
05/06/05 00:12:32
lex&yacc でイイデツカ?
352:デフォルトの名無しさん
05/06/05 00:22:29
うん。
353:デフォルトの名無しさん
05/06/05 03:26:05
>>344
それ以前に2000年問題に対応してください
354:デフォルトの名無しさん
05/06/05 03:35:03
>>344==353
355:デフォルトの名無しさん
05/06/05 11:17:47
>>349
LALR(1)
356:351
05/06/05 18:39:22
>>352
ありがとう。
>>355
LALR(1) の標準記法とかあるのですか?
357:デフォルトの名無しさん
05/06/05 18:47:49
>>356
標準かどうかしらんが
LALR(1)を勉強した人なら一瞬で分かる。
358:デフォルトの名無しさん
05/06/05 19:46:23
>>353
畑は1年単位のサイクルの筈。
359:デフォルトの名無しさん
05/06/05 23:06:16
>>344==353==358
360:デフォルトの名無しさん
05/06/06 08:56:20
並列化コンパイラを作ることになったんですが、
なにをどうすればいいかわかりません
良い本、サイトなどあれば教えてください
361:デフォルトの名無しさん
05/06/06 09:14:01
TAに泣きつけ。
362:デフォルトの名無しさん
05/06/06 10:51:43
並列化のための補助文法を言語的に持っているという意味?
それとも複数の演算素子にコードを割り振る方?
363:360
05/06/06 17:05:12
そもそもコンパイラそのものがわかっていないので
1から勉強できるようなものがあると助かるとです
364:デフォルトの名無しさん
05/06/06 18:37:44
360は早稲田の学生
365:デフォルトの名無しさん
05/06/06 19:54:03
>>363
まずは、りんご畑系の本を勧める。
366:360
05/06/07 02:28:10
>>364
駅弁です
>>365
リンゴ畑とは?
367:デフォルトの名無しさん
05/06/07 23:42:17
予約語と識別子との区別を、字句解析時に行ってしまうのがいいのか、構文解析時になってから行うのがいいのか悩んでいます。
字句解析時に行ったほうがわかりやすいような気もするけど、構文解析時に行ったほうが柔軟になるし(予約語と同じ名前のメソッド名を定義できるとか)。
みなさんはどうしてますか。
368:デフォルトの名無しさん
05/06/07 23:52:07
作ろうとしている言語の文法を合うように
決めればいいんじゃない?
つまんない意見でごめんな
369:デフォルトの名無しさん
05/06/07 23:59:39
ほぼ同意。
ps.りんご畑だとパーサだったかな?
370:デフォルトの名無しさん
05/06/08 00:12:20
typo
×文法を合うように
○文法に合うように
371:デフォルトの名無しさん
05/06/08 01:10:48
>>367
>予約語と同じ名前のメソッド名を定義できるとか
そもそもこんなことができると紛らわしいからよした方が…
ワインバーグが「プログラミングの心理学」のどっかにそんなことを書いていたはず。
372:デフォルトの名無しさん
05/06/08 01:17:01
>>371
古い概念にとらわれるな
373:デフォルトの名無しさん
05/06/08 10:02:30
>>372
歴史に学べ
374:デフォルトの名無しさん
05/06/08 10:04:01
>>367
ifという名前のローカル変数を作ってしまってif文が使えない
とかいうことになるので、字句解析でやっといた方がいいんじゃないかな。
375:デフォルトの名無しさん
05/06/08 10:41:04
素人な質問だけど、構文解析どう書くの?
IDENT expr IDENT block IDENT block
で$1と$3と$5がそれぞれ"if" "then" "else"であることを
アクションでチェック?現実に実現可能なもの?
376:デフォルトの名無しさん
05/06/08 12:25:52
構文木を識別子以外のものに基づいて組み立てれば無問題。括弧とか。
377:デフォルトの名無しさん
05/06/08 12:26:47
>>360
育男ちゃんに代打ちしてもらえばいいじゃん
378:デフォルトの名無しさん
05/06/08 13:08:32
文法の、どこに error を噛ませれば良いのか分からんですたい
379:デフォルトの名無しさん
05/06/08 13:39:49
エラーが発生したらなかったことにしたい単位のところ。
全てが式の言語なら式。Cみたいのなら文か関数。
例外処理のcatchのようなもんだ。
380:デフォルトの名無しさん
05/06/08 20:52:34
それよりも的確な場所でエラーを検出することができるかどうかだよ
極端な言語で言えば、LISP系はソースコードの何行目でエラーが出た、
とかの検出が困難。
S式として妥当ならreadが通ってしまう。
readに通した時点で行の情報は失われる。
よく知らないけどLISPのエラー検出の最小単位って関数かな?
エラー検出とかのためにリストがどの行のものか保存するLISP処理系ってある?
381:デフォルトの名無しさん
05/06/08 20:56:29
VCのコンパイラって/Pオプションでプリプロセッサを通した結果がとりだせるじゃないですか
bccではそのようなコンパイルオプションってないですか?
382:367
05/06/08 21:04:00
ご回答いただいた皆様、どうもありがとうございます。
そもそもの動機は、事前にすべての予約語を予測することができない(あとで必ず新しい予約語を追加したくなる)ので、
せめて識別子がくることが明確にわかっている場所でなら、予約語でも識別子として使えるようにしておけば、
新しい予約語を追加したときに、多少なりとも影響を小さくできるかなと思ったからです。
また個人的には「switch」や「end」をメソッド名として使えたらなーと思うことがあったので、メソッド名であることが明らかなら
予約語でもメソッド名にできるようにしたかったのです。(Rubyだとそれができるみたい)
しかーし、発想をかえまして、予約語になんらかのプレフィックスをつけることにしました。
PHPやPerlでは、変数名と予約語がかぶらないように変数名のほうにプレフィックスをつけますが、
それとは逆に予約語にプレフィックスをつければ、変数名やメソッド名とかぶらなくてすむんじゃないかと。
ifやwhileにプレフィックスをつける言語なんてきわものっぽいですが、なんか気に入ったのでこれでいくことにします。
スレ汚しすみませんでした。
383:デフォルトの名無しさん
05/06/08 21:06:52
>>379
いや、俺が気になるのは、それが全てのエラーを正しく捕まえてくれるのかと、無限ループが起きないかどうかです
……多分、yyerrok の挙動の理解が甘いような気がするんだけど
根元に error を仕込みたいですけど、エラーリカバリ後のゴミが結構引っかかります orz
384:デフォルトの名無しさん
05/06/08 21:54:44
もれが気になるのは、ねーちゃんのケータイかどうかってことだ。
385:デフォルトの名無しさん
05/06/08 21:59:44
>>384
どっからそういう話になるんだ?
誤爆?
386:デフォルトの名無しさん
05/06/08 22:12:00
URLリンク(www.sidhe.org)
Parrotの実装について
387:デフォルトの名無しさん
05/06/08 23:24:31
予約語と識別子の区別はなんとでもなると思うが、
後から追加した予約語の文法定義はどうやって追加するの?
ってあたりが気になった。
388:デフォルトの名無しさん
05/06/09 20:22:41
>>380
gaucheとか、エラー時に行番号を表示してくれるから何かやってるんじゃない?
389:デフォルトの名無しさん
05/06/09 23:54:13
>>380
>>388
構文木のノード毎に、行数を覚えておけば済むでしょ
390:デフォルトの名無しさん
05/06/10 00:05:29
>>389
(´,_ゝ`)プッ
391:デフォルトの名無しさん
05/06/10 00:49:48
gaucheってランタイムエラーのときも行数表示するん?
392:デフォルトの名無しさん
05/06/10 00:50:19
「人権擁護法案」を知って下さい。どう考えるかは 貴方次第です。
法務省 第154回国会(常会)提出主要法律案 人権擁護法(案)
URLリンク(www.moj.go.jp)
ズームイン朝でおなじみ、 辛坊治郎さんのコラムです。
URLリンク(shinsho.shueisha.co.jp)
こちらは櫻井よしこさんのコラムです。
URLリンク(blog.yoshiko-sakurai.jp)
櫻井よしこ 人権擁護法案緊急リポ(SAPIO 6月22日号6月8日発売)
URLリンク(www.uplo.net)
URLリンク(www.uplo.net)
URLリンク(www.uplo.net)
URLリンク(www.uplo.net)
他にもこのような方々が危険性を危惧しています。
西尾幹二
URLリンク(nitiroku-nishio.jp)
西村幸祐
URLリンク(nishimura-voice.seesaa.net)
タックルと報道2001とチャンネル桜の動画。
URLリンク(nur.ath.cx)
参考資料 国連の勧告といわれる物
国内機構の地位に関する原則(パリ原則)
URLリンク(www.moj.go.jp)
393:デフォルトの名無しさん
05/06/10 09:18:46
>>391
するよん。バックトレースにも表示される。
394:デフォルトの名無しさん
05/06/10 13:02:02
>>367
字句解析で識別するしかない。
予約語のない(キーワードと同じ変数名が使える)言語としてはPL/Iがある(あっ
た、というべきか)。が、たとえ予約語のない言語でもキーワードは字句解析
で識別しないとダメだろう。
そのような言語では、具体的にはこういうふうにする。
stmt: IF expr THEN ....(略)
expr: Identifier
Identifier: IDENTIFIER | IF | THEN ...
むろんCのような文法ではこれはconflictをおこすので無理だが、
PL/Iならなんとかなるかもしれない。もっともPL/IがLR(1)で記述できるかど
うかは不勉強にして知らない。もっと長い先読みが必要かもしれない。
395:りんごタン
05/06/11 11:18:27
>>394
> むろんCのような文法ではこれはconflictをおこすので無理だが、
> PL/Iならなんとかなるかもしれない。
どういうことですか?
PL/1 自体、リアルでは使ったこと無いんですが(つまり、本の知識のみ)
conflict の発生に大きな違いがでますか?
396:デフォルトの名無しさん
05/06/11 12:39:18
>>394
LISP みたいに () で囲むというような規則を厳守すれば、キーワードの識別は意味解析まで遅らせられる気がしますが
397:デフォルトの名無しさん
05/06/12 10:53:24
URLリンク(llvm.cs.uiuc.edu)
RubyComp: A Ruby-to-LLVM Compiler Prototype (Anders Alexandersson, M.S. Thesis)
Abstract:
Dynamic programming languages are not generally precompiled, but are interpreted at run-time.
This approach has some serious drawbacks, e.g. complex deployment,
human readable source code not preserving the intellectual properties of the developers and
no ability to do optimizations at compile-time or run-time.
In this paper we study the possibility to precompile the Ruby language, a dynamic object-oriented language,
into Low Level Virtual Machine (LLVM) code for execution by the LLVM run-time,
a compiler framework for lifelong optimization of an application.
The result of the project is a Ruby compiler prototype, describing the infrastructure and overall design principles
to map the highly dynamic properties of the Ruby language into low-level static constructs of the LLVM language.
The LLVM framework supports different hardware platforms, and by using LLVM as the target of compilation
the benefits of that portability are gained.
398:デフォルトの名無しさん
05/06/12 13:34:32
ほう。
漏れ自身はRubyは全然使ってないんだが、
世界中にファンが居るんですね。
動的言語としてのRubyの言語仕様のうち、
コンパイルしにくい要素って何なのでしょうか
399:デフォルトの名無しさん
05/06/12 17:17:28
eval?
400:デフォルトの名無しさん
05/06/12 17:23:55
(´・ω・`) エヴァってても関係無いがな
401:デフォルトの名無しさん
05/06/12 17:38:48
evalとリフレクション?
>>400
ないの?
lisp系以外でevalのある言語のコンパイラってある?
perlccやexerbのようなのでなく。
402:デフォルトの名無しさん
05/06/12 17:53:24
Lisp 以外のネイティブコンパイラは知らないけど、
Lisp と同じようにすれば良いかと
(スタンドアローンは要件に無かったから)
403:デフォルトの名無しさん
05/06/12 18:29:58
LISP房とRUBY房ほど、有名な房はいないなW
404:デフォルトの名無しさん
05/06/12 18:31:03
房?
405:デフォルトの名無しさん
05/06/12 19:38:28
JavaとかC++は??
406:デフォルトの名無しさん
05/06/12 20:48:33
>>403
2大棒
407:デフォルトの名無しさん
05/06/12 21:30:37
>>398
コンパイルしにくいというよりは、staticに決めにくいということでは?
メソッド呼び出しをstaticにすることなんか絶対にできないし、
クラス定義でさえ実行文だから、staticにクラスを作成しておくこともできないし、
ローカル変数と引数なしのメソッドの見分けもつかないし。
staticにできることといえば、事前に構文解析してツリーつくるぐらいだけじゃねえか?
408:デフォルトの名無しさん
05/06/12 22:13:27
>>407
Rubyは知らないが、アンタの話がピント外れなのはよく判る。
409:デフォルトの名無しさん
05/06/12 22:34:09
>>408
スレ的にピントをぼかしてるのはおまい様ではないのかえ?
410:デフォルトの名無しさん
05/06/12 22:37:21
>>407
>staticにできることといえば、事前に構文解析してツリーつくるぐらいだけじゃねえか?
そう、exerbはまさにそれ。
でもevalがあるからパーサが不要というわけじゃない。
結局スクリプトにインタプリタをくっつけただけ(に毛が生えた程度)
411:デフォルトの名無しさん
05/06/12 23:01:58
>>410
でもその”毛”は結構デカイんだよな(w
412:デフォルトの名無しさん
05/06/12 23:06:40
剛毛
413:デフォルトの名無しさん
05/06/12 23:13:18
>>402
lispのevalってコンパイラではどんな風に実装されてるの?
多分S式に特化した工夫があるんだよね。
>>411
作るのは大変だろうけど、そんなに実行効率変わるもんなの?
414:デフォルトの名無しさん
05/06/12 23:33:12
おれは、どちらかというとパイパン派だけどな
415:デフォルトの名無しさん
05/06/13 00:13:17
>>409
ほっといてやれよ、408が知らないのはRubyだけじゃないだろ。
416:デフォルトの名無しさん
05/06/13 00:51:55
LISPのevalがする仕事ってのは入力リストを
コードと見なしてマクロ展開しながら評価してくだけ。
S式になってる時点で字句解析が済んだリストの状態ってことだから、
たとえば動的に作成した引数リストを渡したいだけならreadしたものを
そのままapplyに渡せたりするので、少し工夫すればevalを使う
必要はあんまりない。
ほとんどコンパイル済みのクロージャとかで間に合う。
この辺rubyとかperlのevalの事情とはだいぶ違う。
417:デフォルトの名無しさん
05/06/13 01:18:37
よくあるようなschemeコンパイラが出力するネイティブコードには
1) プログラム全体のS式(パースなどはされてるかも)
2) S式を評価するインタプリタ(eval)
に加えて、最適化用に
3) defineされた関数をコンパイルしたネイティブコード
があらかじめ含まれてる、って理解でいいかな。
しかし一部のschemeコンパイラ(chezとか)の異常な速さには、
もっと秘密がありそうだw
418:デフォルトの名無しさん
05/06/13 01:30:09
は? 1を含む必要が理解できないんだが。
419:デフォルトの名無しさん
05/06/13 01:44:14
>>417
ChezやGaucheなどの速い部類のschemeは
read後のevalの代わりにcompileフェーズが入る。
もちろんマクロはcompile直前に全て展開される。
read→compile→run(→write)
420:デフォルトの名無しさん
05/06/13 01:59:54
>>418
あ、schemeはリフレクションみたいにプログラムをデータとして扱うことはできないのか。
じゃquoteされてるとこだけでいいのかも。(自信なし)
>>419
あー、JITか。なるほどなるほど。サンクスです。
Rubyも爆速コンパイラ作ってJITやhotspotすればいいんだな。(無理)
421:デフォルトの名無しさん
05/06/13 02:01:09
>>416
むしろevalが出てくるLISPコードは下手糞が書いたものか、
自分で評価周りを拡張するとかの特殊用途ぐらい。
422:デフォルトの名無しさん
05/06/13 02:02:31
>420
誤解があるようだけど
schemeのS式もLISPと同じくプログラム=データですよ。
423:デフォルトの名無しさん
05/06/13 02:09:49
いったんdefineされた関数の定義を、S式として取り出して扱うこともできるんでしたっけ。
(define (f x) x) の f から '(lambda (x) x) を取り出すみたいな。
だとしたら>>417の1がいるかな、と思ったんですが。
424:デフォルトの名無しさん
05/06/13 02:46:12
>>423
かなり昔のLISPの本を読んだね?
今はdefine定義された関数を評価するとクロージャという
Schemeオブジェクトとして抽象化される。
クロージャからデータ(コードの印字表現)は基本的に取り出すことはできない。
コンパイルすると不要な情報は消えてしまうし、できたとしても処理系依存で実装される。
もちろん取り出せる処理系もある。
まあ、これ以上詳しくはschemeスレで聞くか、適当な入門サイトでも見た方が。
425:398
05/06/13 12:14:36
下らん。もう一回言うね。
>>397の研究内容を踏まえて、
動的言語としてのRubyの言語仕様のうち、
コンパイルしにくい要素って何なんだろうね。
426:デフォルトの名無しさん
05/06/13 13:26:07
>>425
は?今まで言われてきた通りじゃないの?
>the main difficulty of compiling Ruby is the fact that the program can
>be updated during run-time
とあるから、論文の著者自体は>>407を問題視してると思われ。
つか、論文あるんだから読めよ。
427:デフォルトの名無しさん
05/06/13 13:43:04
>>424
なるほど、ありがとうございました。
schemeというとプログラム=データだってよく聞くんですが、
その本質の意味や利点をいまいち理解できてないんですよね。
入門サイトに行ってきます。
428:デフォルトの名無しさん
05/06/13 14:05:56
>>426
ちょっと目を通した。
>>407そのまんまの話で、proof of conceptという事でがっくり。
今後に期待といった感じか。
429:398
05/06/13 18:15:38
>>426
論外だな。もう一回言うね。
>>397の研究内容を踏まえて、
動的言語としてのRubyの言語仕様のうち、
コンパイルしにくい要素って何なんだろうね。
430:398=428 ◆Nj.Bk96Vy2
05/06/13 18:21:49
>>429をスレ荒らしと判定。レス削除依頼を出します。
431:デフォルトの名無しさん
05/06/13 19:47:55
>>429
そもそもrubyはコンパイルできないじゃん
しにくいという以前に、できない言語なんだよ
432:デフォルトの名無しさん
05/06/13 20:41:35
英語読めないんだね
433:デフォルトの名無しさん
05/06/13 21:28:11
>>431
はぁ?
そんな言語ありませんが?
アフォですか?
434:デフォルトの名無しさん
05/06/13 21:44:05
コンパイルの定義で揉める巧妙な書き込みがなされているな
435:デフォルトの名無しさん
05/06/13 21:44:44
Rubyは存在しないらしい、という学説がここに提唱されました
436:デフォルトの名無しさん
05/06/13 22:35:40
具体的な根拠も書かずに煽るだけの輩がいるからねぇ
437:デフォルトの名無しさん
05/06/13 23:19:26
>>436
発狂?
438:デフォルトの名無しさん
05/06/13 23:23:15
Rubyの開発周りはキチガイだらけだからね
439:デフォルトの名無しさん
05/06/13 23:25:50
なんだ荒らしか
440:ptr->433
05/06/14 00:13:09
要は、コンパイラが作れないような言語はないってことでしょ?
441:デフォルトの名無しさん
05/06/14 00:31:05
インタプリタが作れる言語ならコンパイラは原理的には作れるね。
コンパイルするメリットがあるかどうかはともかく。
442:デフォルトの名無しさん
05/06/14 01:18:12
eval
443:デフォルトの名無しさん
05/06/14 03:51:04
下らん。もう一回言うね。
>>397の研究内容を踏まえて、
動的言語としてのRubyの言語仕様のうち、
コンパイルしにくい要素って何なんだろうね。
444:デフォルトの名無しさん
05/06/14 03:57:46
>>443をスレ荒らしと判定。レス削除依頼を出します。
445:デフォルトの名無しさん
05/06/14 07:50:41
>>425をスレ荒らしと判定。レス削除依頼を出します。
446:デフォルトの名無しさん
05/06/14 07:59:05
うへ、プ板版のkouei35みたいなやつが居るな。
こういう奴がいると強制ID制度ほしくなるな。
447:デフォルトの名無しさん
05/06/14 10:36:44
>>434
件の論文は、中間コードへのコンパイルの事だと思うのだけど。Ruby-toLLVM compiler
こっちではネイティブコードへのコンパイルを想定してる様な雰囲気ですよね。
>>428
sRubyについて調べてみては?
448:デフォルトの名無しさん
05/06/14 10:54:58
なんだRubyの人って説明不足で揉めるような書き込みが大得意なんだな。
最初からLLVMって書いてあるのに。
449:デフォルトの名無しさん
05/06/14 11:02:24
>>447
> sRubyについて調べてみては?
えぇ〜と、なんか前聞いた覚えあるんだけどこれかな?
URLリンク(thekode.net)
Robert Feldt, sRuby - A Ruby dialect for low-level programming
450:デフォルトの名無しさん
05/06/14 11:15:29
これだからRubyがからむと嫌なんだ・・・
451:デフォルトの名無しさん
05/06/14 11:51:46
中間コードへのコンパイルもネイティブコードへのコンパイルも
本質的に他言語への翻訳でしょ。
コンパイルの定義で揉めるというのは、
「インタプリタとスクリプトをくっつけて単体実行可能にしたもの」
を出力するのはコンパイルと言えるか否か、という話じゃないの?
>>450
まあでも、字句解析構文解析のかみ合わなくて不毛な話題よりは
今の方が面白いよ。
452:デフォルトの名無しさん
05/06/14 18:30:27
下らん。もう一回言うね。
>>397の研究内容を踏まえて、
動的言語としてのRubyの言語仕様のうち、
コンパイルしにくい要素って何なんだろうね。
453:デフォルトの名無しさん
05/06/14 19:03:05
そんなに何度も繰り返すなら、
まずはコンパイルしにくくない要素のコンパイルをあなたが説明してね。
454:デフォルトの名無しさん
05/06/14 19:55:33
ここまでくると荒らしだな
455:デフォルトの名無しさん
05/06/14 20:22:40
>>450
lispもなw
456:デフォルトの名無しさん
05/06/14 21:15:48
Lisp で荒れる理由: アンチが厨だから
Ruby で荒れる理由: ユーザが厨だから
457:デフォルトの名無しさん
05/06/14 21:18:31
>Lisp で荒れる理由: アンチが厨だから
Lispユーザーが平気でこう言うあたりが、荒れる真の理由かねw
458:デフォルトの名無しさん
05/06/14 21:39:52
まあ日本のLisp人口の多数派は40前後のおっさんだからね。
459:デフォルトの名無しさん
05/06/14 21:45:03
Lispは40年前に生まれた言語だから、生まれた時から、Lispってる計算になる
460:デフォルトの名無しさん
05/06/14 21:46:43
>>458
こういう FUD を平気で言うあたりがアンチが厨だという証拠w
461:デフォルトの名無しさん
05/06/14 21:50:00
年齢が40前後がなんでFUDになるのだろう。
462:デフォルトの名無しさん
05/06/14 21:55:53
この公式はどうだろう
アンチLISP=Rubist
アンチRuby=LISPer
463:デフォルトの名無しさん
05/06/14 21:58:23
>>460は数少ない現役厨房Lisperか。大事にせにゃw
464:デフォルトの名無しさん
05/06/14 22:02:58
>>462
すなわち、こういう事のようだな(↓)
LISPシンパ≒Rubyシンパ
465:デフォルトの名無しさん
05/06/14 22:18:29
………………………… き り す て …………………………
466:デフォルトの名無しさん
05/06/14 22:20:02
lispもなw
たったこの一言が原因で、しつこく粘着して
しっかりと荒らすんだから、ある意味すごい
467:デフォルトの名無しさん
05/06/14 22:28:37
………………………… Reset …………………………
468:デフォルトの名無しさん
05/06/14 22:46:48
このスレでLispとRubyの話題は禁止ということで
469:デフォルトの名無しさん
05/06/14 22:55:05
………………………… >>468 を は つ げ ん き ん し …………………………
470:デフォルトの名無しさん
05/06/14 23:11:53
荒れてる原因はRubyでもLispでも信者でもアンチでもないと思うんだが…
単に話が理解できないバカが原因だろ?
471:デフォルトの名無しさん
05/06/14 23:11:57
3大禁句(↓)
Li(ry
Ru(ry
りん(ry
472:デフォルトの名無しさん
05/06/14 23:14:03
>>458
ってことは、煽りでなくて若者には人気がないってことですか?(LISP)
素朴な疑問としてなんでなんでしょうね?
(書籍が少ないから?)
473:デフォルトの名無しさん
05/06/14 23:15:10
>>470
はげどう
474:デフォルトの名無しさん
05/06/14 23:19:01
>>472
↓で同じ質問をして、身をもって知ってみてはどうか?
スレリンク(tech板)
しかし粘着がまだいるな
475:デフォルトの名無しさん
05/06/14 23:24:31
>>472
書籍って言語解説書のこと?
そんなもの必要なの??
要らないと思うなぁ。
476:デフォルトの名無しさん
05/06/14 23:27:03
>>472
Lispの黄金時代というのが太古の昔あっての。
汎用機屋以外は、猫も杓子もLisp Lisp、
Lispしか動かないマシンが続々と発売された。
普通の商売としてLispを使った経験のある人間がその世代なんじゃ。
477:デフォルトの名無しさん
05/06/14 23:31:32
ありえん。
数式処理屋、エキスパートシステム屋、AI屋、あと画像処理屋くらいなもんだろう
Lisp専用機使ってたのは
478:デフォルトの名無しさん
05/06/14 23:37:11
LISPのアンチというのがわからんな。
LISPの機能とかは他の言語で代用は無理だからなあ。
まあEmacsなかったらm4以下の存在だったかもしれない。
479:デフォルトの名無しさん
05/06/14 23:39:59
アンチを作りたくてしょうがなさそうな発言だね。
480:デフォルトの名無しさん
05/06/14 23:42:36
>>478のようなやつがなんでこのスレにいるんだ…あきらかに無縁だろ…
481:472
05/06/14 23:50:38
>>475
やはり本がないと(汗
>>477
専用器なんてあったんですか!
ある意味凄い。
482:デフォルトの名無しさん
05/06/14 23:56:08
シンボリ
483:デフォルトの名無しさん
05/06/15 00:02:03
>>477
「Lisp専用機」という存在自体が今の人間にとってはそれこそ「ありえん」だろう。
この黄金期も短かった。
最大の理由は、当時登場した万能太陽神に信仰を奪われたこと。
おまけの理由としては、一大国家施策としてヤンキーでなくおふらんすの言語を推進したこと。
今となっては>>478が言うように、エディタのおまけ言語としてしかLispをさわったことのない
人間のほうが多くなってしまった。
484:デフォルトの名無しさん
05/06/15 00:04:03
IPSJ>コンピュータ博物館>年表と日本の歴史的コンピュータ
ワークステーション・Lispマシン
URLリンク(www.ipsj.or.jp)
URLリンク(www.ipsj.or.jp)
1974:MIT:CONSマシン
1974:Xerox PaloAlto:Altoワークステーション上にInterLispを移植
1976:MIT AIラボ:CADRマシン
→Symbolics、LMI(LISP Machine Inc.)社の商用Lispマシンの原型となった
1979:神戸大:神戸大Lispマシン開発
URLリンク(www.ipsj.or.jp)
1982:大阪大:LispマシンEVLIS開発
URLリンク(www.ipsj.or.jp)
1983:電電公社:通研LISPマシンELIS試作機稼動
URLリンク(www.ipsj.or.jp)
1984:理研:数式処理計算機FLATS開発
URLリンク(www.ipsj.or.jp)
1984:富士通:Lispマシン FACOM α 発表
URLリンク(www.ipsj.or.jp)
485:デフォルトの名無しさん
05/06/15 00:08:57
>483
フランス産はどれも優雅だねぇ。
486:デフォルトの名無しさん
05/06/15 00:29:25
フランスの言語って何?
OCaml は何やら汚らしい感じがするが
487:デフォルトの名無しさん
05/06/15 00:37:50
Prolog?Ada?
488:デフォルトの名無しさん
05/06/15 01:59:55
>>484
すげーな富士通までやってたのかw
当時どれだけ影響力あったかわかるな。
489:デフォルトの名無しさん
05/06/15 02:15:24
技術的系譜はこんな感じだそうです。(IPSJ情報)
神戸大TAKITEC→富士通FACOM α(試作機)→理研FLATS(発案:故後藤英一先生, 設計協力:富士通, 製作:三井造船)→FLATS2
→富士通FACOM α(製品版)
阪大EVLIS(並列処理)…→?
湯浅先生達の超並列機は、どういう技術的系譜にあるのだろう・・・?
490:489
05/06/15 02:29:29
訂正。FLATSは各種の高速化技法を導入したオリジナルですね。
・神戸大TAKITEC→富士通FACOM α(試作機)→富士通FACOM α(製品版)
\NTT武蔵野通研 ELIS → NTT-IT ELIS-8100/VME/8200 (LSI開発協力:沖電気)
・理研FLATS(発案:故後藤英一先生, 設計協力:富士通, 製作:三井造船)
→後藤磁束量子情報プロジェクト FLATS2
・阪大EVLIS(並列処理)…→?
491:デフォルトの名無しさん
05/06/15 02:29:36
やっぱりこのスレでLISPとRubyの話は厳禁
492:デフォルトの名無しさん
05/06/15 02:31:33
………………………… >>491 は げ ん き ん …………………………
493:デフォルトの名無しさん
05/06/15 02:41:27
Lispは別に問題ないよ
Rubyが出てくると荒れてるだけ
494:デフォルトの名無しさん
05/06/15 02:51:33
>>493
これだけスレ違いのレスが続いて何が「Lispは別に問題ないよ」だよ
495:デフォルトの名無しさん
05/06/15 03:19:40
荒らしてる本人に自覚が無いだけだな
496:デフォルトの名無しさん
05/06/15 08:25:59
スレ違いなんだよ こっちでやれ
CommonLisp Scheme Part13
スレリンク(tech板)
497:デフォルトの名無しさん
05/06/15 13:18:50
スレが進んでるなぁ……
地面に置かれた砂糖に集まるアリみたい。
アリは嫌いだよ。急所噛まれた事あるから。
498:デフォルトの名無しさん
05/06/15 14:30:40
>コンパイルの定義で揉める巧妙な書き込みがなされているな
>なんだRubyの人って説明不足で揉めるような書き込みが大得意なんだな。
この内容で揉めたほうがマシだったな。現状よりは。
499:デフォルトの名無しさん
05/06/15 18:51:24
>>484
LISP専用マシンが何故必要とされたの?
今に例えると、例えば、 Ruby専用マシンみたいなものだよね?
全然考えられない!
500:デフォルトの名無しさん
05/06/15 19:15:09
頭悪すぎ
501:デフォルトの名無しさん
05/06/15 19:26:30
>>499
速いからだよ
502:デフォルトの名無しさん
05/06/15 20:16:45
>>499
特定の言語を効率よく実行できる専用マシンは、昔のようにハードのオマケでソフトが在った時代には普通だった
ちなみに、今の御時世では Java 専用マシンがあったりする
別に不思議じゃない
503:デフォルトの名無しさん
05/06/15 20:27:33
・当時、汎用機アーキテクチャの標準(IBM/360〜370)は姿を現していたが、
それ以外のアーキテクチャはまだまだ未発達もしくは未普及だった。
当時の汎用機アーキテクチャでは必ずしも効率的に実行できない処理のために、
科学技術計算専用マシンや特定言語専用マシンの研究が始まりつつあった。
・MITのMacプロジェクトでLispアプリケーションを蓄積したが、
実行には高価な中〜大型汎用機(ITS, GE Multics, DEC-10/20)が必要で、
小回りが効かなかった。
そこでPDP並みの価格で中〜大型機並みの性能を持つ
Lisp用パーソナル・ワークステーションが開発された。
504:デフォルトの名無しさん
05/06/15 22:11:57
>>499には時代という物が理解できないんだろうな。
505:デフォルトの名無しさん
05/06/15 22:22:50
>>499
>>500-504まで、誰もわかってないようだからわからないことを気に病むことはないよ。
同時代のおっさんにはあまりに自明のことなんだが、
わかったからといって何かの足しになるわけでもなし。
スレ違いだし、このへんでひっぱるのはやめよう。
506:デフォルトの名無しさん
05/06/15 22:34:42
最近見た中で一番ショボいハッタリだ
507:デフォルトの名無しさん
05/06/15 22:50:41
20代のLISP使いだけど
おっさんネタはさっぱりわからんなあ
昔のPC板ってのがあるから
いいかげん懐古ネタは他所でやんなさいよ
昔のPC
URLリンク(bubble3.2ch.net)
508:デフォルトの名無しさん
05/06/15 22:54:22
>>507
いやPCの話じゃないんだが…
と一応ツッコミは入れとくが、スレ違いということには同意
509:デフォルトの名無しさん
05/06/15 23:04:49
>>507
ちらっとその板みたが、自分からみたらちっとも昔ではないのですな。
すでにPC前提ってあたりで昔ではないのですよ。
荒らすつもりじゃ無く純粋に懐古趣味としての昔話かと思って期待がはずれたのです。
510:デフォルトの名無しさん
05/06/15 23:42:23
>>507
アホか。リアルタイムで知らない事でも、
文献やWebを駆使して勉強するもんだよ。
特にLispなんて80年代に最盛期を迎えた言語だからな
511:デフォルトの名無しさん
05/06/16 19:36:39
LISPの全盛期はいつだ? 80年代か? MLは今なんだよ…。
512:デフォルトの名無しさん
05/06/16 20:28:40
>>511
> MLは今なんだよ…。
いいえ。
513:デフォルトの名無しさん
05/06/16 21:22:31
80年代つーと洋楽だなあ
514:デフォルトの名無しさん
05/06/16 21:24:57
>>511
桜木君…
515:デフォルトの名無しさん
05/06/16 22:03:41
いいかげんにしろ、スレ違いだ。
516:デフォルトの名無しさん
05/06/16 23:46:50
そ / _r 、 、 .ヽ、 R
| L_ , - ´  ̄ ̄ ` ヽ 、 ',ヽー/_ヽーヽ/ヽイ _) u
な < / ヽ, / λ ヽ. b
の // イ ヽ .i く チ\イ_レヽ_/ルノヽ ) y
か \! !イ-/─レイ、ル─ヽ, / >i .レイ ,r=、 ,.-=ゝiイ ヽ, y
| .| ̄i /イ,r=-、 ,-=ヽiミ}<] !レイレi { !_r! i、_r! リ ) 最
,、 / .レ| i { i、r! i、_r!} ア | | !,"" ___ "" ! ! く. 高
` | i,"" ____ "" | | | .| ! i ヽ、 ! j ,イレ > ! !
i リヽ、 ! `j ,イ !| | |ノル `レ ,_--_イiレ - 、/ ̄ヽ、
レi レ`レ ,--_イ レ、 リレ' rイくi-/ / , ---ヽ、/__
人/ヽ、_ ,イくi--//__人__人_ ,く,_[><]__//_(⌒)-、i,_ ノ
はあ / / i (>Y<) ) 最R今 ( ,ヽi ' (_ゝ_ヽ_ノノノ ´
はは i / .! `´ ). 高u 夜 ( ./ .! ヽ、___ノ
はは > / イ、 ヽ, ! b も ( / <、_ 、 _ く
はは < / ヽr----─> ! y ( / / / ヽ\
517:516
05/06/17 00:33:33
誤爆しました
518:俺の学生時代はi386でGoferかな
05/06/17 00:36:23
>>516
さっさと氏ねよ
>>511-512
定理証明系の開発は70年代
SML/NJの開発は80年代半ば
その後87〜98がHaskell標準化・・・もしかして進歩止まってるやん
519:デフォルトの名無しさん
05/06/17 00:39:16
>>518
スレ違いのお前もな
520:デフォルトの名無しさん
05/06/17 00:42:57
>>519 はぁ?煽りやり過ぎて、話題がスレ違いかどうか判断もできなくなってるのか。
521:デフォルトの名無しさん
05/06/17 00:44:16
>>520
どこからどう見てもスレ違い
522:デフォルトの名無しさん
05/06/17 00:45:07
キチガイが粘着中
まともな人はしばらくお待ち下さい
523:デフォルトの名無しさん
05/06/17 00:47:39
やっぱりこのスレでLISPとRubyの話は厳禁だな
524:デフォルトの名無しさん
05/06/17 03:45:37
MLじゃないの?
525:デフォルトの名無しさん
05/06/17 20:09:56
>>523
ではmallocとfreeについて話そう。
526:デフォルトの名無しさん
05/06/17 20:11:36
>>525
やっぱこのスレではコンパイラについて話さないとな
527:デフォルトの名無しさん
05/06/17 21:22:29
lambda liftingについて分り易く教えてください
528:デフォルトの名無しさん
05/06/19 04:50:11
荒らしがいなくなるとスレが止まるんだなぁ。
つかLispもMLも禁止の言語処理系スレって…。
>>526
コンパイラの定義を教えてくれ。
>>527
URLリンク(foldoc.doc.ic.ac.uk)
529:デフォルトの名無しさん
05/06/19 09:55:44
LALR(1) を勉強するのにお勧めの書籍かサイトありましたら
教えて下さい。
530:デフォルトの名無しさん
05/06/19 11:02:50
・コンパイラの構成と最適化 中田 育男
URLリンク(www.amazon.co.jp)
531:デフォルトの名無しさん
05/06/19 15:27:01
>>528
よくわからない
変数が増えただけに見えるorz
引数渡しにするってことかな?
532:デフォルトの名無しさん
05/06/19 16:10:29
だいたいLispやMLの全盛期の話のどこがスレの趣旨に沿ってるんだよ?
そんな話はLispやMLのスレでやれよ
533:デフォルトの名無しさん
05/06/19 16:52:39
>>531
処理系を作る立場で考えてみると良いんじゃないかな。
534:デフォルトの名無しさん
05/06/19 18:01:40
>>530
それって最適化でしょ?メインは
535:デフォルトの名無しさん
05/06/19 19:57:38
>>529
Dragon Bookでいいんじゃないの。
536:デフォルトの名無しさん
05/06/19 20:34:44
>>530
良書には違いないが、LALRつーわけどもないだろ。
537:デフォルトの名無しさん
05/06/19 20:56:36
>つーわけどもないだろ。
?
538:デフォルトの名無しさん
05/06/19 21:05:16
>>536をparseするのにお勧めの書籍かサイトありましたら
教えて下さい。
539:デフォルトの名無しさん
05/06/19 21:08:06
>>538
・コンパイラの構成と最適化 中田 育男
URLリンク(www.amazon.co.jp)
540:デフォルトの名無しさん
05/06/19 21:13:07
>>538
Dragon Bookでいいんじゃないの。
541:536
05/06/19 22:33:02
スマソ、「つー訳でもないだろ」の誤りorz
542:デフォルトの名無しさん
05/06/20 00:02:19
>>536
> LALRつーわけでもないだろ。
?
コンパイラ本の一つも読まずにアフォレス、とても痛い小学生だな
543:デフォルトの名無しさん
05/06/20 07:23:45
>>541を意味解析するのにお勧めの書籍かサイトありましたら
教えて下さい。
LALRの良書っていうわけでも無いだろ
ってことか?
じゃあ>>541がLALRの良書を薦めてくれ。
544:デフォルトの名無しさん
05/06/20 17:15:35
そもLALR一つに絞った本が良書と言えるのか?
545:デフォルトの名無しさん
05/06/20 19:51:09
>>544
それってyaccの入門書のレベルな希ガス
546:デフォルトの名無しさん
05/06/20 21:58:07
>>545
いや、案外その手の本は扱ってない。
547:デフォルトの名無しさん
05/06/20 22:17:16
はぁ?
LALRわかんなきゃyacc/bisonは使えないじゃん
548:デフォルトの名無しさん
05/06/20 22:28:32
>>547
理屈ではそうだけど、実際はそうじゃないんだよ。
549:デフォルトの名無しさん
05/06/21 01:20:40
全然自慢にならねぇ主張だな。
わけわかんないけど使ってるって?へ
550:デフォルトの名無しさん
05/06/21 01:31:52
紳士的に解釈すれば、ツールの使い方がわかれば
LALRアルゴリズムの詳細なんて知らなくても良い
ということじゃないかなあ。
いや、ある程度は知ってないとまずいかな。
yaccの作成するテーブルがどういう理屈で作成されてるかぐらいは・・
551:デフォルトの名無しさん
05/06/21 01:33:23
いやちゃう。
単にyaccが吐いたコードにアクション追加したり文法をデバッグするのが無理
552:デフォルトの名無しさん
05/06/21 04:07:32
>>550
どうだろう?yaccって結構簡単に使えるけど、それとLALRの理解は別だと思う。
極端な話し、関数電卓ぐらいのパーサならLALRの知識なんて必要ないし。
ちがうかな?
553:デフォルトの名無しさん
05/06/21 04:29:04
それで結局、今出てるyacc/lex本のLALRの解説は充実してるのか?
554:デフォルトの名無しさん
05/06/21 09:30:36
何するつもりか知らないけど、
LALRだけ勉強しようというのは効率が悪いから
普通の文法解析の教科書では一通りの文法を説明している。
・再帰下降パーサで書ける文法
・LALRパーサじゃないと書きにくい文法
・その他、演算子順位文法、属性文法
とか知っておくと、扱いたい文法が上記のいずれに近いのか、
素早くもしくは効率的に実装するには、どうすれば良いか
判断できるようになると思う。
555:デフォルトの名無しさん
05/06/21 11:58:26
[課題Q]3角形の底辺の長さ,高さをキーボードから読込み,その面積を計算するプログラムを作成しなさい.
ただし,底辺の長さ,高さ,面積の値を入れる変数名をそれぞれteihen, takasa,mensekiとし,いずれも実数型(double型)とする.
void main( void )
{
double teihen, takasa, menseki;
printf( "底辺は?\n" ); /* 入力を促すメッセージを表示 */
scanf( "%d", &teihen );
menseki = teihen * takasa / 2;
printf("%f\n",menseki);
}
これ誰か完成させてくれ
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5014日前に更新/221 KB
担当:undef