bison

    2

    1答えて

    私はフレックスとバイソンの新しいので、私と一緒に耐える。 yylrorでyyllocを使用して、ファイル名とともにエラーが発生した場所を表示しようとしています。これは私がファイル名を追跡するために使用できるchar *ファイル名をインクルードするためにYYLTPYEを再定義する必要があることを知っています。私が持っているFlexとBisonの本によると、それは私が.LファイルにYYLTYPEを初期

    0

    1答えて

    私はflexとbisonを用いた小型のコンパイラを作るしようとしていますが、私はすべてのルールのアクションを与えることをどのようになっていなかったためにアクションを与える方法 私の文法は次のようである: %union{ std::string *s; }; %start program %type <s> expr %token <s> KEYWORD %to

    0

    1答えて

    フレックスから送られたバイソンのトークン値を印刷しようとしていますが、何らかの理由で印刷された値がごみになることがあります。 のlexコード: \".*\" { std::string* s1 = new std::string(yytext); std::string s2 = *s1; std::string s3 = s2.substr(1,s2.size() - 2)

    0

    1答えて

    私はCの文法を探していて、このリンクが見つかった問題はcとlexコードの文法がありますが、私は加算、乗算のようなセマンティクスは見当たりません。構文チェックがありますが、他のツールで実装されているセマンティクスはどこにあるのかについてはセマンティクスを記述することもできます。 私はセマンティクスを書くには小さなコンパイラを実装しようとしていますが、関数を使ってyaccで記述するのは良いですか?

    -1

    1答えて

    私は自分自身のミニ言語用のパーサーを構築しようとしています。それはYACC自身によってC++に翻訳されています。 問題は、YACCは入力の第2行から最初のトークンだけでなく第1行も読み取っていて、それを対応するルールと照合していますが、入力の最初の行でトークンのみを読み取る必要があります。対応するルールでそれを一致 私の入力ファイルは次のとおりです。 print "hello" a = 10

    0

    1答えて

    私は希望の文法で書かれたこのコードを解析しようとしており、毎回構文エラーが出ます。私は10回以上私のコードをチェックして、私は解決策を見つけることができませんでした。 PARSERとLEXERそれぞれbisonとjflexによってコードが生成されています。長い間、私はgithubへのリンクについて言及しなければなりません。 ここに私の単純なコードがありますが、プログラムを実行すると文法エラーが出ま

    0

    1答えて

    私は文法の中でshift reduceの競合を解決できません。私は問題の出力を読むために-vを追加しようとしましたが、それはState 0に向かって私を導き、INTとFLOATはルール9によってvariable_definitionsに減らされると言います。私はこの衝突を見ることはできません。 %{ #include <stdio.h> #include <stdlib.h> %} %t

    -1

    1答えて

    私はflex/bisonプログラムを作成していますが、多くのエラーに直面しています。私は、たとえそれが理解しやすいと思っても、これらのエラーに関するオンラインの回答は見つけられませんでした。 %{ #include "my_type.hpp" #include "bison.tab.h" %} /* ... */ %% {int} { yylval.val=strdup(yy

    0

    2答えて

    シフト/排除簡素化yaacファイルです:2シフト/競合を減らすがあり %token CONTEXT_ // the corresponding string is "context" %token CONTEXTREF_ //"contextref" %token IS_ //"is" %token ID_L //"id_l" %token ID_L1 //"id_l1" %to

    0

    1答えて

    最近lexとyacc(とflexとbison)が見つかりました。プログラムに文があるかどうかを調べるときにエラーが出ます。ここで は.lexファイルです: %{ #include <stdio.h> #include "1.tab.h" %} %% tweety|sylvester return NP; a|the return AR; cat|bird ret