yacc

    1

    1答えて

    私はこの文法を言語に対して持っていますが、文法には多少のあいまい性が含まれていますが、これを修正するのは非常に困難です。以下は、言語のBNF文法であり、私の幸せなパーサファイルのその部分の下にあります。 提案言語のBNF: <program> ::= Skel program "program" <id> ":" <pars> "." --> <pars> ::=

    1

    1答えて

    私は、ポリッシュ表記(接頭辞)を使用するYACCプログラムを作成しています。実装するのはかなりシンプルなようですが、意味をなさないと思われるエラーが発生しています。エラーは次のとおりです。 YACC:E - "calculator.y" のライン33 $ 1( ' - ') 型なしでここでの表現のためのコードです。エラーは ' - 'ルールで発生します。 exp: NUMBER { $$

    0

    2答えて

    を扱うときにシフト/競合解決を削減(YACC - バイソン)私は、次のルールに定義したファイル: C:Eを| D | F | A A:B | B '[' C ']'; :私は、次のシフトを取得し、適切な字句解析ファイルを使用して、適切な方法で.Yファイルをコンパイルするとき (これはオプションの[C]とBのようなものがある) \競合を減らします状態48 74 A:B。 75 | B。 '[' C

    0

    1答えて

    Lexはトークン識別子を返し、他のトークン の情報をlval(通常のyylvalを置き換えます)に置きます。 行くdocument. から取られた上記テキスト私はYACCファイル(some.yファイル)に文法規則のアクション部分に変数(yylval)を使用。コードはGo 1.5で動作しました。しかしGo 1.6では同じコードがコンパイルされませんでした。生成されたy.goファイル( 'yacc t

    0

    1答えて

    YACCおよび他のYaccのようなプログラム。現在解析されているトークングループのアクション位置変数があります。私は、いくつかのcsvファイル入力を処理して、未知の理由で列の数が変わってしまうことがあるかもしれません。私のルールでは、quoted_stringsと数字は1つ以上のインスタンスを見つけることができます。 rule : DATE_TOKEN QUOTED_NUMBERS q_strin

    -1

    1答えて

    私はYACCとC/C++でプログラムを書いています。これはかなり単純な文法を解析し、その結果をいくつかのテーブルに格納します。 私は room: DOTR ID roomname { AddRoom($3, $2); }; とAddRoomのためのコードのようなルールを持っているのです。 void AddRoom(const char* name, const char* id) {

    1

    2答えて

    こんにちは私は、プログラムコードを取り、いくつのassignステートメントがあるかを数える単純なyaccプログラムを書いています。例えば 、次のコードスニペットのために: void main() { int a = 3; int bb = 10; } 私は2つのアサイン文があることをプリントアウトするために私のyaccをしたいと思います。私は初心者であるため、Oreily

    0

    2答えて

    私の質問と同様の例が見つかりましたが、私の例には適用できないようです。 誰かが正しい方向に向けるのに役立つでしょうか? はここy.outputのエラーメッセージが表示されます: state 97 ifstatement : IF LPAREN conditionalexpr RPAREN statement . (23) ifstatement : IF LPAREN conditionale

    0

    1答えて

    %option case-insensitive %option noyywrap %option yylineno id [a-zA-Z][a-zA-Z_0-9]* integer (0[xX][0-9A-Fa-f]+)|([0-9]+) real [0-9]*\.[0-9](e|E)?[0-9]* undefined [^"\r\n \t] %x ST

    1

    1答えて

    プログラムコードを受け取り、int型とdouble型の変数と関数の数を返す簡単なYaccプログラムを作成しています。 行に一致するルールがあるときにプログラムが構文エラーを返すという奇妙な問題が発生しましたが、その行は別のルールを選択しました。 %{ #define YYDEBUG 1 #include <stdio.h> #include <stdlib.h> int func_coun