From 8a57bedc04fff7a92ef6d2762cfe5fc17050f021 Mon Sep 17 00:00:00 2001 From: Akshay Date: Fri, 30 Apr 2021 22:22:13 +0530 Subject: add yacc programs --- 6/main.l | 16 ++++++++++++++++ 6/main.y | 28 ++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 6/main.l create mode 100644 6/main.y (limited to '6') diff --git a/6/main.l b/6/main.l new file mode 100644 index 0000000..55dac30 --- /dev/null +++ b/6/main.l @@ -0,0 +1,16 @@ +%{ +#include "y.tab.h" +#include +%} + +%% + +a return A; +b return B; +. return yytext[0]; +\n return 0; +%% + +int yywrap() { + return 1; +} diff --git a/6/main.y b/6/main.y new file mode 100644 index 0000000..25005df --- /dev/null +++ b/6/main.y @@ -0,0 +1,28 @@ +%{ +#include +#include +int yylex(); +int yyerror(char *); +%} + +%token A B ERR + +%% + +S: + A S B + | + ; + +%% + +int yyerror(char *s) { + printf("error: %s", s); + exit(0); +} + +int main() { + yyparse(); + printf("valid string\n"); + return 0; +} -- cgit v1.2.3