Question

Par curiosité, je me demande ce que les gens peuvent faire avec parseurs, la façon dont ils sont appliqués, et qu'est-ce que les gens créent habituellement avec elle?

Je sais qu'il est largement utilisé dans l'industrie du langage de programmation, mais je pense que cela est juste une infime partie de celui-ci, non?

Était-ce utile?

La solution

En plus de langues à usage spécial, mon usage le plus ambitieux d'un générateur d'analyseur encore (avec un bon vieux yacc retour en C, et encore plus tard avec pyparsing en Python) était d'extraire, de valider et éventuellement modifier certaines méta-informations de requêtes SQL - l'analyse syntaxique SQL est bien un vrai défi (surtout si vous espérez soutenir plus d'un dialecte -), un générateur d'analyseur (et un lexer il se trouve au-dessus de) au moins enlever cette partie du travail -)

Autres conseils

Ils sont utilisés pour analyser le texte ....

Pour donner un exemple plus concret, où je travaille, nous utilisons lexx / yacc pour analyser des chaînes à venir sur des sockets.

En outre du nom, il devrait vous donner une idée de ce que javacc est utilisé pour (java compilateur compilateur!)

En général pour analyser les langues spécifiques du domaine ou des langages de script, ou un support similaire pour snipits de code.

Auparavant, je l'ai vu utilisé pour analyser la ligne de commande de sortie sur la base d'un autre outil logiciel. De cette façon, l'outil externe (logiciel VPN) pourrait réutiliser le routeur de base du code IPSec sans modification. Comme beaucoup de ce qui était en cours d'analyse était iptables route et d'autres textes répétés structurés.

L'utilisation d'un analyseur a permis des changements simples lorsque la mise en forme a changé, au lieu d'essayer de trouver et de modifier l'un analyseur écrit à la main. Et la sortie a fait changer plusieurs fois de la vie du produit.

je parseurs pour aider à traiter +/- 800 fichiers source de Clipper dans GPR similaires qui pourraient être compilés avec Alaksa Xbase 32.

Vous pouvez l'utiliser pour étendre votre langue préférée en obtenant sa définition de la langue de leur référentiel, puis en ajoutant ce que vous avez toujours voulu avoir. Vous pouvez passer la syntaxe régulière à votre application et gérer l'extension dans votre propre programme.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top