私のUbuntu OSでBison(GNU bison 2.4.1)とflex(2.5.35)でパーサを作成しようとしています。私はこのような何かを持っている:
SQL.H:
typedef struct word
{
char *val;
int length;
} WORD;
struct yword
{
struct word v;
int o;
...
};
sql1.y
%{
..
#include "sql.h"
..
%}
%union yystype
{
struct tree *t;
struct yword b;
...
}
%token <b> NAME
%%
...
table:
NAME { add_table(root, $1.v); }
;
...
トラブル私はそれに与えるものは何でも、文字列、それが来るとき、Vは常にこの問題を解決することです入力文字列にテーブル名が必要な場合でも、値(NULL、0)があります。 (私は不要な他の詳細/スニペットをスキップすることを選択しましたが、これを解決するのに役立つともっと多くを提供できます)
完全で正確な文法を書いていますが、この問題。
すべての入力は非常に感謝します。
のような値を設定する必要がgnu-フレックス。 – JeffryHouser
フレックス定義はどうですか?彼らは適切に目的のトークンにマップされていますか? –
スキャナのyylvalの値を適切な値に設定していますか? – templatetypedef