diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | 4/input | 5 | ||||
-rw-r--r-- | 4/main.l | 33 |
3 files changed, 39 insertions, 0 deletions
@@ -1 +1,2 @@ | |||
1 | outputs | 1 | outputs |
2 | *output* | ||
@@ -0,0 +1,5 @@ | |||
1 | int main() { | ||
2 | int n; | ||
3 | printf("hello world"); | ||
4 | scanf("%d", &n); | ||
5 | } | ||
diff --git a/4/main.l b/4/main.l new file mode 100644 index 0000000..f768382 --- /dev/null +++ b/4/main.l | |||
@@ -0,0 +1,33 @@ | |||
1 | %{ | ||
2 | |||
3 | int scans = 0; | ||
4 | int prints = 0; | ||
5 | %} | ||
6 | |||
7 | %% | ||
8 | scanf { | ||
9 | scans++; | ||
10 | fprintf(yyout, "readf"); | ||
11 | }; | ||
12 | printf { | ||
13 | prints++; | ||
14 | fprintf(yyout, "writef"); | ||
15 | } | ||
16 | ; fprintf(yyout, "%s", yytext); | ||
17 | \n fprintf(yyout, "\n"); | ||
18 | %% | ||
19 | |||
20 | int main(void) { | ||
21 | yyin=fopen("4/input", "r+"); | ||
22 | yyout=fopen("4/output", "w"); | ||
23 | yylex(); | ||
24 | printf("%d printf occurrences\n", prints); | ||
25 | printf("%d scanf occurrences\n", scans); | ||
26 | } | ||
27 | |||
28 | int yywrap() | ||
29 | { | ||
30 | exit(0); | ||
31 | return(1); | ||
32 | } | ||
33 | |||