aboutsummaryrefslogtreecommitdiff
path: root/02/main.l
diff options
context:
space:
mode:
Diffstat (limited to '02/main.l')
-rw-r--r--02/main.l29
1 files changed, 29 insertions, 0 deletions
diff --git a/02/main.l b/02/main.l
new file mode 100644
index 0000000..872c7bc
--- /dev/null
+++ b/02/main.l
@@ -0,0 +1,29 @@
1%{
2int word_count = 0;
3int line_count = 0;
4int char_count = 0;
5int para_count = 0;
6int spaces = 0;
7%}
8
9%%
10\n line_count++;
11[ \t] spaces++;
12[A-Za-z]+ { word_count++; char_count+=yyleng;};
13\n\n para_count++;
14<<EOF>> {para_count++; return 1;};
15. ;
16%%
17
18int main(void) {
19 yylex();
20 printf("%d lines\n", line_count);
21 printf("%d words\n", word_count);
22 printf("%d blanks\n", spaces);
23 printf("%d characters\n", char_count);
24 printf("%d paragraphs\n", para_count);
25}
26
27int yywrap() {
28 return(1);
29}