%option noyywrap %option nounput %{ #include #include using namespace std; #include "reg_izrazi.hpp" #include "parser.tab.hpp" %} %% "BASIC" return basic_token; "DEFINITION" return definition_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; } "{"[0-9]+"}" { yylval.i = atoi(yytext+1); return num_token; } [|*()\n+\[\]?{}=] return *yytext; [ \t] { } . { fprintf(stderr, "Leksicka greska: neprepoznat karakter '%c'\n", *yytext); exit(EXIT_FAILURE); } %%