ツイッターで神々が書いていたけど、分からなかった単語を調べてみた。
GLR法とは
GLR法または一般化LR法(英: GLR parser)とは、非決定的で曖昧な文法を扱うようLR法を拡張したもの(”Generalized LR parser”)である。
1986年、冨田勝が発表した。冨田法、並列構文解析法とも呼ばれる。 Wikipedia - GLR法より
( ゚д゚)「何も分からん・・・」 そもそもLR法とは何だ?
LR法とは
LR法またはLR構文解析器とは、文脈自由文法の構文解析手法/構文解析器である。 LR法では、入力を左(Left)から右に読んでいき、右端導出(Rightmost derivation)を行う。このためLRと名づけられている。 Wikipedia - LR法より
つまりどういうこと・・・? もう少し読んでみると、少しヒントがあった。
ほとんどのプログラミング言語の文法は LR(1) で表されるため、LR法はコンパイラがソースコードの構文を解析する際によく使われる。
なるほど、ここでプログラミングに絡んでくるのか。 ということは、コンパイラとかを自作すると、きっとLR法が必要になるのだな。
もう少し調べる。
アクション表とかGOTO表とか出てきたが、全然頭に入ってこない・・・。 ふとWikiの参考文献のところを見てみると・・・
- 原田憲一 訳、『コンパイラ—原理・技法・ツール』サイエンス社、1990年。ISBN 4-7819-0585-4
- 原田憲一 訳、『コンパイラ—原理・技法・ツール』サイエンス社、1990年。ISBN 4-7819-0586-2
も、持ってた・・・。 いつか役に立つかもと思って、2年位前に中古で買ったやつだ・・・。
というわけで、LR法はコンパイラ作る人には必須な知識でした。 参考文献の本は、中古で割安なのでお勧めです。(読んでないけど・・・)