yacc

    0

    1答えて

    とyaccを使用しており、構文木を渡す値の理解に問題があるyaccのコンパイラをCに書いています。 は、私は、関数など x = f(3+4, 2*5); どのように値を渡すために$$=...を使用する内部のパラメータ一部のようなものをモデル化することになっている arg_list : exp | arg_list ',' exp; のような文法のラインを持っていると仮定します第二の命令の

    -1

    1答えて

    次のようなlexプログラムがあります。私は %{ #include<stdio.h> #include<math.h> #include "y.tab.h" %} %% [ \t]+ ; [0-9]+ {yylval = atoi(yytext); return INTEGER;} [-+*/] {return *yytext;} "(" {return *yytext;}

    0

    2答えて

    私はPLYを使用して、thisの文法を解析しています。リンクされた仕様で使用されているEBNFのメタグラフを実装しましたが、PLYは複数のシフト/リダクションの競合を報告します。 文法: Rule 0 S' -> grammar Rule 1 grammar -> prod_list Rule 2 grammar -> empty Rule 3 prod_list -> prod

    1

    1答えて

    Iは、以下の構造を有するyacc文法の一部(またはむしろjison、が、2つの共有同じ共通基盤)として: Type : IDENT | Type "[" "]" | Type "*" | "func" "(" Types ")" "=>" Type ; Types : /* No arguments */ | Type /*

    1

    1答えて

    私は、コンパイラと、.txtファイルから複数行の方程式(各行に1つの方程式)を入力することを学ぶことに慣れています。そして私はセグメンテーションフォールトの問題に直面しています。 YACCコード: %{ #include <stdio.h> #include <string.h> #define YYSTYPE int /* the attribute type for Yacc's sta

    0

    2答えて

    私はテキストファイルとその結果から算術式全体を表示しようとしていますが、ファイル処理オプションで試しましたが、動作しません。 YACC: %{ #include <stdio.h> #include <string.h> #define YYSTYPE int /* the attribute type for Yacc's stack */ extern int yylval; /*

    1

    1答えて

    私は、テキストファイルの式の数(1行に1つ)を解決する算術式の文法を持っています。 YACCをコンパイルしている間に、私はメッセージ2シフトが競合を減らすようになっています。しかし、私の計算は適切です。パーサが適切な出力を与えている場合、どのようにシフト/コンフリクトの競合が解決されますか?そして私の場合、YACC文法でそれを解決する方法はありますか? YACC文法 Calc : Expr

    0

    1答えて

    フレックスとバイソンを使い慣れていない簡単な電卓を実装しました。私は入力が文法の文であるかどうかを判断しようとしています。 たとえば、次のように入力します。a = 2; b = 3; a + bを印刷します。 それは返します:「A = 2; B = 3;プリントA + Bは、文である」 今のところは、実際に計算を行いますが、私は実際の計算ちょうど私を気にしません入力が文法の文であるかどうかを知りた

    0

    1答えて

    現在、Visual BasicのようなLALR(1)文法を書いていますが、この特定のシフト/リダクションの矛盾に直面しています。 文法の問題の部分は、(明確化のためにEDIT 1及びEDIT 2を参照してください)である。 Expression : IndexExpression | /* other expressions */ IndexExpression