inohilog

/var/log/inohiro.log

ANTLRをC#で使ってみる。

特別演習(XMLDBの開発)でXPath式をSQLクエリに変換するんですが、XPathのパーサーが必要。ということでANTLRを用いてパーサーを作ります。
ANTLRは、というかパーサジェネレータは初めて。理解できているのかよくわからないレベル。
とりあえず、ANTRLを使ってパースしてくれるコード(C#)を作って、それでパースすればいいんですよね。そうだよね?

ANTLRを使う

C#からANTLRを使うには、ここからDllを落としてきます。
Visual Studioで適当にプロジェクト作ったら、ソリューションエクスプローラ>参照設定>参照の追加、からdllを参照に追加。


宣言できるようになった。

using Antlr.Runtime;
using Antlr.StringTemplate;
using Antlr.Utility;
using antlr.collections;
using antlr.debug;

でも何が何だかよくわからない。

今日わかったこと。

拡張子「g」のGrammerファイルを書いて、文法?構文?を定義する。

Package hoge; // java

で「hoge.g」が読み込めるみたい。こんなんでいいのか。


とりあえず備忘録として。