2005年11月1日火曜日

ANTLR - lookahead lexer

ANTLRでは、lexerにlookahead値を指定して先読みができるので便利。。。と一瞬思ったけど、yaccではそんな設定しなくても大丈夫だった気がする…(-_-;;

LALR(1)とLL(k)の違いなのだろうけど、、、もう随分前に習った知識なので忘れてしまいました。それでもANTLRでは、「*」「?」「+」などの正規表現でおなじみの記号を使えるのでとっても便利。 yacc&bisonだと、

E* => E1 : ε | E1 E
E+ => E2 : E | E1
E? => E3 : ε | E

と書き換えなくてはならなかったので、かなり苦痛でした。

0 件のコメント:

License

Creative Commons LicenseLeo's Chronicle by Taro L. Saito is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.1 Japan License.