字句解析
多分作業終了。と。
var lexer = lang.lexer.lexer; var table = lang.lexer.token_table; var input = stream.open_rstream( "test/langlexer.ilog" ); while ( true ) { var tok = lexer.next_token( input ); puts( tok.value ); if ( tok.value==`TOK_EOF ) break; }
lang.lexer.lexerがILogScript自身の字句解析オブジェクト。これを使ってやればILogScript自身の字句解析器をスクリプトから呼べるはず。
字句解析器の正体はただのリストなので、それを変更してやれば、スクリプト実行中にトークンの規則を変更することが可能なはず。まだ構文解析のほうに組み込んでないので、そういうことはできないけど。
ilog使ってみたいと、言ってもらえて非常に嬉しい限りなんだけど、ここで、ドキュメントが全く無いという、酷い問題に直面するわけである。
ILogScriptの仕様はソースを除けば、今のところ僕の脳内にしか存在しないのであって、ドキュメント書くとなると、僕が書くしかない。しかし、それはまた面倒だ。さらに、僕の書く文章はわかりにくい、とチーム内でも評判なくらいで、書いても誰も理解してくれないような気がしないでもない。
で、どうしたらいいかなぁ…
ちなみに僕はDoxygenなんかの自動生成ツールは嫌いなのだ。自動生成されたドキュメントは読んでておもしろくないから、とか、そんなつまらない理由なんだけど。