%option noyywrap %option nounput %{ #include #include using namespace std; #include "parser.tab.hpp" %} %% "pocetak" return pocetak_token; "ispisi" return ispisi_token; "kraj" return kraj_token; "mod" return mod_token; [0-9]+ { yylval.i = atoi(yytext); return broj_token; } 0x[0-9a-fA-F]+ { yylval.i = (int)strtol(yytext, NULL, 16); return broj_token; } ["](\\["]|[^"])*["] { string tmp(yytext+1); tmp = tmp.substr(0, tmp.size()-1); yylval.s = new string(tmp); return string_token; } [.;()+*] return *yytext; [ \t\n] { } . { cerr << "Leksicka greska: nepoznat karakter '" << yytext << "'" << endl; exit(EXIT_FAILURE); } %%