• [^] # Re: Nu Bison ?

    Posté par . En réponse à la dépêche lex & yacc. Évalué à 0.

    Il y a moyen de les comparer ! Bien sur !

    D'un point de vue théorique les langages réguliers (Lex) sont strictement inclus dans les langages
    libre du contexte (Yacc - qui en realité est un sous ensemble de CFG, LALR, mais reste un sous ensemble). Cependant du coté pratique, on se rend compte que l'expressivité de lex et yacc sont identiques du à l'ajout d'extension et la manipulation des règles sémantiques. Ils permettent tous 2 de décrire des langages généraux équivalent à une machine de Turing. Alors pourquoi utiliser les 2 ? L'explication est triviale : c'est plus simple ! Ils sont adapter chacun à leur travail.

    Il est aussi à remarquer que Lex et YACC sont des outils qui commencent à dater... Il y a des parseurs bcps mieux pensés (voire http://www.compilers.net(...) pour une liste). Il y a clairement des inepties dans ces outils (par exemple : on défini les tokens dans YACC alors qu'un token c'est bien ce que contruit un Lexer).

    Mais c'est vrai ce sont des standards, ils sont libre (enfin pas lex et yacc mais flex et bison). Il existe pour toutes les plateformes. Ce qui fait leur atouts majeurs. Mais il ne faut pas se leurer ce ne sont surement pas les meillleurs ! Utilisez-les c'est mon conseil mais soyez critique vis a vis de leur qualité !

    -- Anthony