diff options
Diffstat (limited to 'spec/compiler')
-rw-r--r-- | spec/compiler/compiler.txt | 9 | ||||
-rw-r--r-- | spec/compiler/pre-processor.txt | 6 |
2 files changed, 12 insertions, 3 deletions
diff --git a/spec/compiler/compiler.txt b/spec/compiler/compiler.txt index dbc64c0..df7a591 100644 --- a/spec/compiler/compiler.txt +++ b/spec/compiler/compiler.txt @@ -10,9 +10,14 @@ in their own file. 2) Validation - 2a) The expander - expands pre-processor commands and macrosoperations + 2a) The expander - expands pre-processor commands and macro operations 2b) The validator - checks all requirements for all functions and expressions are valid 3) Translation - 3a) ???
\ No newline at end of file + 3a) Variable resolver - chooses and creates an internal model of where variables are on the stack, as well as calling conventions for functions + 3b) Type translator - places and translates types (internal and external) + 3c) Container resolver - checks container (elf, exe, dll, app, out, etc.) and decides how to map the types for future linking + 3d) Final translation - translates all logic and expressions into native binary code + 3e) Optimization + 3f) Container Writer - writes the final output of the previous steps into the specified container diff --git a/spec/compiler/pre-processor.txt b/spec/compiler/pre-processor.txt index 3203ff8..8297e7d 100644 --- a/spec/compiler/pre-processor.txt +++ b/spec/compiler/pre-processor.txt @@ -2,4 +2,8 @@ A set of components in the compiler (all before the translator) which expand, resolve, and validate pre-processor directives into code which can be compiled Consists of the resolver in the parsor. -The expander and part of the indexer in the validator.
\ No newline at end of file +The expander and part of the indexer in the validator. + +Special (compiler specififc) definitions can be added with _<compiler>_<variable name> + +E.X. if the official implementation wanted to provide the exact time of the compilation, it could use _TNSLC_TIME_NOW for instance
\ No newline at end of file |