From da1764a9f839e1d29b2bee12d35534f71f05c6ff Mon Sep 17 00:00:00 2001 From: Akshay Date: Fri, 30 Apr 2021 22:25:19 +0530 Subject: law & order --- 09/input | 1 + 09/main.l | 15 +++++++++++++++ 09/main.y | 30 ++++++++++++++++++++++++++++++ 3 files changed, 46 insertions(+) create mode 100644 09/input create mode 100644 09/main.l create mode 100644 09/main.y (limited to '09') diff --git a/09/input b/09/input new file mode 100644 index 0000000..01efb5e --- /dev/null +++ b/09/input @@ -0,0 +1 @@ +aaabbbbc diff --git a/09/main.l b/09/main.l new file mode 100644 index 0000000..7e888e9 --- /dev/null +++ b/09/main.l @@ -0,0 +1,15 @@ +%{ +extern int yylval; +%} + +%% +a return A; +b return B; +c return C; +. return yytext[0]; +\n return 0; +%% + +int yywrap() { + return 1; +} diff --git a/09/main.y b/09/main.y new file mode 100644 index 0000000..0db29c1 --- /dev/null +++ b/09/main.y @@ -0,0 +1,30 @@ +%{ +#include +#include +int yylex(); +int yyerror(char *); +%} + +%token A B C + +%% +S: X Y + | + ; +X: A X B + | + ; +Y: B Y C + | + ; +%% + +int main() { + yyparse(); + printf("valid string"); +} + +int yyerror(char *s) { + printf("error: %s", s); + exit(0); +} -- cgit v1.2.3