C-MIPS Compiler & C-Python Translator

Language Processing - Lexing (Flex), Parsing (Bison), C++, Python



I built a C to MIPS compiler and C to Python translator in my 2nd year as part of my Language Processing module. I made use of Flex, Bison, and C++ to create a Lexer, Parser and Code Generator respectively.

Features that I implemented for the final product included variable declarations, function calls, loops, recursion and conditionals with careful consideration of edge cases and discrepancies between C and the target languages.

To achieve the final product I developed my proficiency in C++ and Python and learned how lexing and parsing works and how to implement these concepts with Flex and Bison.