←bisonの警告 | ↑目次 | →できたコンパイラの確認

情報科学実験II コンパイラ作成

第5回

課題5.2において注意すべき点

リスト5.2を入力してどうするのか

完成した実行ファイルの名前をkadai52だとします。一方で、C言語で書かれたソースファイル(なんでもよい)を用意します。例えばsample.cとして
int main(){
int x;
    x=1;
    /* abcde */
    return 0;
}
を作ります。これを
cat sample.c | ./kadai52
のように実行すれば、トークンに切り分けた結果が出力されるはずです。
TINT
ID: main
CHAR: (
CHAR: )
CHAR: {
TINT
ID: x
CHAR: ;
ID: x
ASSIGN
NUMBER: 1
CHAR: ;
RETURN
NUMBER: 0
CHAR: ;
CHAR: }
sample.cを作るのが面倒ならば、
cat | ./kadai52
と実行して、キーボードからソースファイルを入力して、最後にCtrl+Dを入れても同じことです。

makeに関する注意

makeを利用する場合には、リスト5.2のファイルの名前(.cの前の部分)とbisonに入力するファイルの名前(.yの前の部分)は別にすること。同じ名前(例えば、pico.cとpico.y)にしてしまうと、makeがpico.yからpico.cを作ろうとしてハマります。
トップページ