glr

    3

    4答えて

    私はコンビナトリアルGLRパーサーを実装しました。それらの中には、指定された文字または文字の範囲を消費するパーサがあります: char(·) many(·) 0から無限回まで指定されたパーサを繰り返すコンビネータ。 例:"char('a').many()"は、任意の数の文字列("a" -s)と一致します。 しかしmany(·)コンビネータは、たとえば、char('{') >> char('{')

    1

    1答えて

    bison/yacc GLR-parserで 'expected token'を取得するには? こんにちは、私はやっているプロジェクトで 、いくつかのあいまいなgramar there'er。だから、私は%glr-parserを使ってシフト/コンフリクトを解決しようとしています。 私は非GLRパーサーを使用していましたが、構文エラーを検出すると、yystate(グローバル変数)を使用して "予想さ

    3

    2答えて

    GLRメソッドでshift \ reduceの競合を解決するにはどうすればよいですか? 右シフト演算子とそれ自身のテンプレート引数の2つの閉じ角括弧の間の競合をパーサが解決するようにしたいとします。レクサーは2つの連続した ">"記号を別々のトークンとして1つの ">>"トークンにマージせずに渡します。次に、私は文法にこれらのルールを入れます: operator_name: "opera