bison

    0

    1答えて

    Yacc/Bisonを使用して文法の開始規則の 'return'値($$変数)を取得する方法は? yyparseパーサのエラーコードを返します。

    0

    1答えて

    インデントで定義されたPythonのブロックを再作成しようとすると、私はこの時点で右に遭遇しました。 レクサー/スキャナを別々に試してみると、私が作った開始条件を使って、期待通りの結果を返してくれます。しかし、それをBisonパーサーと組み合わせると、正しい状態が保持されず、予想外の状態からトークンを受け取ることになります。 私の予想される動作は、行の先頭にあるタブ/スペースの "INDENT"ト

    0

    1答えて

    コンパイル時にエラー1.1:構文エラー、予期しないファイルの終了が発生する単純なバイソンプログラムです。 Bison:入力/出力エラー。私はそれがバイソン-d hw3.yを使用してコンパイル 次のようにコードがある:lineためのあなたは生産の;欠けている %{ #include <stdio.h> %} %token NUMBER %left '+' '-' %left '*'

    0

    1答えて

    を導出しませんこれはyaccのための私のコードです: %{ #include<stdio.h> extern File *yyin; extern int line; %} %token DATATYPE NUMBER ID RET MAIN KEYWORD AOP HEADER STB ENB %start START %% START:H MAIN ST

    0

    1答えて

    は、私はそれが私のエラーを与えているキーワードを作る使用して、それをコンパイルしようとしたとき。 エラー: - テール: - あなたは通常、最後の行がで終了していないLEX(またはフレックス)からこのエラーが出ます enter image description here

    -4

    1答えて

    //レックスファイル:for.l alpha [A-Za-z] digit [0-9] %% [\t \n] for return FOR; {digit}+ return NUM; {alpha}({alpha}|{digit})* return ID; "<=" return LE; ">=" return GE; "==" return EQ; "!="

    0

    1答えて

    "%Header is not valid directive"という問題が発生しています。 これは.Yです: %header{ #include "yystype.h" #include<stdio.h> #include"analex.h" extern int yylex(void); extern char *yytext; extern int linea; extern

    0

    1答えて

    flexとbisonを使用して、スキャナとパーサを用意しました。 パーサがアクションに直接ツリーを構築している、と私は構造体を作成し、そうするためには、STreeNodeと呼ばれ、私は #define YYSTYPE_IS_DECLARED typedef STreeNode* YYSTYPE; を使用しています構造体は次のとおりです。 typedef struct tagSTreeNode

    -2

    1答えて

    は、私は他の人の間で、次の構文を持つ言語のためのBisonパーサを書いています: 自己派遣:[identifierarguments] 派遣:[expression。 identifierarguments] 文字列スライシング:expression [expression、expression] - Pythonに似ています。 argumentsはカンマで区切られた式のリストです。空の場合もあり

    -1

    1答えて

    私はFlexの作業をしています& Bisonプロジェクト。私はフレックス& bisonが完璧に働いていますが、私は真のargvに入力文字列を与えようとしています。だから私はyyinを変更してargv [1]を取ったが、実際には動作していない。それはただそれを無視します。ここで は私のmain.cのである: #include "parser.hpp" #include <stdio.h> #in