In Part I we have asked you to do the following:
In Part II, we ask you to implement the BNF grammar using yacc. The end result will be a parser that either accepts a given input program as correct, or outputs a list of erroneous lines. Your parser should be able to work with your input programs. A few hits follow:
Once you are done, put your deliverables under a directory named group<GroupNo>_proj2 and make an archive from that directory. It is important that your code should compile without any issues using the make command. Once complete, it should output an executable called 'parser' that can be used to parse your sample input. For example, the following Unix commands could be used:
mkdir group<GroupNo>_proj2
cd group<GroupNo>_proj2
mkdir code # contains Makefile, lex, yacc, and C code
mkdir samples # contains the program samples
(edit and test your files)
...
cd ..
tar -cvzf group<GroupNo>_proj2.tar.gz group<GroupNo>_proj2
Then e-mail this newly generated file (named group<GroupNo>_proj2.tar.gz) to your TA Doğukan Çağatay (dogukan.cagatay@bilkent.edu.tr).
Reports in formats other than .pdf and .txt are not accepted.