2009-06-16 6 views
11

Je cherche un moyen d'obtenir le support Flex/Bison (ou Lex/Yacc, et al.) En PHP. Plus précisément, j'implémente un analyseur de requêtes booléen dans une interface web et je préfère garder toutes les opérations à l'intérieur de PHP (par opposition à l'appel d'un analyseur C, ou passer des choses à Python, etc.).Fonctionnalité Flex/Bison dans PHP

Répondre

11

LIME Parser Generator pour PHP:

LALR complet (1) générateur d'analyseur syntaxique et le moteur (comme BISON ou YACC), mais il est tout fait en PHP, et la grammaire d'entrée est plus facile et plus maintenable . Ecrivez vos actions en PHP. Générer le code de sortie PHP . Conduisez votre analyseur avec PHP. Tu veux faire une langue?


mise à jour:

Depuis que j'écrit ce qui précède, je vois qu'il ya d'autres outils pour la production d'analyseur, annoncé ici:

http://wezfurlong.org/blog/2006/nov/parser-and-lexer-generators-for-php/

Je ne sais pas si ceux-ci sont mieux entretenu maintenant en 2014, mais je connais Wez Furlong, il était le développeur original de PDO, et il est un très bon développeur.

+1

L'avez-vous déjà utilisé? Il n'a pas été mis à jour depuis près de deux ans, et il n'a pas de bogues déclarés, ouverts ou fermés, donc j'hésite à croire qu'il a été testé ou vraiment utilisé, jamais. – Wang

+1

Non, je n'ai jamais eu besoin d'implémenter un analyseur complet en PHP. Le fait qu'il s'agisse d'abandonware, et aucun autre outil existe, peut être une indication que PHP n'est pas le bon outil pour l'analyse des emplois. –

+0

Quelqu'un semble essayer de le mettre à jour: https://github.com/rvanvelzen/lime (n'a pas été touché depuis 2 ans, mais c'est un début!) – Andrea

Questions connexes