Welcome to the Scheme Compiler! This project is a compiler for the Scheme programming language, implemented in OCaml. This compiler compile Scheme code into machine code that can be executed on a target platform. It aims to provide efficient and optimized code generation while adhering to the principles of compilation.
The Scheme Compiler is built to transform high-level Scheme code into low-level machine code, allowing for efficient execution on a specific platform. It follows the principles of compilation, including syntactic analysis, semantic analysis, code generation, and optimization techniques.
-
Syntactic Analysis: The compiler performs syntactic analysis to ensure that the Scheme code is valid and follows the language's grammar rules.
-
Semantic Analysis: It includes a semantic analysis phase that checks for type errors, variable scoping, and other semantic properties of the code.
-
Code Generation: The compiler generates machine code that can be executed on the target platform based on the provided Scheme code. It translates high-level constructs into lower-level instructions.
-
Optimizations: The compiler employs various optimization techniques to improve the performance of the generated code. These optimizations aim to reduce execution time and memory usage.
We would like to acknowledge that this project was developed collaboratively by both of us, @ChaiShalev18 and Shoham Cohen. Our partnership and joint efforts were instrumental in the development and completion of this compiler.
We would also like to express our sincere gratitude to Dr. Mayer Goldberg, our course teacher, for his invaluable guidance and support throughout the development of this project. His expertise and insights have been instrumental in shaping this compiler and enhancing our understanding of compilation principles
We hope you find the Scheme Compiler useful! If you have any questions or need assistance, please don't hesitate to reach out. Happy compiling!