Awesome Pest. The Elegant Parser
Pest. The Elegant Parserを扱う資料や関連プロジェクトをまとめたAwesomeリストです。
目次
リソース
- Book - pest でパースを始める推奨方法は、この公式書籍を読むことです。
- API reference on docs.rs
- fiddle editor on pest.rs - 公式ウェブサイトで文法を試し、共有できます(また、整形もできます!)。
- Gitter
- Discord
- GitHub Discussions
プロジェクト
pest を使うプロジェクト例:
- pest_meta - pest 自身は pest を用いてブートストラップされています。
- AshPaper - William Hicks が考案した Esopo 言語 AshPaper 用の Rust インタープリター。
- cicada - Rust で書かれた、昔ながらの bash 風 Unix シェル。
- elastic-rs - Rust で bool 式を Elasticsearch DSL に変換します。
- handlebars-rust - Handlebars による Rust テンプレート処理。
- hexdino - Rust で書かれた vim 風キーバインドを持つ16進エディター。
- insta - Rust 用のスナップショットテストライブラリー。
- jql - JSON Query Language CLI ツール。
- json5-rs - Serde を利用する Rust JSON5 シリアライザーおよびデシリアライザー。
- mt940 - Rust による MT940 パーサー。
- py_literal - Python リテラルを解析・整形するための Rust crate。
- rouler - Rust 向けの使いやすいサイコロロールライブラリー。
- RuSh - Rust で書かれた、多くの魅力を備えた bash 互換シェルを目指すプロジェクト。
- rs_pbrt - PBRT 本(第3版)の C++ コードに対応する実装のための Rust crate。
- stache - Mustache テンプレートコンパイラー。
- tera - Jinja2/Django に基づく Rust テンプレートエンジン。
- ZoKrates - Ethereum 上の zkSNARK 向けツールボックス。
- Vector - 高性能な可観測性データパイプライン。
- AutoCorrect - CJK(中国語、日本語、韓国語)の間のコピーライティング改善、空白・単語・句読点の修正を支援するリンター・フォーマッター。
- yaml-peg - Rust で書かれた YAML 用 PEG パーサー。
- qubit - Rust と WebAssembly に基づく便利な計算機。
- caith - サイコロローラー crate。
- Melody - 正規表現へコンパイルされ、より読みやすく保守しやすいことを目指す言語。
- PTA-Parser - Beancount、Ledger、その他の PTA 形式向けに Rust で構築されたプレーンテキスト会計パーサー。
- Keadex Mina - C4-PlantUML によるコーディングと、大規模な C4 モデル図の整理を行うオープンソース・サーバーレス IDE。
- Liquid Grammar - 利用する crate 向けに、Shopify Liquid(ハッシュタグは not-sponsored または affiliated ではありません)の
Pairsおよび/またはRulesを生成します。 - ws2markdown - WordStar 文書を Markdown ファイルに変換します。
- TypeQL Rust - Pest で書かれた TypeDB のクエリ言語。
- Woxi - Wolfram Language のサブセット向けインタープリターおよびコンピューター代数システム。
- Amble - パーサー(テキストアドベンチャー)ゲーム開発プラットフォーム(プレイヤー入力のパースと世界作成に使う DSL の両方で Pest を使用)。
ツール群
IDE サポート
- pest IDE tools - LSP サーバーと VSCode 拡張機能を備えたメインリポジトリ。
- VSCode Extension
- IntelliJ IDEA Plugin
- pest.vim
- pest-fmt - pest 文法の整形に役立ちます。
- pest web debugger - オンラインで試せます。
ボイラープレート削減とテスト
- pest-ast - pest のパースツリーを抽象構文木へ変換する際のボイラープレート削減に役立ちます。
- pest_consume - パースツリー走査のボイラープレートに役立つ crate。
- pest-test - pest 文法向けのテストフレームワーク。
- pest_ascii_tree - コンソールにツリー形式で
Pairsを出力します
CLI デバッガー
- pest_debugger - pest 文法をデバッグするための crate。CLI ツールまたはライブラリーとして使えます。CLI デバッガーの使用手順を参照してください。