第九回: yacc 系ツールの演習
http://www.sw.it.aoyama.ac.jp/2005/Language%20Theory%20and%20Compilers/lecture9.html
© 2005 Martin J. Dürst 青山学院大学
#define YYDEBUG
を 1 に変更GnuWin32 | cygwin | |
シェル | コマンドプロンプト (アクセサリ) | Cygwin Bash Shell (Cygwin) |
作業フォールダ | 例えば C:\Program Files\GnuWin32\bin | 任意 |
コンパイラ | Microsoft Visual C++ | gcc simple.tab.c |
コンパイラの呼び方 | GUI | シェル: gcc |
実行 | メニューかボタン | シェル: ./a.exe |
簡単なプログラム言語を bison で実現して、bison の
.y
ファイルを印刷して提出:
;
で区切る。制御文 (if
等)、関数 は無し@ (式)
は「式」の結果を改行付きに印刷する。優先順位 | 演算子 (必修) | 演算子 (発展) | 結合規則 |
1 | () |
→ | |
2 | 単項の - |
前置の ++ ; 前置の -- |
← |
3 | ← | ||
4 | * ; / ; % |
→ | |
5 | + ; - |
→ | |
6 | << ; >> |
→ | |
7 | < ; > |
<= ; >= |
→ |
8 | == ; != |
→ | |
9 | & |
→ | |
10 | ^ |
→ | |
11 | | |
→ | |
12 | && |
→ | |
13 | || |
→ | |
14 | ?: |
← | |
15 | = |
+= など |
← |
16 | , |
→ |