Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- %{
- #define YYSTYPE char*
- #include "parser.tab.h"
- #include "stdlib.h"
- int lineno=1;
- %}
- white [ \t]+
- letter [A-Za-z]
- digit [0-9]
- id {letter}({letter}|{digit})*
- number {digit}+
- relop >=|<=|>|<|==|!=
- %%
- {white} { }
- {number} {yylval=strdup(yytext); return NUMBER;}
- <<EOF>> {return E_O_F;}
- if {yylval=strdup(yytext); return IF;}
- int {yylval=strdup(yytext); return INT;}
- float {yylval=strdup(yytext); return FLOAT;}
- else {yylval=strdup(yytext); return ELSE;}
- while {yylval=strdup(yytext); return WHILE;}
- true {yylval=strdup(yytext); return TRUE;}
- false {yylval=strdup(yytext); return FALSE;}
- {id} { yylval=strdup(yytext); return ID;}
- "+" {yylval=strdup(yytext); return PLUS;}
- "-" {yylval=strdup(yytext);return MINUS;}
- "*" {yylval=strdup(yytext);return TIMES;}
- "/" {yylval=strdup(yytext);return DIVIDE;}
- "," {yylval=strdup(yytext);return COMMA; }
- "=" {yylval=strdup(yytext);return ASSIGN;}
- "||" {yylval=strdup(yytext);return OR;}
- "&&" {yylval=strdup(yytext);return AND;}
- "!" {yylval=strdup(yytext);return NOT;}
- "(" {yylval=strdup(yytext);return LP;}
- ")" {yylval=strdup(yytext);return RP;}
- {relop} { yylval=strdup(yytext); return RELOP;}
- "{" {yylval=strdup(yytext);return LB;}
- "}" {yylval=strdup(yytext);return RB;}
- ";" {yylval=strdup(yytext);return DELIMITOR;}
- "\n" {lineno++;}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement