%option noyywrap %option nounput %{ #include #include using namespace std; #include #include "syntree.hpp" #include "parser.tab.hpp" %} %% begin return begin_token; end return end_token; print return print_token; while return while_token; do return do_token; if return if_token; then return then_token; else return else_token; [a-zA-Z]+ { yylval.s = new string(yytext); return id_token; } [0-9]+ { yylval.x = atoi(yytext); return num_token; } [:=;+*.<()] return *yytext; [\n\t ] { } . { cerr << "Leksicka greska: Neprepoznat karakter '" << *yytext << "'" << endl; exit(EXIT_FAILURE); } %%