Mercurial > lcfOS
diff doc/compiler.rst @ 300:158068af716c
yafm
author | Windel Bouwman |
---|---|
date | Tue, 03 Dec 2013 18:00:22 +0100 |
parents | 674789d9ff37 |
children | 6753763d3bec |
line wrap: on
line diff
--- a/doc/compiler.rst Sun Dec 01 18:37:23 2013 +0100 +++ b/doc/compiler.rst Tue Dec 03 18:00:22 2013 +0100 @@ -4,17 +4,11 @@ ======== This chapter describes the design of the compiler. - - -Overview --------- - The compiler consists a frontend, mid-end and back-end. The frontend deals with source file parsing and semantics checking. The mid-end performs optimizations. This is optional. The back-end generates machine code. The front-end produces intermediate code. This is a simple representation of the source. The back-end -can accept this kind of representation. This way the compiler is portable and -a front end can be constructed without having to do the rest. +can accept this kind of representation. .. graphviz:: @@ -38,6 +32,7 @@ IR-code ------- + The intermediate representation (IR) of a program de-couples the front end from the backend of the compiler. @@ -53,6 +48,7 @@ .. graphviz:: digraph c3 { + rankdir="LR" 1 [label="source text"] 10 [label="lexer" ] 20 [label="parser" ]