diff options
author | Akshay <[email protected]> | 2021-04-30 17:55:19 +0100 |
---|---|---|
committer | Akshay <[email protected]> | 2021-04-30 17:55:19 +0100 |
commit | da1764a9f839e1d29b2bee12d35534f71f05c6ff (patch) | |
tree | d410c2191e571f9e6945ed88afd3faa1175675b3 /02/main.l | |
parent | 9ff0cec8b507d9164d8828dcb2a87012e140fdf5 (diff) |
law & order
Diffstat (limited to '02/main.l')
-rw-r--r-- | 02/main.l | 29 |
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 | %{ | ||
2 | int word_count = 0; | ||
3 | int line_count = 0; | ||
4 | int char_count = 0; | ||
5 | int para_count = 0; | ||
6 | int 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 | |||
18 | int 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 | |||
27 | int yywrap() { | ||
28 | return(1); | ||
29 | } | ||