Summary Files Commits Branches @commit @diff @stats
path: root / Year 2 / Implementation of Programming Languages / Transpiler / frontend / commonlisp2transpilerstr.l
blob: 58218ef2596042b34627465ecc5427bba1697a48 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
%{
#include "commonlisp2transpilerstr.tab.h"
%}

DIGIT [0-9]
LEFTBRACKET \(
RIGHTBRACKET \)

/* STR   \"([^\"]|\\\")*([^\\]|\\\\)\" */
INTEGER (\+|-)?{DIGIT}
FLOAT   {INTEGER}(\.{DIGIT}+(e{DIGIT}+|d{DIGIT}+|e-{DIGIT}+)?|\/{DIGIT}+)?

COMMENT ;.*$

FUNCTION "+ "|"- "|"* "|\/|defun|defvar|if|=|>|>=|<|<=

%%

{LEFTBRACKET}    { return LBRACKET; }
{RIGHTBRACKET}   { return RBRACKET; }
	/* {STR}            { yylval = strdup(yytext); return STR; } */
{INTEGER}        { yylval = strdup(yytext); return INTEGER; }
{FLOAT}          { yylval = strdup(yytext); return FLOAT;}

{FUNCTION}       { yylval = strdup(yytext); return FUNCTION; }

[A-z!-'*-@]+ { yylval = strdup(yytext); return NAME; }

%%