diff options
author | Araq <rumpf_a@web.de> | 2018-10-18 12:04:48 +0200 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2018-10-18 12:12:15 +0200 |
commit | 03a05ca456d5e79c0e66df161a5b43c7f7474110 (patch) | |
tree | b4e95192066c5df0a866e80d0073f849f269fe7e /doc | |
parent | 6ef198e07b4cd7dbbc814eadfe0e2b95f2f18a00 (diff) | |
download | Nim-03a05ca456d5e79c0e66df161a5b43c7f7474110.tar.gz |
intern.rst: minor formating improvements
Diffstat (limited to 'doc')
-rw-r--r-- | doc/intern.rst | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/doc/intern.rst b/doc/intern.rst index 1c20eeed7..0fa4fd7b6 100644 --- a/doc/intern.rst +++ b/doc/intern.rst @@ -16,9 +16,9 @@ Directory structure The Nim project's directory structure is: -============ ============================================== +============ =================================================== Path Purpose -============ ============================================== +============ =================================================== ``bin`` generated binary files ``build`` generated C code for the installation ``compiler`` the Nim compiler itself; note that this @@ -32,7 +32,7 @@ Path Purpose ``lib`` the Nim library ``web`` website of Nim; generated by ``nimweb`` from the ``*.txt`` and ``*.tmpl`` files -============ ============================================== +============ =================================================== Bootstrapping the compiler @@ -386,8 +386,9 @@ So now ``G.c`` MUST contain both ``P1`` and ``P2``, but we haven't even loaded ``P1`` from the symbol file, nor do we want to because we then quickly would restore large parts of the whole program. + Solution -~~~~~~~~ +~~~~~~~~ The backend must have some logic so that if the currently processed module is from the compilation cache, the ``ast`` field is not accessed. Instead @@ -517,6 +518,7 @@ Code generation for closures Code generation for closures is implemented by `lambda lifting`:idx:. + Design ------ @@ -665,5 +667,3 @@ important the hidden formal param is ``void*`` and not something more specialized. However the more specialized env type needs to passed to the backend somehow. We deal with this by modifying ``s.ast[paramPos]`` to contain the formal hidden parameter, but not ``s.typ``! - - |