- Write a parser using Flex and Bison that describes enough of SQL grammar that it: a: can parse every statement in file oracle.sql and would print that the statement is OK; b: cannot parse statements in error.sql and would print the parser error message. Please note that the final parser shouldn't have any shift/reduce conflicts. To speed things up a small example (example.l & example.y) is provided that can parse the test.sql file. A further example (example2.l & example2.y) can successfully parse 2 statements from oracle.sql file. You can start from scratch or improve the examples. To run the various tools the following commands can be used: flex example.l bison -d -r all example.y gcc lex.yy.c example.tab.c -o example ./example test.sql