Cとbisonで論理電卓を作ろうとしているのですが、Cにはboolean型がなくて困っています。
これは私の Flex ルールの一部です:
"TRUE" |
"T" |
"t" {yylval = 1; return TRUE; }
"FALSE" |
"F" |
"f" {yylval = 0; return TRUE; }
これは私の Bison ルールの一部です。
line:
EOL
| exp EOL {printf("%d %d %d \n"), $1, $2,$$;}
;
exp: TRUE
| FALSE
;
これは、電卓で T に続けて EOL (行末) を入力したときの出力です。
10 12 1
10 は改行の ascii、12 は改行の ascii、1 は start の ascii です。F の出力は同じです。
T を入力すると 1 が $1 になり、F を入力すると 0 が $1 になるようにするにはどうすればよいですか?