基本的に、次のような疑似コードを想像します
build_command_list {
add_command("cmd 1")
add_command("cmd 2")
conditional_branch( some_cond ) {
add_command("cmd3")
add_command("cmd4")
}
conditional_branch( some_other_cond ) {
add_command("cmd 5")
}
}
このメソッドbuild_command_list
はコード ブロックを取得し、各ノードがコマンドであるツリー構造を再帰的に構築し、一部のインタープリターがそのツリーを取得して、そのコード ブロックの最初のコマンドであるルートから実行します (この場合は、 、"cmd 1"
)
add_command
およびconditional_branch
ノードの作成方法を決定するその他のメソッドです。
conditional branch
条件を評価するようにインタープリターに指示するようなコマンドがあり、真の場合、コマンドのリストを処理します。
上記の例のようなコードを書き、コードを取得して解析できるようにするものが ruby にあるかどうか疑問に思っています。
そうでない場合は、一連のコマンドから正しいコマンド ツリーを構築できるような方法で入力を記述する方法を誰かが提案してくれるでしょうか?