aboutsummaryrefslogtreecommitdiff
path: root/8/main.y
diff options
context:
space:
mode:
authorAkshay <[email protected]>2021-04-30 17:52:13 +0100
committerAkshay <[email protected]>2021-04-30 17:52:13 +0100
commit8a57bedc04fff7a92ef6d2762cfe5fc17050f021 (patch)
tree192ea2a1bd2eec0c0f84a9cb7adc9b10d005e1db /8/main.y
parent30047205e440e9ad8984e1830b8b819b5fe1f9f7 (diff)
add yacc programs
Diffstat (limited to '8/main.y')
-rw-r--r--8/main.y28
1 files changed, 28 insertions, 0 deletions
diff --git a/8/main.y b/8/main.y
new file mode 100644
index 0000000..04e98a7
--- /dev/null
+++ b/8/main.y
@@ -0,0 +1,28 @@
1%{
2#include <stdio.h>
3#include <stdlib.h>
4int yyerror(char *);
5%}
6
7%token A B
8%start S
9
10%%
11
12S: C B
13 |
14 ;
15C: A C
16 | A A A A
17 ;
18%%
19
20int main() {
21 yyparse();
22 printf("valid string");
23}
24
25int yyerror(char *s) {
26 printf("error: %s", s);
27 exit(0);
28}