Produit du jour : Gramster : Grammaire anglaise à partir de 28.00 € (Logiciel)
Bonjour,

il me faut parcourir une chaine pour en séparer ses composantes. Je ne sais
pas quelle fonctions de sscanf, strtok, ... je dosi utiliser. La chaine que
je dois parcourir, si je l'appelle <message>, à une structure en pseudo BNF
comme ceci :

<message> ::= [':' <command> <SPACE> ] <command> <params> <crlf>
<command> ::= <letter> { <letter> } | <number> <number> <number>
<SPACE> ::= ' ' { ' ' }
<params> ::= <SPACE> [ ':' <trailing> | <middle> <params> ]

<middle> ::= <Any *non-empty* sequence of octets not including SPACE
or NUL or CR or LF, the first of which may not be ':'>
<trailing> ::= <Any, possibly *empty*, sequence of octets not including
NUL or CR or LF>

<crlf> ::= CR LF

Mon problème est la gestion des paramètres optionnels (entre crochets),
notamment pour <param>. Comment programmer un tel "parser" ?

Cordialement.
Voir les 12 réponses - Poster une réponseCe sujet ne répond pas à vos besoins ? Posez votre question !
mots-clés : histoire, grammaire Catégories : Développement, Langage C
 
c et microcontroleur
Différence entre "strncpy" et "memcpy"
 

 

Téléchargements

Tous les téléchargements