lex.l 680 B

12345678910111213141516
  1. %{
  2. #include <stdio.h>
  3. #include "y.tab.h"
  4. %}
  5. %%
  6. [a-z0-9$._]+: { yylval.sval = yytext; return LABEL; } /* Label */
  7. \$[a-z0-9._] { yylval.sval = yytext; return ARG; } /* Arg of instr */
  8. ^[a-z.]+ { yylval.sval = yytext; return INSTR; } /* Instruction */
  9. \.[^\n]* { yylval.sval = yytext; return DIRECTIVE; } /* Assembly */
  10. [,] { return COMMA; } /* Comma */
  11. #[^\n]* { yylval.sval = yytext; return COMMENT; } /* Comment */
  12. [\n] { return NL; } /* New line */
  13. [\s\t]+ { ; } /* Ignore whitespace */