
No.2ベストアンサー
- 回答日時:
パーサはコンパイラの一部ですね。
Unix であれば yacc というプログラムでパーサの作成ができます。(最近は、bison とかいうらしいが、やはり yacc と呼ばなくては)コンパイラの内部では、パーサの出力をコードジェネレータに渡します。自分でコンパイラを作れるようになれば、自然に理解できるようになるでしょう。
No.4
- 回答日時:
非常に大雑把なコンパイラの動作:
1. レクサ (字句解析器) でソースを「トークン」という単位に分割する.
2. パーザ (構文解析器) でトークン列から「ソースファイルの構造」を組み立てる.
<ここまでがフロントエンドで以下はバックエンド>
3. ソースファイルの構造をもとに生成物であるオブジェクトファイルを作る.
3'. 必要に応じてオプティマイザで最適化.
だから, コンパイラの一部をとりだしたのがパーザ.
なお, yacc と bison は別物なので, bison を yacc と呼ぶのはよくないと思います>#2.
No.3
- 回答日時:
パーサ(parser)とは構文解析器のことです。
例えば
printf("0123456789\n");
というコードがあった場合、 printf という関数に対して
"0123456789\n" という値(引数)を渡しているということを全体の
文法から分析・分解してコンパイラに渡します。
(簡単に大まかに説明していますが正確には微妙に異なります)
コンパイラが直接上記の事を行えるわけではないんです。
逆に言えばパーサを変えれば論理上は同じコンパイラでも文法を
変更することができるともいえます。
参考URL:http://ja.wikipedia.org/wiki/%E6%A7%8B%E6%96%87% …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
組み込みソフト。ROM領域にデータ
-
COBOLのALPHABET...
-
C言語の本!
-
DLLファイルの逆コンパイラにつ...
-
COBOLの論理演算子について質問...
-
unsigned long long 型のフォー...
-
POWERCOBOLのSQL...
-
#pragma プリプロセス について
-
ソフトの開発言語を調べる方法
-
パーサとコンパイラの違いって?
-
C++Builder → Visual C++ 移植...
-
COBOLの論理演算子について
-
エディタとコンパイラ 基礎
-
DLLの呼び出され方が分かりません
-
python エラー
-
<unistd.h>をVisualStudioでつ...
-
「fatal error C1189」を回避す...
-
visual studio2019でデバッグが...
-
VB2008で定数に色の設定をした...
-
” OS ビルド ” の意味が分か...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
DLLファイルの逆コンパイラにつ...
-
unsigned long long 型のフォー...
-
ソフトの開発言語を調べる方法
-
組み込みソフト。ROM領域にデータ
-
C++でデスクトップGUIアプリ開...
-
パーサとコンパイラの違いって?
-
【C言語】 型のサイズについて
-
COBOLのALPHABET...
-
<conio.h>?
-
printfなど、標準関数のソース...
-
COBOLの論理演算子について質問...
-
cc と gcc の違い
-
DLLの呼び出され方が分かりません
-
AIXとCOBOLについて
-
PICマイコンのプログラムカウン...
-
リリースモードとデバッグモー...
-
C++Builder → Visual C++ 移植...
-
C++DLLの明示的リンクに関して
-
cobolで実行環境って何ですか?
-
C言語の規格
おすすめ情報