%option noyywrap %option nounput %{ #include #include using namespace std; #include "reg_izrazi.hpp" #include "parser.tab.hpp" %} %% "DEFINITION" return definition_token; "BASIC" return basic_token; "MAXLEN" return maxlen_token; "MINSTR" return minstr_token; [a-z] { yylval.c = *yytext; return slovo_token; } [A-Z] { yylval.c = *yytext; return id_token; } [\n|*()+\[\]{}?=] return *yytext; "{"[0-9]+"}" { yylval.i = atoi(yytext+1); return broj_token; } [ \t] { } . { cerr << "Leksicka greska: nepoznat karakter '" << yytext << "'" << endl; exit(EXIT_FAILURE); } %%