-
Notifications
You must be signed in to change notification settings - Fork 0
/
naja.l
95 lines (72 loc) · 2.22 KB
/
naja.l
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
%{
#include "y.tab.h"
#include "string.h"
void yyerror (char *s);
int yylex();
%}
/*program*/
BASLAT BASLAT
BITIR BITIR
/*veriTipleri*/
TAM_SAYI [0-9]+
KELIME \".*\"
/*degiskenler*/
DEGISKEN [a-zA-Z]
/*parantezler*/
SOL_PARAN \(
SAG_PARAN \)
/*fonksiyonVeMetotlar*/
TANIMLA TANIMLA
METOD_ADI [a-z]+[:]
/*mantiksalOperatorler*/
VE VE
VEYA VEYA
DEGIL DEGIL
/*ayirmaOperatorler*/
VIRGUL ,
/*karsilastirmaOperatorler*/
BUYUKTUR >
KUCUKTUR <
ESITMI ==
BUYUK_ESIT >=
KUCUK_ESIT <=
ATAMA =
/*kosulluStms*/
EGER EGER
YOKSA YOKSA
/*donguStms*/
SURESINCE SURESINCE
/*girdiCiktiStms*/
GIRDI_AL GIRDI_AL
CIKTI_VER CIKTI_VER
/*yorumStms*/
YORUM [^a-zA-Z0-9](##].+[##])[^a-zA-Z0-9]
%%
{BASLAT} {return BASLAT ;}
{BITIR} {return BITIR ;}
{TAM_SAYI} {yylval.num = atoi(yytext); return TAM_SAYI ;}
{TANIMLA} {return TANIMLA ;}
{DEGISKEN} {return DEGISKEN ;}
{SOL_PARAN} {return SOL_PARAN ;}
{SAG_PARAN} {return SAG_PARAN ;}
{VE} {return VE ;}
{VEYA} {return VEYA ;}
{DEGIL} {return DEGIL ;}
{VIRGUL} {return VIRGUL ;}
{BUYUKTUR} {return BUYUKTUR ;}
{KUCUKTUR} {return KUCUKTUR ;}
{ESITMI} {return ESITMI ;}
{BUYUK_ESIT} {return BUYUK_ESIT;}
{KUCUK_ESIT} {return KUCUK_ESIT ;}
{ATAMA} {return ATAMA ;}
{EGER} {return EGER ;}
{YOKSA} {return YOKSA ;}
{KELIME} {yylval.pr = strdup(yytext); return KELIME ;}
{SURESINCE} {return SURESINCE ;}
{GIRDI_AL} {return GIRDI_AL ;}
{CIKTI_VER} {return CIKTI_VER ;}
{YORUM} {return YORUM ;}
{METOD_ADI} {return METOD_ADI ;}
[ \t\n] ;
%%
int yywrap(void) {return 1;}