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
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.
La bibliothèque PEAR a les classes LexerGenerator et ParserGenerator. La syntaxe LexerGenerator est compatible avec re2c, la syntaxe ParserGenerator est compatible avec le Lemon Parser generator.
Avez-vous essayé d'essayer les générateurs d'analyseur PEG en PHP: https://github.com/maetl/php-peg?
Ou une approche de combinateur analyseur: http://qntm.org/locoparser?
- 1. Fonctionnalité hash_hmac()
- 2. La fonctionnalité LIKE de Mirror SQL pour un tableau PHP?
- 3. Y at-il des ressources sur la fonctionnalité PHP XMLWriter?
- 4. Fonctionnalité JQuery TypeWatch dans Delphi
- 5. flex fonctionnalité vdividedbox dans silverlight
- 6. Problème dans la fonctionnalité de partage facebook
- 7. AJAX Fonctionnalité
- 8. Comment intégrer fonctionnalité OpenId dans .net
- 9. Expression mélange comme fonctionnalité dans wpf
- 10. Supprimer la fonctionnalité "Ajouter" dans l'administrateur Django
- 11. Annuler la fonctionnalité dans un href
- 12. recherche de fonctionnalité «sed» dans Excel
- 13. Scriptaculous Ajax.Autocompleter fonctionnalité supplémentaire dans LI
- 14. Comment implémenter la fonctionnalité Zip dans VBA?
- 15. Quelle est votre fonctionnalité préférée dans .NET?
- 16. qu'est-ce qu'une fonctionnalité dans sharepoint?
- 17. "Vouliez-vous dire?" fonctionnalité dans Lucene.net
- 18. Fonctionnalité InfoPath SaveAs
- 19. Fonctionnalité Adobe Flex pdf
- 20. Scripts de fonctionnalité
- 21. voir en tant que fonctionnalité html
- 22. Resharper - Fonctionnalité "Widen Scope"
- 23. pgsql fonctionnalité concat() (presque)
- 24. "Exclure ces mots" fonctionnalité
- 25. Fonctionnalité manquante de MOSS 2007?
- 26. Fonctionnalité de suggestion automatique étendue
- 27. Ajax rafraîchit la fonctionnalité jqModal
- 28. fonctionnalité System.Web.Mail à Porting System.Net.Mail
- 29. Flex: Fonctionnalité du menu personnalisé
- 30. Comment vérifier en utilisant PHP fonctionnalité FTP si le dossier existe sur le serveur ou non?
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
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. –
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