ANATLRについて学んだことをまとめてみる。
サンプルコードをもとに、使い方を逆引き的にまとめる
休日にちょこっとやってみてるだけなので、飽きたらやめる
http://www.antlr.org/download.html
ANTLRWorks+ANTLR
ANTLR v3
http://d.hatena.ne.jp/inabatch/20080123/1201099466
拡張子は.g
ファイル名がT1だとすると、
grammar T1;
と記入しなくてはならない。
$変数名.textで置き換えることができる。
{$channel=HIDDEN;}
grammar T1; r : 'call' ID ';' {System.out.println("invoke "+$ID.text);}; ID : 'a'..'z'+; WS : (' '|'\n'|'\r')+ {$channel=HIDDEN;};
The Definitive ANTLR Reference ISBN-10 0-9787392-5-6 ISBN-13 978-0-9787392-5-6
MacOS XのTerminalの標準文字コードはUTF-8。さらに、OSのフォルダなどの名前に使われているのもUTF-8。
そのため、通常のアプリケーション等は、MacOS9の頃のJISコードを使うので、Javacを使うと、Terminalで利用中は、文字化けをする。
そこで、javacをする際に、"-J-Dfile.encoding=UTF8"のオプションを付けてあげれば、問題は解決。
毎回付けるのが面倒だと言う方は、aliasに
alias javac="javac -J-Dfile.encoding=UTF8"
を追加しておく。
このさいだから文字コード変換用に入れておく。
いれなくてもよい。
https://sourceforge.jp/projects/nkf/
参考
http://blog.marimo-net.org/item/614
$make
$make perl
$sudo mkdir /usr/local/bin
$sudo cp nkf /usr/local/bin
$cd NKF.mod
$perl Makefile.PL
$make
$make test
$sudo make install