2011-02-03 6 views

Répondre

0

Réponse courte: both.

Par défaut, il produit des analyseurs LALR (1).

Avec l'option explicite %glr-parser, il va produire un analyseur LR (1).

+4

"Les deux" est tout simplement faux. Le bison traditionnel * est * LALR (1). Cependant, la nouvelle option% glr-parser ne produit pas d'analyseur * LR (1) * tel que je le comprends. Il produit un analyseur * GLR *, qui utilise les tables d'analyse LALR (1). [J'ai implanté des parseurs GLR; ils n'ont besoin de rien "LR (1)"]. –

0

Oui, depuis la version 2.5, Bison supporte plusieurs types d'analyseurs LR: LALR (1), LR canonique (1) et IELR (1). Voir la documentation sur "lr.type", par exemple here.