階層構造をもつオブジェクトを表現する、「YAML」という記法がある。YAMLの形式に基づいたオブジェクトのデータが与えられるので、それをパースして指定されたプロパティを検索せよ。今回与えられる入力は、BNF記法で以下のように表現できる。考察LL(1)なので気合で構文解析をする。一気にやろうとすると面倒なので、大きく4段階に分けて実装した。取得するプロパティをパース。body)の組へパース。bodyを持たない(オブジェクトである)場合、bodyは空。2で作ったデータをパースして、オブジェクトを構築する。プロパティを検索する。この問題の核となるのはもちろん3である。これは解説スライドから学んだことだが、パース関数の名前としてBNF記法で使われているものを使うと実装しやすい。構文解析では、脳死で与えられたBNF記法通りにパースするのが正解なのだろう。それが中々できないのだが。解説スライドで参考資料に挙げられていたページがこちら。実装に時間をかけすぎた。脳死で解析できるようになりたい。※各問題名は表記ミスではありません。「Attention」の解説。Numbers」の解説。公式はてなブログをはじめよう!misteerさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。