Discover Packages
github.com/shibukawa/parsercombinator
examples
command
Version:
v1.0.2
Opens a new window with list of versions in this module.
Published: Jul 1, 2025
License: Apache-2.0
Opens a new window with license information.
Imports: 3
Opens a new window with list of imports.
Imported by: 0
Opens a new window with list of known importers.
README
README
¶
Parser Combinator Examples
このディレクトリには、Go Parser Combinator ライブラリの実用的なサンプルが含まれています。
ディレクトリ構成
basic/
基本的なパーサーコンビネータの使用例
zeroormore_example.go : ZeroOrMore
コンビネータの使用例
コンマ区切りの数値リストをパースする例
空のリストと非空のリストの両方をサポート
パーサーコンビネータの基本的な使い方を学ぶのに最適
interpreter/
インタプリタの実装例
simple_calculator.go : 数式を直接評価する電卓
数式をパースして即座に結果を計算
演算子の優先度をサポート(* / > + -)
左結合で演算を処理
四則演算(+, -, *, /)をサポート
ゼロ除算エラーの適切な処理
compiler/
コンパイラの実装例
simple_math_to_json.go : 数式をJSON ASTに変換
数式をパースしてJSONフォーマットのAST(抽象構文木)を生成
演算子の優先度と左結合性を正しく表現
構造化されたデータ形式での出力
さらなる処理(最適化、コード生成など)への基盤
実行方法
各サンプルは独立したGoプログラムとして実行できます:
# 基本例の実行
cd basic
go run zeroormore_example.go
# インタプリタ例の実行
cd interpreter
go run simple_calculator.go
# コンパイラ例の実行
cd compiler
go run simple_math_to_json.go
学習の流れ
basic/ : まず基本的なパーサーコンビネータの概念を理解
interpreter/ : パースした結果を直接評価する方法を学習
compiler/ : パース結果をASTという中間表現に変換する方法を学習
特徴
実用的 : 実際のユースケースに基づいた例
段階的 : 簡単なものから複雑なものへと段階的に学習可能
完全 : それぞれが独立して動作する完全なプログラム
エラーハンドリング : 適切なエラー処理の例を含む
応用
これらの例を基に、以下のような応用が可能です:
設定ファイルパーサー : JSON、YAML、INIファイルなどの解析
ドメイン固有言語(DSL) : 特定の目的に特化した小さな言語の実装
データバリデーション : 構造化データの検証とパース
プロトコル解析 : 通信プロトコルやファイルフォーマットの解析
各例は拡張可能で、より複雑な機能(括弧サポート、変数、関数など)を追加する出発点として活用できます。
Expand ▾
Collapse ▴
Documentation
¶
There is no documentation for this package.
Source Files
¶
Directories
¶
ZeroOrMore Example - コンマ区切りの数値リストをパースする例
ZeroOrMore Example - コンマ区切りの数値リストをパースする例
Simple Math Expression to JSON AST Compiler - シンプルな数式→JSON AST コンパイラ
Simple Math Expression to JSON AST Compiler - シンプルな数式→JSON AST コンパイラ
Simple Calculator Interpreter - 数式を直接評価する電卓
Simple Calculator Interpreter - 数式を直接評価する電卓
Click to show internal directories.
Click to hide internal directories.