diff --git a/labs/04/lexico_scan.l b/labs/04/lexico_scan.l new file mode 100644 index 0000000..93ea1bb --- /dev/null +++ b/labs/04/lexico_scan.l @@ -0,0 +1,31 @@ +%{ +#include +%} + +%option noyywrap + +letter [A-Za-z] +integer [0-9]+ +float (0|[1-9][0-9]*)\.([0-9]*[1-9]|0) +comment \/\/.* +id {letter}({letter}|[0-9])* + +%% +^p {printf("print ");} +^f {printf("floatdcl ");} +^i {printf("intdcl ");} +{id} {printf("id ");} +{integer} {printf("inum ");} +{float} {printf("fnum ");} +{comment} {printf("COMMENT ");} +\* {printf("multiply ");} +\= {printf("assign ");} +\- {printf("minus ");} +\+ {printf("sum ");} +\/ {printf("div ");} +%% + +int main(){ + yylex(); + return 0; +} \ No newline at end of file