LALR法

LALR法（）は、構文解析手法の一種であり、Lookahead（先読み）LR法の略である。単純LR法（SLR法）の構文解析器よりも多くの文脈自由文法を扱うことができる。構文解析表の大きさがあまり大きくなく、多くの文法を扱えることから、最も一般的な構文解析器となっている。yacc や GNU bison といったパーサジェネレータの多くもこの種の構文解析器を生成する。
SLR法と同様、LALR法では LR(0) の構文解析表を必要とする。SLR 法では Follow-set を使って reduce アクションを構築するのに対して、LALR法では Lookahead-set を使う。Lookahead-set は構文解析により特化している。Follow-set は関連する記号の集合だが、Lookahead-set はLR(0)アイテムと構文解析状態に特化した集合である。
ある LR(0) 文法での状態 におけるアイテム の Follow-set は、文法上 の左辺の非終端記号の後に出現可能な全記号を含む。一方、状態 におけるアイテム の Lookahead-set は、状態 で構文解析を開始したときの の右辺に出現可能な記号のみを含む。"follow"() は左辺が同じ である全 LR(0)アイテムの Lookahead-set の和集合と等価であり、状態やアイテムの右辺は考慮されていない。従って、Follow-set からは文脈情報が失われている。Lookahead-set は特定の構文解析向けであるため、さらに選別が可能で、Follow-set よりも詳細な識別が可能となる。