- ベストアンサー
パーサとコンパイラの違いって?
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
パーサはコンパイラの一部ですね。Unix であれば yacc というプログラムでパーサの作成ができます。(最近は、bison とかいうらしいが、やはり yacc と呼ばなくては) コンパイラの内部では、パーサの出力をコードジェネレータに渡します。自分でコンパイラを作れるようになれば、自然に理解できるようになるでしょう。
その他の回答 (5)
parser(パーザー)が、近い発音だと思います。 パーザーは、コンパイラの一部です。 コンパイラは、おおまかにいって、 字句解析 構文解析 意味解析・式生成 式簡略化 コード生成 コード最適化 アセンブラソース出力 ですが、パーザーというのは、構文解析の部分のことです。 今日では、手書きでパーザーを書くということは、少なくなって、bisonなどで、文法記述をして、パーザーを生成させることが多いです。
- gon987
- ベストアンサー率16% (53/313)
#4 構文解析の後の意味解析が抜けている。 プリプロセッサとかも抜けているけどまぁ大雑把なら抜けててもいいかな。
- Tacosan
- ベストアンサー率23% (3656/15482)
非常に大雑把なコンパイラの動作: 1. レクサ (字句解析器) でソースを「トークン」という単位に分割する. 2. パーザ (構文解析器) でトークン列から「ソースファイルの構造」を組み立てる. <ここまでがフロントエンドで以下はバックエンド> 3. ソースファイルの構造をもとに生成物であるオブジェクトファイルを作る. 3'. 必要に応じてオプティマイザで最適化. だから, コンパイラの一部をとりだしたのがパーザ. なお, yacc と bison は別物なので, bison を yacc と呼ぶのはよくないと思います>#2.
- pick52
- ベストアンサー率35% (166/466)
パーサ(parser)とは構文解析器のことです。 例えば printf("0123456789\n"); というコードがあった場合、 printf という関数に対して "0123456789\n" という値(引数)を渡しているということを全体の 文法から分析・分解してコンパイラに渡します。 (簡単に大まかに説明していますが正確には微妙に異なります) コンパイラが直接上記の事を行えるわけではないんです。 逆に言えばパーサを変えれば論理上は同じコンパイラでも文法を 変更することができるともいえます。
- sakusaker7
- ベストアンサー率62% (800/1280)
パーザ(パーサ)はコンパイラの一部。
関連するQ&A
- コンパイラー製作について
コンパイラーを作ってみたいと思いますが、何かいい著書、サイトはありませんか? 出来れば入門からできたら幸いです。 Java,c,c++のコンパイラーが作りたいし、phpの解析もしてみたいです。 是非教えて下さい。 お願いします。
- 締切済み
- オープンソース
- WinAPIに用いるコンパイラコンパイラ
私はウィンドウズのアプリケーションを作るのに、Visual StudioのC++を用いてます。これに簡単なスクリプトファイルを加えてグラフィックを作成しようと考えていますが、そのスクリプトを解析するのにコンパイラコンパイラを勉強を兼ねて使用しようと思いました。 コンパイラコンパイラには沢山種類があるかと思われます。私が思いつくのは、boostや、yacc/lexです。 この環境でコンパイラコンパイラをソースとして加えるのなら皆さんなら何を用いますか。出来れば理由も加えて教えてください。ちなみに、コンパイラコンパイラを勉強したいので、簡単にできる文字を取り組んで比較と言った事以外でお願いします。
- ベストアンサー
- C・C++・C#
- 教育用コンパイラ
VB6やVB.NETで作られた教育用コンパイラを探しています。 できればソースから勉強したいです。 VisualStudio6,2005を持っているので、VB以外の言語で作られたものでも構いません。 スキャナーは理解できましたが、パーサー(構文解析)部と構文実行部が理解できていません。
- 締切済み
- Visual Basic
- C++: HTMLパーサを探しています。
C++のHTMLパーサライブラリを御存じの方がおられましたら、教えて頂けませんでしょうか。 XMLパーサはちらほら見つかるのですが、HTMLの解析ができるものを探しております。 PerlモジュールのHTML::TreeBuilderのようなtree構造の解析までできるものが理想です。 宜しくお願いいたします。
- ベストアンサー
- C・C++・C#
- LinaxのCコンパイラ gcc の内部構造を教えて下さい
今、コンパイラの仕組みについて勉強しています。 gccの仕組みについていろいろ調べているのですが なかなか資料が見当たりません。そこで是非これ に関して情報をお持ちのかたは御提供下さい。ど のような情報でも構いませんができれば次の情報 についてをお願いします。 1)gcc の構文解析の仕組み 2)最適化オプション -O2 を用いた時と通常のコンパイル時との構文解析の違い 3)ターゲットプロセッサ(CPU)に依存した構文解析の動作
- 締切済み
- その他(ソフトウェア)
- 自作したC++構文解析ルーチンの商用利用方法はありませんか?
自作したC++構文解析ルーチンの商用利用方法はありませんか? 大学で構文解析の授業を受けています。 C++の勉強のためにC++構文解析を自作しています。 せっかくなので、これを使った商売ができないものか 考えいるのですが、良いアイディアが浮かびません。 コンパイラを作って販売するのが自然な発想だと思いますが、 コンパイラ単体では売れないと思っています。 リンカーとかデバッガも一緒なら売れるかもしれませんが、 そこまで作れないし、作りたいとも思っていません。 そこで自作構文解析を利用した何か良い商売(サービス) のアイディアがあれば教えて下さい。 ただし、UNIXのlintのような静的解析ツール以外で 回答お願いします。
- ベストアンサー
- C・C++・C#
- コンパイラの構文解析(上向き)の習得
コンパイラの仕組みについて興味があり勉強しています。 構文解析について下向きの再帰降下法についてはコンパイラの入門書などにも説明があり、簡単なものであれば自分でコードを書けるレベルになりました。 次にyaccなどに使用されているという上向きの構文解析法(LR/SLR/LALR等)を学びたいと思いましたが、良い資料が見つかりません。 具体的には理論の説明(集合の式等が理解しにくいです)だけではなくて、簡単な式などを評価するソースコードや実際の動作が解説されているものがあれば嬉しいです。 ネット上あるいは市販の3000円台程度の書籍で良いものがありましたらご紹介いただけると嬉しいです。 よろしくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
- C++ コンパイラの種類
はじめまして。早速ですが、C++ コンパイラで 何を使用するか悩んでいます。値段とか、速さ とか。 インテルのコンパイラを薦められましたが、 使用したことがある方はいらっしゃいますか? このソフトの良い点、悪い点などを教えて いただけると参考になります。 URL: http://www.xlsoft.com/jp/products/vtune/perftool.htm
- ベストアンサー
- C・C++・C#
- cコンパイラ
今、MSDOS用のフリーのCコンパイラを探しています。 どなたか、おすすめのコンパイラがあるという方いらっしゃらないでしょうか? できれば、ダウンロード方法、使い方なども教えていただければ幸いです。
- ベストアンサー
- その他(学問・教育)
- コンパイラーについて
コンパイラーについて教えてください。 コンパイラーをインストールしようと考えています。 が、ここの質問の853に従って、http://www.borland.co.jp/に行ってみましたが、 少し専門的で、インストール出来ませんでした。 もう少し、初心者でもわかるように教えていただければ、 幸いです。 私は、CD-romやインターネットからのダウンロードしてからのソフトのインストール経験は、あります。 よろしくお願いします。
- ベストアンサー
- C・C++・C#
お礼
回答くださった方々ありがとうございましたm(_ _)m とても参考になりました。