BLOGは株式会社ケイズ・ソフトウェアが運営しています。技術力{技術情報}こんにちは。焼き肉ってなぜ牛タンから始めるんでしょうか(うちだけ?)。グーグルで調べたら答えが出そうですが調べてません。ちなみに焼き肉が好きすぎて、食べ過ぎているせいか健康診断で野菜中心にしなさいと怒られたので、少し私生活を見直そうとしている下田です。前回と同じように、お決まりの呪文を設定して、環境を作りましょう。org.antlr.v4.gui.TestRig'では、今回はもう少し高度な文法を処理していきたいと思います。必須スキルとなっています(最近は抽象化されちゃっていますが)。文を処理していきたいと思います。こんな感じの構文ですね。書くんだっけと、公式サイトを見たことがあると思います。すると、以下の様な呪文が書いてあることを思い出していただけると思います。落としこむことが出来ます。実装を中心に話を進めていきたいと思います。前提として処理をしていきます。文を取り込んで処理する前に小文字化処理を施します。前回を応用して、上位の階層のみ定義しました。)は、大文字で定義しています。これでコンパイルが通れば、どんどん下の階層を実装していきます。公式には以下のように記載されています。(expr)全部実装すると気が遠くなります・・・。通常の実務で見ることのない構文なんかもあって面白いですが、サンプル文が処理できるように基本ルートのみ実装していきましょう。今回は多数のデータタイプもサポートしません!その部分を省くとして、その配下も続けて記載すると以下の様な構成になります。charset_name]かなりすっきりしました。これなら実装できそうです。書き写していくとこんな感じになります。固定文字が多いので行が長くなっていますが、ほとんど同じ記述になっていることがわかると思います。コンパイルして、文字を処理してみます。skip;テストする文は予め小文字化して渡します。使ってみたいと思います。表示したツリーのモデルが取得出来るだけです。}}これを実行すると以下の様な結果が階層構造で得られます。次回はこの構造をこねくり回して行きたいと思います。