lex

    0

    1答えて

    私のYACCファイルが私のヘッダファイルで定義された型にアクセスできないように見えるこの問題があります。 ヘッダーファイルを%code requires{ }に置き換えると、それは認識されますが、それは実際に私が望むものではありません。 マイst.hヘッダファイル: struct node { int item; int identifier; struct node

    0

    1答えて

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

    0

    1答えて

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

    -1

    1答えて

    に をlexとyaccのコンパイル中: gcc sample.tab.c lex.yy.c -ly -ll それはエラーappeaの一部になりまし停止放出されるエラーが多すぎる、[-ferror制限=] :私はエラーのと、最後にたくさん.. 致命的なエラーを示しますrs: ./sample.tab.h:44:6: error: expected identifier if = 260

    0

    1答えて

    パターンを処理するためにフレックスを使用したいと思います。この場合、定数と関数名は大文字で始まるアルファベット順の文字列です。 たとえば、 Mother(Liz, Bob)の場合、MotherとLizを区別するにはどうすればよいですか? (を単一のトークンにしたいので、Mother(をパターンと見なすことはできません。

    1

    1答えて

    上libl.soを見つけることができません。 lexのmy.l & &のgcc lex.yy.cを -ll 問題なく動作します。 gccのリンクオプションから、私はlexランタイムライブラリを示すlibl.soという名前のライブラリがあると思います。 しかし、私は結果が見つかりません。本当にlibl.soというライブラリがありますか? gccがlexとリンクするために実際に使用するライブラリ名は何

    1

    1答えて

    最近私はlexの学習を始め、いくつかの例を試しました。 私は 'a'で始まり、数字と1D配列の数で終わる変数の数を数えようとしています。 %{ #undef yywrap #define yywrap() 1 #include<stdio.h> int count1; int count2; %} %option noyywrap %% int|char|bool|float"

    0

    1答えて

    +はLex operatorsの1つで、テキスト文字として使用する場合は、エスケープ演算子\が前に付いていなければなりません。したがって、なぜこれら2つが同じ結果をもたらすのでしょうか? [a+b] { printf("%s", yytext); } // matches a, +, or b [a\+b] { printf("%s", yytext); } // does same as ab