aboutsummaryrefslogtreecommitdiff
path: root/3
diff options
context:
space:
mode:
authorAkshay <[email protected]>2021-04-30 17:55:19 +0100
committerAkshay <[email protected]>2021-04-30 17:55:19 +0100
commitda1764a9f839e1d29b2bee12d35534f71f05c6ff (patch)
treed410c2191e571f9e6945ed88afd3faa1175675b3 /3
parent9ff0cec8b507d9164d8828dcb2a87012e140fdf5 (diff)
law & order
Diffstat (limited to '3')
-rw-r--r--3/input7
-rw-r--r--3/main.l38
2 files changed, 0 insertions, 45 deletions
diff --git a/3/input b/3/input
deleted file mode 100644
index 23cb9b7..0000000
--- a/3/input
+++ /dev/null
@@ -1,7 +0,0 @@
11 2 3 4
2-1 -2 -3 -4
31.1 2.2
4-1.1 -2.2
53.-7 3.+7 -3.-7 +3.+7
61/2 1/3 1/4 1/5
7-1/2 -1/3 -1/0 -73849/5678
diff --git a/3/main.l b/3/main.l
deleted file mode 100644
index f423e7a..0000000
--- a/3/main.l
+++ /dev/null
@@ -1,38 +0,0 @@
1%{
2int posint = 0;
3int posfrac = 0;
4int negint = 0;
5int negfrac = 0;
6int errors = 0;
7%}
8
9d [0-9]
10
11%%
12(\+?|-){d}*\.-{d}+ errors++; // invalid numbers
13(\+?|-){d}*\.\+{d}+ errors++; // invalid numbers
14\+?{d}+\/[1-9]{d}* posfrac++;
15-{d}+\/[1-9]{d}* negfrac++;
16(\+?|-){d}+\/{d}+ errors++;
17\+?{d}+ posint++;
18-{d}+ negint++;
19\+?{d}*\.{d}+ posfrac++;
20-{d}*\.{d}+ negfrac++;
21\n ;
22. ;
23%%
24
25int main(void) {
26 yylex();
27 printf("%d positive integers\n" , posint);
28 printf("%d positive fractions\n" , posfrac);
29 printf("%d negative integers\n" , negint);
30 printf("%d negative fractions\n" , negfrac);
31 printf("%d errors\n" , errors);
32}
33
34int yywrap()
35{
36 return(1);
37}
38