- 1 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 20:49:02 ]
- プログラミング言語処理系の開発に興味のある人達のスレッドです。
字句解析・構文解析から,データフロー解析,ループ並列化,データ分散,SSA変換, CPS変換,レジスタ割付,命令スケジューリング,ソフトウェアパイプライン, SIMD命令生成,VLIW向けクラスタリング,スクラッチメモリ向け最適化,リンク時最適化, JIT,動的バイナリ変換等の各種最適化,それにVM,GC,低消費電力化などなど。 意味論に関する話題も歓迎です。 過去スレ 1 pc.2ch.net/tech/kako/981/981672957.html 2 pc2.2ch.net/test/read.cgi/tech/1021136715/ 3 pc5.2ch.net/test/read.cgi/tech/1070089173/ 4 pc5.2ch.net/test/read.cgi/tech/1100097050/ 5 pc8.2ch.net/test/read.cgi/tech/1106129164/ 6 pc8.2ch.net/test/read.cgi/tech/1115335709/ 7 pc8.2ch.net/test/read.cgi/tech/1129287390/ 8 pc8.2ch.net/test/read.cgi/tech/1131273918/ 9 pc8.2ch.net/test/read.cgi/tech/1135082582/ 10 pc8.2ch.net/test/read.cgi/tech/1146844753/ 11 pc11.2ch.net/test/read.cgi/tech/1160879890/ 12 pc11.2ch.net/test/read.cgi/tech/1188688416/ 関連リンクは多分 >>2-10 あたり
- 412 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 21:10:45 ]
- 出来ればツール頼らずに
手続き型言語作りたいんだけど どのくらい大変なん
- 413 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 21:16:35 ]
- コンパイラもアセンブラもリンカもエディタもツールですよ・・・
- 414 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 21:40:42 ]
- Brainfuckならパンチカード手打ちしてもできるんだろうな
- 415 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 21:42:28 ]
- TinyBASICくらいの規模なら机上でいけるんじゃないかな
- 416 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 21:49:12 ]
- ツールってyaccとかlexのことか?
なくても大差ないと思うよ
- 417 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 21:57:54 ]
- >>412
LLで混乱しない文法なら問題ないんじゃないの? このスレだったと思うけどμplanとかpascalの構文なら自己記述できるし
- 418 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 22:00:52 ]
- >>412
どういうコードに落とし込むかってあたりが問題になる位で落としやすいVMを設計すれば32Kワードもありゃ言語コンパイラは書ける UCSD p-systemとかが実際そんなものだ 案ずるより産むが易しってあたりの言語なら悩む前に書き始めてみればいい コード公開してもいいのなら行き詰まってから助けを求めに此処に戻ってこい
- 419 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 22:09:00 ]
- いまどきこだわることはないと思うが、
たいがいの言語ならちょいと工夫すればだいたいトップダウンパーザで書ける。
- 420 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 22:10:26 ]
- >>412
PerlやRubyで書けば、素で描いてもまあ2週間くらいで。
- 421 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 23:56:56 ]
- LISPだと数分〜数時間
- 422 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 00:03:58 ]
- yane lispおすすぬ
- 423 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 00:42:09 ]
- Lisperあっち行け
- 424 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 12:57:23 ]
- おおっ
わからない単語がいっぱいでてきた たくさんレスありがとう >>416 そういうことです >>418 Lispなら作れたからアルゴリズムで行き詰る事は多分無いんだけど Lispに比べると全然ソース量が桁違いになりそうでヘタレてる・・・ >>420 2週間!! 以外と速い 頑張ってみます
- 425 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 20:43:59 ]
- Lispすげー
- 426 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 07:46:38 ]
- Lisp作れたならその上でマクロ書けば数日で手続き型言語作れないか?
- 427 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 10:19:06 ]
- LISPのインタプリタの作り方ならLISPの入門書の最後に例題で出ているレベル
JavaとかのGC機能が前提の言語ならそんなに難しくないはず コンパイラなら知らん LISPのインタプリタと手続き型言語のインタプリタはつくりがまったく違うと思うけどなあ
- 428 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 11:44:23 ]
- ↓このスレの住民なら1レス以内に作れるレベル
- 429 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 11:57:33 ]
- LISPで全部できると思うならそうすればいい。
ただ、なぜいつまで経ってもLISP系が主要プログラミング言語にならないかの理由についても考慮すべき。 >>424 パーサー、構文木構築、構文木消化・変換、出力を順番に作って中間出力を目で確認する。 中間出力はPerlならData::Dumper、RubyならYAMLで。 この辺がC/C++ではしち面倒くさすぎてスクリプト言語でコンパイラを実装する理由。 よほど大規模なマイ言語のスクリプトを構築しない限りは速度面の不満も出ないしね。
- 430 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 12:03:55 ]
- >>429
C++はSTLとかを使えば面倒な部分がなくなってスプリクト言語で実装するレベルにならない?
- 431 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 12:20:47 ]
- >>424
Lispの処理系を書いたことがあるってことは、コンパイラ理論は知っているんだよな? インタプリタ、中間コード吐いてVM上で動かす、ネイティブバイナリ吐く、 と色々パターンがあるが、基本はまず、再起下降パーサー書いて抽象構文木に 落として、実行するインタプリタを書く。それが出来たら(中間表現に落として 最適化して)コード生成。
- 432 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 12:33:59 ]
- >>430
C++のSTLでYAML並みの読み書き柔軟性得るのにどれだけコストが必要か考えてみて。
- 433 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 14:11:55 ]
- boost:serialization ってものも
- 434 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 14:19:38 ]
- ruby信者は痛いので気づいたらそれ以降触らないようにしてる
- 435 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 14:33:52 ]
- 大体IRを一々ファイルに書き出す必要もねーだろw
Pretty-printerを書いとけば十分
- 436 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 16:19:41 ]
- >>432
シリアライゼイションを覚えたての子供ですね?
- 437 名前:デフォルトの名無しさん [2009/09/08(火) 16:33:32 ]
- ANTLR3でトークンとしてヒットするけど出力しないトークンはどうやって定義すれば良いのでしょうか。
このTOKENでDQを無視してSTRINGだけツリーパーサーで欲しいのですが… SKIP()はセグメンテーションフォールトで落ちました. TOKEN : DQ STRING DQ ; fragment DQ : '"' ; fragment STRING : ( ES | ~('\\'|'"') )* ; fragment ES : '\\' ('b'|'t'|'n'|'f'|'r'|'\"'|'\''|'\\');
- 438 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 21:46:52 ]
- ADD 3 TO 4
という文があった場合 BNFするとしたら、どうするのがカッコいいですか?
- 439 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 21:52:46 ]
- <文> ::= "ADD" "3" "TO" "4"
- 440 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 21:57:39 ]
- >>439
ATSにする場合どうすればいいの?
- 441 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 22:39:18 ]
- キンコンキンコンキンコンキンコンキンコンキンコン
- 442 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 19:04:29 ]
- AST? ATS?
- 443 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 20:50:35 ]
- >>442
AST AST AST たすけてください
- 444 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 20:53:29 ]
- >>439みたいな文法だったらツリーにする必要なくね
- 445 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 21:01:21 ]
- だね。
リスト(線形)でじゅうぶん。
- 446 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 21:02:35 ]
- 自然言語を再現したいのか
本当に "ADD" <NUM> "TO" <NUM> なのかでずいぶん違うよな
- 447 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 21:17:13 ]
- "ADD" <NUM> "TO" <NUM>
なのです その跡にFROMとかつくかもしれないのです お願いします
- 448 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 21:23:58 ]
- それでも再帰構造さえなければツリーはいらん
- 449 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 21:30:25 ]
- でも、その後学のために
作ってみたいのです お願いします
- 450 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 21:31:10 ]
- だから構文そのものがツリー構造じゃないからツリーにならないんだって
- 451 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 21:38:38 ]
- >>450
COBOLみたいな構文もツリー構造じゃないから無理?
- 452 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 23:39:27 ]
- COBOLに式あったっけかな。
要するに、 <式> :== <式> + <式> とか <文> :== <IF文> | ... <IF文> :== "IF" <式> "THEN" <文> ("ELSIF" <文>)* ("ELSE" <文>)? "FI" みたいな再帰的な構文があると、再帰的なデータ構造でないと いけないわけで、木が必要になる。 アセンブラみたいなのだったらリスト(線形)で十分。 SQLってどうなの? 識者求む。
- 453 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 02:07:23 ]
- 副問合せ句とかが在るから、再帰じゃないと表現できないんじゃないかな。
ところで、ORACLEのマニュアルにある図ってなんって言ったっけ? BNFが図になってる奴。
- 454 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 03:14:36 ]
- 構文図
- 455 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 10:36:28 ]
- Expression ::= "ADD" Factor "TO" Factor
Factor ::= Num | "(" Expression ")" Num ::= "0".."9"+ かもしれん。 これならツリーになる?
- 456 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 10:49:33 ]
- AND, OR, UNION等は再帰で定義するから木で表す。
- 457 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 11:25:21 ]
- >>455
その構文のインスタンスはツリーに出来る。 その構文そのものは再帰があってDAGになる。
- 458 名前:デフォルトの名無しさん [2009/09/17(木) 02:22:52 ]
- デザインパターンを駆使してコンパイラを自作しています。
・字句解析=Chain Of Responsibility ・構文解析=Interpreter のように作っていてうまくいっているのですが、 意味解析はどのパターンを使えばいいでしょうか? どこかのサイトでVisitorを使うとか見たような気がするのですが。
- 459 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 08:28:50 ]
- >>458
先に仕様があってそれから設計を施していくわけで、 手段と目的を混同しちゃいかん。 誰も君のコンパイラの設計がどうなってるのかなんて知らんだろ。
- 460 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 09:34:27 ]
- つか, 関数型言語なら別の選択あるだろうけど,
手続き型言語の場合, パーサジェネレータ使った方が 早い処理系ができるだろうに………
- 461 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 10:02:39 ]
- >>460
それは文法によるだろう。 言語処理系の書きやすさを第一に考えて言語を設計した場合、 手書きの再帰下降パーサでも十二分な速度が出ることはD言語などで実証されている。
- 462 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 10:08:28 ]
- Interpreterで構文解析っておかしいだろ
どういう設計なのか知らんがVisitorとInterpreterは相互変換できるからどっちかに統一するべき
- 463 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 12:13:30 ]
- 性能はむしろ手書きのパーサのほうが出る。
手書きパーサが不利で、パーサジェネレータが有利なのは以下のような点。 ・構文規則とアクションがすっきり分離させて記述できる ・LL(1) に収まらない文法を記述するためのテクニックに煩わされない ・規則をあれこれ変更するのが簡単 あと現代的なテクニックをかじりたいならパーサコンビネータライブラリとか使ってみたら?
- 464 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 17:32:14 ]
- Scalaの勉強していてパーサコンビネータを触っていたんだけど、
電卓の次に思い浮かぶ使い道がコンパイラとかインタプリタになってしまう。 その間ぐらいで、手ごろな練習のネタって無いものかなぁ?
- 465 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 18:49:33 ]
- >>464
発想の出発点を見直せば、その人なりのネタは見つけられると思うけどね。 自分だと、最近はRubyでツール作りする機会が多いから、そのコマンド引数 (サブコマンドやオプション指定の組み合わせ)を解釈するのにRaccを使うことがある。 他にも差分記述のある知識表現にPrologのDCGで簡単なDSL(ドメイン固有言語)を作ってみたり、 同じ発想で差分記述のできるテストデータ記述言語をRaccで記述したり。 極端な例だと、Webアプリのプロトタイプ開発で、画面遷移を制御するためにyaccを使い、 画面(フォーム)定義言語もyaccで実装するというマニアックな設計をしたことも。 要は「パーサ」イコール「言語処理系」という思い込みを捨て、単なる再帰的な データ構造の処理に適した「道具」にすぎないと考えれるのがいいのではないかと思う。
- 466 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 18:52:17 ]
- >>465
オレだったらそういう用途の処理用データはXMLやらYAMLやらで定義ちゃうだろうな。
- 467 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 19:15:33 ]
- >>465
おまえUNIX板のyacc&lexスレの>>120だろ
- 468 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 20:08:43 ]
- >>464
・ ラムダ式の使える関数電卓 ・ 文字列がメールアドレスとして正しいかチェックするプログラム(コメントのネストにも対応) ・ 装飾をネストできる独自Wiki ・ テンプレートエンジン
- 469 名前:465 mailto:sage [2009/09/17(木) 20:21:28 ]
- >>466
最初は同じ事を考えていたんだ。でも、自分一人で作る/使うぶんにはいいんだけど、 他のメンバが使う/使わせることを考えると、エラー処理(構文検査)も考えなけりゃならない。 XMLならDTDやRELAX-NG、YAMLならKawflyみたいなスキーマ定義が必要になる。 そこまでするくらいなら、汎用パーザを使うのがいいんじゃないかと、最終的に判断した。 パーザで適切な構文木さえ構築してしまえば、あとはVisitorパターンを駆使することで、 XMLでもYAMLでも(Latexでも....)出力形式の切り替えは簡単な処理で実現できるからね。 >>467 あたり
- 470 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 21:00:25 ]
- >>465
なるほど、使い道としては面白いですね。ちょうど今、コマンドライン解析のあたりやってるし。 でも、勉強としてやってるんで、これが正解ってのがあるほうがいいです。 仕様も自分で考えるんだと、パースしやすいような仕様にしてしまうんで。 >>468 メールアドレスって、foo@examples.comだけじゃなく、"foo" <foo@examples.com>, …のほうですよね。 それはやりがいがありそうなネタですね。
- 471 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 21:10:01 ]
- >>470
・PCRE(Perl 5 Compatible Regular Expression Library)の正規表現のパーズ。 ・POSIX shellの文法のパーズ。
- 472 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 23:33:28 ]
- >>462
Interpreterパターンって構文解析の為のパターンじゃないの?
- 473 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 23:39:58 ]
- InterpreterはASTのノードに自分自身と子の評価を行う処理を直接埋め込むことで
ASTをそのまま実行するパターンだよ あらかじめ構文解析を行ってASTを作っておく必要がある
- 474 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 03:37:23 ]
- ja.wikipedia.org/wiki/%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3_%28%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%29
ウィキペディアには Interpreter パターン = 構文解析のために、文法規則を反映するクラス構造を作る。 って書いてあるんだけど。
- 475 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 04:51:05 ]
- デザインパターンとか大層なもんじゃないでしょ
- 476 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 05:27:58 ]
- Interpreterパターンが構文解析のために利用されるのは正しい表現だと思われ。
あらかじめ構文規則に沿ってオブジェクトを配置する必要があるのは事実だけど、 それは構文解析とは別の話しだし、(yaccみたいな)パーザジェネレータも同じだから。(>>473) 最近はデザインパターンから入る若者が多いから、ごっちゃにして考えやすいけどね。 まあ、デーザインパターンなんて大層なもんじゃないという意見に同意するよ。(>>775)
- 477 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 06:03:46 ]
- >>462=473=476?
君はたぶんいろいろと間違って理解してるからGOF本をしっかり読みなおした方がいいよ 確かにデザインパターンは大層なものじゃないとは思うが、間違った理解は周りの人を 混乱させてむしろ害悪だから
- 478 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 06:12:44 ]
- >>477
具体的にドゾー
- 479 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 06:44:13 ]
- >>478
>VisitorとInterpreterは相互変換できる できない VisitorとInterpreterでは全く目的が異なる >InterpreterはASTのノードに自分自身と子の評価を行う処理を直接埋め込むことで >ASTをそのまま実行するパターンだよ 処理を直接埋め込むこと、そのまま実行することは必須ではない (GOF本「実装」欄の2.を参照) >あらかじめ構文解析を行ってASTを作っておく必要がある ASTの生成方法までは定義されていないが、Interpreterパターンと言った場合、 (ASTを生成する)Clientオブジェクトもパターンの構成要素に含めて考える方が一般的 (GOF本「構成要素」欄と「実装」欄の1.を参照)
- 480 名前:476,478 mailto:sage [2009/09/19(土) 07:03:29 ]
- >>477
自分は>>462,473じゃないヨ >>479 まったく、その通りだね ところで、GOF本のアレをInterpreterパターンと呼ぶのはどう思うかな?>>all 自分にはインタプリタという言葉のニュアンスから違和感があるんだけど と、スレらしい話題に戻してみる
- 481 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 13:20:31 ]
- 逆。Parsingにinterpreter patternってのは単純な場合のみ。
ASTインスタンスの生成を行うのは、interpreter patternの仕事だけど、 (ASTインスタンス生成は解釈の特殊な形態の一つ) parsingそのものはInterpreter patternの仕事じゃない。 単純な例だと一体化しているので、混同しているケースが結構多い。 日本語版wikipediaの記述がその例。(これは古い英語版を元にしている) GoFより > The pattern doesn't address parsing. When the grammar is very complex, > other techniques (such as a parser) are more appropriate.
- 482 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 18:12:25 ]
- GOFの神格化進んでいるんだね。怖いね。
- 483 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 18:24:39 ]
- 必要以上に貶めている人がいるから
訂正してくれてるだけでしょ?
- 484 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 20:17:37 ]
- ヤレヤレ
- 485 名前:デフォルトの名無しさん [2009/09/23(水) 08:13:49 ]
- 形式言語と正規表現って別物ですか?
同じものですか?
- 486 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 08:33:39 ]
- >>485
正規表現は形式言語の一種である、という解釈でだいたい合っていると思う。 C言語はプログラミング言語の一種である、と同じ解釈ね。 あと、そういう言い方をするなら、正規表現ではなく正規言語だろうね。
- 487 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 08:48:28 ]
- 正規表現と正規言語は別のものだが?
- 488 名前:デフォルトの名無しさん [2009/09/23(水) 09:02:34 ]
- 正規表現と正規言語と正規文法はどういう関係ですか?
コンパイラの理論の基になっているのは生成文法なんですか? もし、チョムスキーが生成文法を発表しなかった世界があったら その世界で使われているコンパイラはどんな物だと思いますか? COBOLとFORTRUNとlispですか?
- 489 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 09:11:11 ]
- ちったあ自分で調べろ
- 490 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 10:16:49 ]
- 古い変な本しか手に入らないか
周囲に変なことを吹き込む人がいるか 釣りか なんにせよ調べる気はあるまい
- 491 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 10:20:38 ]
- それにしてもチョムスキーのこんな持ち上げ方って久々に見たw
- 492 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 10:22:29 ]
- 調べる=知ってる人に聞く
じゃないの? 本やネットってゴミ情報が多すぎて 知りたい情報にたどりつくまで 手間と時間がかかりすぎるからさ 知ってる人にズバリ答えてもらうのが一番なのよ
- 493 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 10:36:03 ]
- チョムスキー理論の理解こそが自然言語処理実現の第一歩だぁー!!と
必死になって文献を読みあさっていた、過去の自分を思い出すw
- 494 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 11:51:45 ]
- 文字列が長すぎて
strlen()が'\0'にたどりつくまで 手間と時間がかかりすぎる って話を思い出した
- 495 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 15:01:14 ]
- こんなこと如きで他人に苦労させるなカス >488
自分で勉強するつもりが無いのならこんなスレ覗くなボケ ttp://www.bing.com/search?q=%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE%E3%81%A8%E6%AD%A3%E8%A6%8F%E8%A8%80%E8%AA%9E%E3%81%A8%E6%AD%A3%E8%A6%8F%E6%96%87%E6%B3%95&FORM=ADDLVD&src= ttp://www.google.co.jp/search?q=%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE%E3%81%A8%E6%AD%A3%E8%A6%8F%E8%A8%80%E8%AA%9E%E3%81%A8%E6%AD%A3%E8%A6%8F%E6%96%87%E6%B3%95&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&client=firefox-a
- 496 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 15:05:34 ]
- と思ったが、最後のは少し興味あるな。
チョムスキーが発表しなくても、同様の概念(TMとか再帰とか翻訳とか形式体系とか)はあるから 結局は同じようなものに落ち着くような気がする。
- 497 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 15:43:24 ]
- BNF自体はチョムスキーの発明でもないしな
- 498 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 15:56:41 ]
- インド人だっけ?凄いよね。
- 499 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 16:02:39 ]
- 誰がインド人?
- 500 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 16:06:52 ]
- っ ttp://ja.wikipedia.org/wiki/%E3%83%91%E3%83%BC%E3%83%8B%E3%83%8B
- 501 名前:デフォルトの名無しさん [2009/09/23(水) 17:21:39 ]
- 大体が↓のような感じで構文解析までが行われると思うのですが、
ソースコード → 字句解析 → トークンリスト → 構文解析 → 構文木 トークンリストはトークンクラスのリストと表せますが、 構文木はどのような形になると思いますか?
- 502 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 17:36:26 ]
- 構文要素クラスの木構造
- 503 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 17:38:26 ]
- 開始記号クラスかな
- 504 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 17:45:32 ]
- このあいだまでは「パニーニ」と表記してた気がするが、最近は「パーニニ」なのか。
昔インド人の先生に尋ねたら俺の耳にはパニニーと聞こえたが。 てかBNFはバッカス(と、本人はあまり乗り気でないようだがナウア)の功績だろ一応はやっぱ。
- 505 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 20:01:10 ]
- インド人の発音は独特だから
- 506 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 00:29:14 ]
- 日本人の発音の方がはるかに独特です
- 507 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 00:35:57 ]
- かもしれぬ
インド人と言っても様々だ が、日本人がインド人の発音を聴き取るのは慣れないと無理 驚くというか途方に暮れるぞ
- 508 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 01:41:42 ]
- 詳しく!
- 509 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 02:38:16 ]
- >>507
そこでインド人を右へ
- 510 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 05:56:31 ]
- なるほど。たしかみてみよう
- 511 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 14:00:01 ]
- 確かめた結果、
ザンギュラのスーパーウリアッ上 でした
- 512 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 14:23:33 ]
- ダトル・オブ・ぷよぷよ
|

|