Bonjour, (c'est plutôt Bonsoir, vu l'heure qu'il est )
Première question: On dit "un BNF" ou "une BNF" ?
Je suis entrain de réaliser un BNF pour un parseur XML que je vais coder mais je me suis rendu compte, après l'avoir terminé, qu'il y avait quelques cas de figures qui ne sont pas grammaticalement juste et que mon BNF ne gere pas, et je ne vois pas comment resoudre ce problème. (Dans le code je sais comment gérer ces cas de figures mais pas comment les représenter dans le BNF).
Je ne sais pas si un BNF doit gérer ça mais voici un exmple de ce que ca ne gére pas:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 S('<'), E('>'), EI('/'), W(word), STR('"'), AF('='), SP('?'), TG(tag), C(char) S ::= EI? | SP? | TG EI ::= TG? | E SP ::= TG | SP | E TG ::= W* | EI? | SP? | E W ::= AF AF ::= STR STR ::= C* | STR? | W? | EI? | SP? | E C ::= STR E ::= '>'
Il y a plein d'autres cas de figures mais je pense que vous avez compris .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SP->EI->TG->SP (ce qui n'est pas bon)
Merci,
kimimsc
Partager