![]() |
||||||
SCR/AL1 - TOME III. Les librairies utilitaires
Cette structure contient un des mots-clés reconnus par YY_lex() et YY_lex2() lors de l'analyse d'un texte. Un tableau de structures de ce type est passé à YY_open().
typedef struct _yykeys {
char *yk_word; /* keyword */
int yk_def; /* define */
} YYKEYS;
Exemple
/* Table des mots-clés */
YYKEYS MY_KEYWS[] = {
"ADRESSE", 1,
"CHAFF", 2,
"CODEPOST", 3,
"NOM", 4,
"PRENOM", 5
};
...
yy = YY_open(filename, MY_KEYWS,
sizeof(MY_KEYWS) / sizeof(YYKEYS), YY_FILE);
La table des mots-clés ne peut pas se terminer par un 0, l'utilisateur doit en fournir la taille (voir dans l'exemple). De plus, cette table doit être présentée par l'utilisateur dans l'ordre alphabétique. Ceci peut être aisément effectué par exemple par l'instruction suivante :
qsort(MY_KEYWS, sizeof(MY_KEYWS) / sizeof(YYKEYS),
sizeof(YYKEYS), YY_strcmp);
où YY_strcmp() est une fonction de comparaison adéquate définie dans s_yy.h
Copyright © 1998-2015 Jean-Marc Paul and Bernard PAUL - Envoyez vos remarques ou commentaires à bernard@xon.be