0
フレックスとバイソンの論理式のための簡単な文法を書いています。 式は後置式です。これは私のyaccコードです。論理式フレックスとバイソンの文法
float_logic_expr:
float_logic_expr
| float_logic_exprs
;
float_logic_exprs:
float_reln_expr
| float_reln_expr float_reln_expr PP_AND
| float_reln_expr float_reln_expr PP_OR
;
string_logic_expr:
string_reln_expr
| string_reln_expr string_reln_expr PP_AND
| string_reln_expr string_reln_expr PP_OR
;
上記のルールは、以下のステートメントでうまく機能します。
if #a 40 > #b 20 == && then
しかし、論理式に条件をもう1つ与えると失敗します。
if #a 40 > #b 20 == && #b 30 == && then
構文エラーです。
複数の関係式で動作するように文法を変更する必要はありますか?
VGを。私はANDとORが入力(浮動小数点数/文字列)の上のレベルで表示されるべきだと言います。それ以外の場合は、float式と文字列式を組み合わせることはできません。 – EJP
@ejp:私は通常型付きの構文に対してお勧めしますが、私は疲れてしまいました。あなたはもちろんそうです。私は朝に書き直すかもしれない。 – rici