エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
Ruby: 入れ子の配列だけをパースできるパーサを作る(手書きの再帰下降パーサ) - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Ruby: 入れ子の配列だけをパースできるパーサを作る(手書きの再帰下降パーサ) - Qiita
このように入れ子の配列を出力する(入れ子の配列に変換する)パーサを作ります。 入力文字列として使え... このように入れ子の配列を出力する(入れ子の配列に変換する)パーサを作ります。 入力文字列として使える文字は (, ), ,, 半角スペースの4つだけとします。 いきなり全部やろうとすると大変なので、4つのステップに分けましょう。 以下、「配列」と書いているところは Ruby の配列のイメージで大丈夫です。 (1) () をパースできる 空配列 (2) (()) や ((())) をパースできる 配列の入れ子 (3) (要素, 要素) や (要素, 要素, 要素) をパースできる 配列の要素のくりかえし (4) ((), (())) 入れ子とくりかえしの組み合わせ (0) 全体像と字句解析 全体のイメージはこんな感じ。これを育てていきます。 def parse(src) # ここを書いていく end src = "()" tokens = tokenize(src) tree = parse