bison

    6

    2答えて

    私はjsonの文字列を解析するパーサーに取り組んでいます。私はそれをライブラリにしたいと思います。 問題は、私は私が書いたライブラリをリンクするために、LDを使用する場合、 エラーメッセージがあるということです。 main.o: In function `main': main.c:(.text+0x0): multiple definition of `main' json-parser.o

    0

    1答えて

    私は以下の文法を持っています。それを修正する方法はわかりません。私はそれがヴィルト条件にambiguosですが、バイソンはLRパーザ使用しているので、多分これが無関係である場合いることを確認します 最初のバージョンを、7シフト/削減 S->DE D->aKc E-><J K E2 E2-> /> | > H I I-> </J> K-> | KL L-> j ='N' H-> | H

    3

    1答えて

    こんにちは、特定のトークンを読むときにchar *を取得する方法について混乱しています... 私はさまざまなサイトを見ていますが、提案はしていますが完全ではありません。 yytext宣言がないか、型の変換方法など .lファイルには何が必要ですか? .yファイルには何が必要ですか? %union{ char *str; } %token<str> T_ValidWord %%

    3

    1答えて

    私は文法を持っています。文法は'if' expr 'then'を解析するときに2通りあります。シンプルな「割り当て」は、このようなif foo then bar=1; else bar=0;として、あります、私は1つ以上の「割り当て」を含むことができ、コードの「if_block」を呼んでいる何があります: if foo then { bar = 1; if xyz then

    5

    1答えて

    私はBisonのヘルプを見て、これを書いていますが、完全に正しいかどうかはわかりません。また、私はyylex()レキシカルアナライザ(それはFlexツールでなければならない)を処理する必要があります。文脈自由文法に関するいくつかの基本的なことを知っています。しかし、私はそれらを正しく実装する方法を知らない! :( は、私はHTMLのためのシンプルなのBison文法をしたい質問です:?文法を以下に変

    0

    1答えて

    stmt : expr {printf("%d\n",$1);} ; expr : expr '+' expr {$$ = $1 + $3;} | expr '-' expr {$$ = $1 - $3;} | INTEGER {$$ = $1;} ; いつbisonがstmt非ターミナルを実行していますか。どのキャラクターが見える?

    2

    3答えて

    私は、パーサーを実装するためにflexとbisonを使用しています。私が遭遇した問題は、どのようにして別々のフレックスファイルのトークンをパーサーに与えることができるかということです。 parser.tab.cをコンパイルしようとすると約"undefined reference to yylex"という文句があります。 次に、コンパイル時に-dオプションを設定して、ヘッダーファイルをflexファイ

    0

    1答えて

    この種の問題に遭遇したことはないので、これを実装する言語パーサを作成することを考えました。もちろん、私はこの問題に対する提案や全く異なるアプローチに触れています。これを実現させるための一般的なガイドラインやアドバイスが必要です。 TABLERULE col1 TYPE (STRING) == "string" (AND|OR|NOT) col2 TYPE (INT) >= 12 ... ST

    0

    1答えて

    ここに問題の簡単な説明があります。これは実際の問題ではないことを覚えておいてください。 私の言葉では、関数はポインタを返すことができず、メンバ変数は参照できません。 Bisonは、関数型やメンバ変数型の型を入力すると推論しないことについて(40のような問題を減らしたり減らしたりして)不平を言っています。私はそれを知っていますが、この1行から40を超える矛盾を持つのはばかげています。 Class N

    1

    2答えて

    私のコードのクラスセクションで、私がエラーを書き込むと、いくつかの行がエラーとして報告されます。私は '| error'を、エラーから回復するのが良い/安全な特定の場所に配置しましたが、私はそれを使用しているとは思わない。たぶん、途中で表現を再開しようとしているのでしょうか? Bisonに指定場所での回復を強制する方法はありますか?どのように機能し、何が間違っているのでしょうか? エラー行をループ