もう少しJavaCCを使って、
class A { } と、class B { } をいう文字列を受け付けるようなプログラムを作ってみた。これも簡単にできてしまう。
BNF記法で記述すると、
<program> :::= <clazz> <name> <cstart> < cend>
<clazz> ::= “class”
<name> ::= “A” | “B”
<cstart> ::= “{“
<cend> ::= “}”
もう少しJavaCCを使って、
class A { } と、class B { } をいう文字列を受け付けるようなプログラムを作ってみた。これも簡単にできてしまう。
BNF記法で記述すると、
<program> :::= <clazz> <name> <cstart> < cend>
<clazz> ::= “class”
<name> ::= “A” | “B”
<cstart> ::= “{“
<cend> ::= “}”
JavaCCを使ってみた。
Ref: JavaCC Home
Ref: JavaCC Grammar Repository
準備
javacc-3.2.tar.gz をダウンロードし、展開する。できあがったディレクトリにあるbinディレクトリにパスを通す。
手順
1.文法を定義した jjファイルを作成 … hello.jj
2.JavaCCでparserを生成 … javacc Hello.jj
3.javacコマンドでコンパイル … javac Hello.java
4.実行 … java Hello
起動クラスを別に作成する場合は、2, 3の間に起動用クラス作成を行い、3では起動クラスをコンパイルする。
え、そうなんですか。パンダのことなの?
初めて知りました。 (^^;
でもたしか、記憶では竹取物語で火狐だかの毛皮が欲しいという話がでたりしていたような気もします。伝説上の動物のような気も…。
続きを読む