/* *** Paramètre de configuration */ %{ /* déf des tokens*/ #include "Configuration_files_parser.h" #include unsigned int lineno = 1; %} alpha [A-Za-z] chiffre [0-9] caractere [-_.] nom ({alpha}|{chiffre}|{caractere}) /*----- [ Rules ]------------------------------------- */ %s configuration commentaire %% %{ BEGIN configuration; %} "" { yylval.token = strdup(yytext); BEGIN(configuration); } /* Balise de fin de commentaires */ " "|\t { yylval.token = strdup(yytext); } \n { yylval.token = strdup(yytext); lineno ++; } ""?>" { yylval.token = strdup(yytext); return END_XML; } """""""""""""""""""""""""""""""""""""""">" { yylval.token = strdup(yytext); return END_BALISE_DUAL;} "/>" { yylval.token = strdup(yytext); return END_SINGLETON;} "=" { yylval.token = strdup(yytext); return EQUAL; } "\"" { yylval.token = strdup(yytext); return QUOTE; } "version" { yylval.token = strdup(yytext); return VERSION ; } "encoding" { yylval.token = strdup(yytext); return ENCODING ; } "name" { yylval.token = strdup(yytext); return NAME ; } "id" { yylval.token = strdup(yytext); return ID ; } "delay" { yylval.token = strdup(yytext); return DELAY ; } "latence" { yylval.token = strdup(yytext); return LATENCE ; } "type" { yylval.token = strdup(yytext); return TYPE ; } "value" { yylval.token = strdup(yytext); return VALUE ; } "algo" { yylval.token = strdup(yytext); return ALGO ; } "true" { yylval.token = strdup(yytext); yylval.value_int = 1; return INTEGER;} "false" { yylval.token = strdup(yytext); yylval.value_int = 0; return INTEGER;} {chiffre}+"."{chiffre}+ { yylval.token = strdup(yytext); yylval.value_float = atof(yytext); return FLOAT;} {chiffre}+ { yylval.token = strdup(yytext); yylval.value_int = atoi(yytext); return INTEGER;} {nom}+ { yylval.token = strdup(yytext); yylval.name = strdup(yytext); return STRING;} . { yylval.token = strdup(yytext); } . { yylval.token = strdup(yytext); return (*yytext); } /* Toute autre caractère */ %% /* *** Fonctions auxiliaire */ int yywrap() { return (-1); }