From 515a476d80ef843e0dbabeb17d9dee1876cf6695 Mon Sep 17 00:00:00 2001 From: DiegoCuriel Date: Tue, 29 Apr 2025 19:49:36 -0600 Subject: [PATCH] A01640372-homework-04 Signed-off-by: DiegoCuriel --- labs/04/lex_analaizer.l | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 labs/04/lex_analaizer.l diff --git a/labs/04/lex_analaizer.l b/labs/04/lex_analaizer.l new file mode 100644 index 0000000..3c5767f --- /dev/null +++ b/labs/04/lex_analaizer.l @@ -0,0 +1,39 @@ +%{ +#include +%} + +%option noyywrap + +%% +\/\/[^\n]* printf("COMMENT\n"); + +i printf("intdcl\n"); +f printf("floatdcl\n"); +p printf("print\n"); + +[a-eg-hj-oq-z] printf("id\n"); +[0-9]+ printf("inum\n"); +[0-9]*\.[0-9] printf("fnum\n"); + +\= printf("assign\n"); +\+ printf("plus\n"); +\- printf("substraction\n"); +\* printf("multiplication\n"); +\/ printf("division\n"); + +[ \t]+ +\n +. +%% + +int main(int argc, char **argv) { + if (argc > 1) { + yyin = fopen(argv[1], "r"); + if (!yyin) { + perror("Error opening input file"); + return 1; + } + } + yylex(); + return 0; +} \ No newline at end of file