Xarpegチュートリアル

Kotlinで強力なパーサを構築する方法を学びましょう。このチュートリアルでは、基本的な概念から高度なテクニックまで、段階的にガイドします。

前提条件

インストール

build.gradle.ktsにXarpegを追加します:

repositories {
    mavenCentral()
}

dependencies {
    implementation("io.github.mirrgieriana:xarpeg:<latest-version>")
}

xarpegアーティファクトは、Gradleモジュールメタデータを使用して、プロジェクト設定に基づいて正しいプラットフォーム固有のバリアント(JVM、JS、Nativeなど)に自動的に解決されます。

最新バージョンはReleasesで確認できます。


チュートリアルステップ

1. クイックスタート

数分で最初のパーサを構築します。基本的な構文を学び、シンプルなキーバリューパーサを実行します。

学習内容: リテラルと正規表現からのパーサ作成、*による連結、-によるトークンの無視、mapによる結果の変換


2. コンビネータ

ビルディングブロックをマスターします:シーケンス、選択、繰り返し、オプショナル解析。

学習内容: +による選択、繰り返し(.zeroOrMore.oneOrMore)、オプショナル、入力境界、より良いエラーメッセージのためのパーサへの名前付け


3. 式と再帰

再帰的な文法と式解析のための演算子優先順位を扱います。

学習内容: ref { }による前方参照、左/右結合性、算術パーサの構築、適切な型宣言


4. 実行時の動作

パーサがエラー、入力消費、キャッシングをどのように処理するかを理解します。

学習内容: 例外の種類、DefaultParseContextによるエラー追跡、メモ化制御、デバッグ技法


5. 解析位置

より良いエラーメッセージとソースマッピングのための位置情報を抽出します。

学習内容: mapExによる位置追跡、行/列番号の計算、マッチしたテキストの抽出


6. テンプレート文字列

トークン化なしで複雑なネストした構造を解析します。

学習内容: 埋め込み式の処理、PEGによるコンテキスト切り替え、再帰的な文字列/式解析


完全な例

JSONパーサ

エスケープシーケンス、ネストした構造、包括的なテストを含む、すべてのJSON型を処理する完全な実装。

JSONパーサソースを見る

機能:

算術インタプリタ

行/列位置を含むエラー報告を備えた、評価機能付き式パーサ。

インタプリタソースを見る

機能:

オンラインパーサデモ

リアルタイムの解析と評価を示すインタラクティブなブラウザベースのパーサ。

ライブデモを試す ソースを見る

追加リソース

APIドキュメント

テスト

実際の使用例


ヘルプが必要ですか?