Comment puis-je définir une grammaire qi esprit qui peut avoir plus d'une règle de départ? Je travaille sur une grammaire XML et je veux avoir 4 règles de départ possibles. Donc si j'ai une grammaire appelée xml_grammar
et que le type de base est (A, "A")
. Je veux aussi quelques autres règles de départ.boost spirit qi règles de départ multiples
1
A
Répondre
1
Toutes les grammaires formelles ont un seul symbole de début. Si vous avez plusieurs symboles de début à l'étude (disons A, B, C et D), vous pouvez les convertir en un symbole unique de démarrage artificiel S avec une règle comme:
S = A | B | C | D
Questions connexes
- 1. boost :: spirit :: qi perfomance
- 2. boost spirit qi - analyse conditionnelle
- 3. boost :: spirit :: qi - match optionnel
- 4. Boost :: Spirit :: Qi Règles automatiques et actions conditionnelles
- 5. utree imbriqué avec boost :: spirit :: qi?
- 6. Utiliser boost :: phoenix :: bind avec boost :: spirit :: qi :: symbols :: add
- 7. boost :: spirit (qi) décision entre float et double
- 8. boost: spirit :: qi parser utilisant plusieurs grammaires et phoenix :: construct
- 9. boost :: spirit char/string mélange
- 10. parse tapé fichier csv avec boost :: spirit :: qi
- 11. Erreur lors de l'utilisation de boost :: spirit :: qi :: phrase_parse() avec un qi :: grammar
- 12. Boost :: Spirit mini_c tutoriel
- 13. L'analyse grammaticale avec Spirit :: Qi échoue
- 14. boost :: spirit parser renvoie le vecteur vide
- 15. boost :: spirit :: qi Les règles avec des attributs de structure adaptés simples identiques donnent une erreur de compilation
- 16. Y at-il une alternative pour boost :: phoenix :: at_c en combinaison avec boost :: spirit :: qi :: grammar
- 17. Pourquoi l'action sémantique boost :: spirit :: qi ne fonctionne pas avec deux arguments lorsque j'utilise boost :: bind?
- 18. Boost Spirit 2.4.2: Impossible d'extraire une chaîne
- 19. Comment définir l'opérateur de diffusion pour les conteneurs boost :: spirit :: qi et std :: list
- 20. Stocker un boost :: spirit :: qi :: rule dans une liste std :: list
- 21. Boost :: spirit règle les branches incorrectement
- 22. Boost :: Spirit :: Autorisations Qi - éviter la copie répétée des structures de données AST
- 23. Impossible de définir une règle dans Spirit :: Qi
- 24. Comment utiliser les attributs polymorphes avec les parseurs boost :: spirit :: qi?
- 25. boost :: qi :: parse semble causer des erreurs de compilation
- 26. Implémentation de la priorité des opérateurs avec boost spirit
- 27. Faire correspondre les chaînes avec Boost Spirit
- 28. La composition des attributs ne fonctionne pas dans Boost :: spirit
- 29. Analyse de la grammaire python avec boost :: spirit - problème
- 30. Erreur de compilation avec un boost :: spirit parser
Merci thiton. Il semble helpfuf mais je ne suis pas sûr que ça marchera ou non. J'essaye de faire ceci et le teste pour une grammaire de xo d'iso_8859. Vous permettra de savoir si cela fonctionne et acceptera la réponse. – vishal129