**CS2 to JAVA translator using Lex and Yacc
**NOTE : the program will only need to translate cs2 programs with 1 file and 1 method and notes about CS2 language and specification in BNF format will be provided to the winner**
Large financial institutions that have been writing lots of code over decades often have a problem with their code:
* The code is big- often tens of millions of lines.
* The code was originally written in ‘ancient’ programming languages that nobody know anymore.
* The compilers of these ancient languages are no longer supported by any organisations.
* Extending these ancient programming languages is difficult because they are largely procedural.
While making the choice of rewriting the whole lot by hand or write a translator is a no-brainer cost-wise, banks ALWAYS choose the former as they want to understand the code and avoid such exercises further down the track.
We, on the other hand, don’t want to understand the code, we just want to write a translator. We’ve already got the CS2 specification in BNF from the labs. We are also familiar with some versions of JAVA (use whichever version you like just as long as you can demonstrate that the code you produce compiles and runs).
Test your code using the CS2 programs that we’ve been playing with in labs. There will be an execution test where your tutors will run specific programs through your translator.
1. Design documentation eg. what design process you followed, what decisions and interpretations you made, problems faced and how you resolved them.
2. Your translator lex and yacc programs and a makefile (please acknowledge from where you got the makefile unless you wrote it from scratch).
3. At least five test CS2 programs that you have built to show off the fine-grain capabilities of your translator.
4. Test documentation showing the results of using these five test programs
5. Write a (reverse) JAVA to CS2 translator and use it in addition with your other program to show that you can go from a CS2 program to a JAVA program then back to the same CS2 program