J'essaie d'écrire un analyseur en Java pour un langage simple similaire à Latex, c'est-à-dire qu'il contient beaucoup de texte non structuré avec un couple de \ commands [avec] {some} {parameters} entre. Les séquences d'échappement comme \\ doivent également être prises en compte. J'ai essayé de générer un analyseur pour cela avec JavaCC, mais il semble que les compilateurs de compilateurs comme JavaCC ne conviennent que pour du code hautement structuré (typique pour les langages de programmation généraux), pas pour des problèmes de latex. balisage. Jusqu'à présent, il semble que je doive aller bas niveau et écrire ma propre machine d'état fini. Donc, ma question est la suivante: quelle est la manière la plus simple d'analyser les entrées qui sont pour la plupart non structurées, avec seulement quelques commandes de type Latex entre les deux?Analyse du langage de type latex en Java
EDIT: Passer au niveau bas avec une machine à états finis est difficile car les commandes Latex peuvent être imbriquées, par ex. \ cmd1 {\ cmd2 {\ cmd3 {...}}}
La ressource est canonique [Apprendre à écrire un compilateur] (http: //stackoverflow.com/questions/1669/learning-to-write-a-compiler). Votre problème pourrait bien être assez petit pour qu'une approche de descente récursive manuelle soit judicieuse. En outre, je pense que vous pourriez confondre le lexisme et l'analyse syntaxique, ce qui pourrait rendre cela plus difficile que cela. – dmckee