私は、Lin Descriptor Fileの解析に使用できるPCアプリケーションの開発の一環として、可能なパーサーについて研究しています。現在のパーサーアプリケーションは、flex-bison解析手法に基づいています。現在、パーサーを再設計する必要があります。なぜなら、現在のパーサーは特定のエラーを検出できないからです。Lin記述子ファイルパーサー
私はこれまで正規表現(Regex:https://en.wikipedia.org/wiki/Regular_expression)の解析にRagelパーサ(https://en.wikipedia.org/wiki/Ragel)を使用していましたが、非常に便利でした。
しかし、現在の複雑さがLDF-file
の場合、LDF-file
を解析するための最良の方法はRagel(ホスト言語としてC++を使用)であるかどうかはわかりません。その理由は、LDF-file
には固定または固定ではなく、ベンダーごとに異なるデータが多数存在するためです。 LDF
フィールドには、ファイル内のエラーを検出するための他のフィールドへの参照が保持されている必要があります。 Ragelは構文解析用の構造が固定されている場合に適しています(Regexパーサの開発中に見つけたもの)
すでにこのようなプロジェクトに取り組んでいる方は、Lin Descriptorに適したパーサーファイル。林記述ファイルを
例:http://microchipdeveloper.com/lin:protocol-app-ldf
この質問には、解析するファイル形式の説明へのリンクが役立ちます。 – rici
@rici - lin記述子ファイルの基本的な例を追加しました – user2559758
ありがとうございます。私はリンクされた仕様書の第9章を見ましたが、私の答えを変える理由は見当たりません。 bison/flexでそのフォーマットを解析する際に問題がある場合は、より具体的な質問をしてください。 – rici