diff options
Diffstat (limited to 'spec/compiler')
-rw-r--r-- | spec/compiler/compiler.txt | 23 | ||||
-rw-r--r-- | spec/compiler/pre-processor.txt | 9 | ||||
-rw-r--r-- | spec/compiler/tokenizer.txt | 0 |
3 files changed, 0 insertions, 32 deletions
diff --git a/spec/compiler/compiler.txt b/spec/compiler/compiler.txt deleted file mode 100644 index df7a591..0000000 --- a/spec/compiler/compiler.txt +++ /dev/null @@ -1,23 +0,0 @@ -The "compiler" of the TNSL language is formed of several parts, each discussed -in their own file. - - 1) Parsing - - 1a) The tokenizer - chews up .tnsl files and spits out tokens - 1b) The file resolver - interperets import commands and creates a tree of files to compile - 1c) The definer - - 1d) The AST generator - indexes tokens and provides some rudimentary syntax checking - - 2) Validation - - 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) 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 deleted file mode 100644 index 8297e7d..0000000 --- a/spec/compiler/pre-processor.txt +++ /dev/null @@ -1,9 +0,0 @@ -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. - -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 diff --git a/spec/compiler/tokenizer.txt b/spec/compiler/tokenizer.txt deleted file mode 100644 index e69de29..0000000 --- a/spec/compiler/tokenizer.txt +++ /dev/null |