This commit is contained in:
Justin Ethier 2017-01-09 21:10:12 -05:00
parent 7567bcf731
commit 78914e23f4

View file

@ -47,8 +47,6 @@ Before we get started, I want to say **Thank You** to all of the contributors to
Cyclone has a similar architecture to other modern compilers: Cyclone has a similar architecture to other modern compilers:
TODO: change parser to reader in diagram
<img src="images/compiler.png" alt="flowchart of cyclone compiler"> <img src="images/compiler.png" alt="flowchart of cyclone compiler">
First, an input file containing Scheme code is received on the command line and loaded into an abstract syntax tree (AST) by Cyclone's parser. From there a series of source-to-source transformations are performed on the AST to expand macros, perform optimizations, and make the code easier to compile to C. These intermediate representations (IR) can be printed out in a readable format to aid debugging. The final AST is then output as a `.c` file and the C compiler is invoked to create the final executable or object file. First, an input file containing Scheme code is received on the command line and loaded into an abstract syntax tree (AST) by Cyclone's parser. From there a series of source-to-source transformations are performed on the AST to expand macros, perform optimizations, and make the code easier to compile to C. These intermediate representations (IR) can be printed out in a readable format to aid debugging. The final AST is then output as a `.c` file and the C compiler is invoked to create the final executable or object file.