A compiler that accepts any valid program written in C. It is made using Lex and Yacc. Returns a symbol table, parse tree, annotated syntax tree and intermediate code.
While compiling the y.tab.c file, the following error pop up:
/usr/bin/ld: /tmp/ccSDCAsB.o: in function main': y.tab.c:(.text+0x5605): multiple definition of main'; /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libl.a(libmain.o):(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status
Mostly, the bison output file is creating multiple definitions of the the main function