%{ #include #include #include "gram.tab.h" void echoMsg(char *msg) { printf("<%s: %s>", msg, yytext); } void putStringValue() { yylval.stringVal = malloc(yyleng + 1); if (yylval.stringVal == NULL) { perror("Probleme allocation yylval"); exit(EXIT_FAILURE); } strcpy(yylval.stringVal, yytext); } %} %option yylineno symbol [[:alpha:]]+[[:alnum:]]* %% \. return yytext[0]; = return yytext[0]; \( return yytext[0]; \) return yytext[0]; \" return yytext[0]; , return yytext[0]; ; return yytext[0]; [ \t\n] ECHO; new return NEW; DefaultMutableTreeNode return TREENODE_TYPE; JTree00 return JTREE_TYPE; addObject return ADDOBJECT; {symbol} putStringValue(); return SYMBOL; \".*\" putStringValue(); return STRINGVALUE; . printf("\nINCONNU: %c!!!\n", yytext[0]); %%