diff options
Diffstat (limited to 'spec/1 - language.md')
-rw-r--r-- | spec/1 - language.md | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/spec/1 - language.md b/spec/1 - language.md new file mode 100644 index 0000000..50ccf68 --- /dev/null +++ b/spec/1 - language.md @@ -0,0 +1,73 @@ +# The Language + +## Section 1 - Files + +### Folder Structure + +TNSL project structure has a root source folder with TNSL files contained within the folder and sub-folders. There is no strictly enforced system, but good practice is to place code sub-modules in sub-folders, and name the module entry point file the same name as its enclosing folder. + +The main file to compile is known as the root file, which generally resides in the root source folder. This file will contain either a main method, or the pre-processor statement `rootfile` to denote the root of a library. A main file may contain both. + +### TNSL Files + + + +## Section 2 - Blocks + +### TNSL Block Notation + +### Modules + +### Functions + +### Control Flow Blocks + +### Anonymous Blocks + +## Section 3 - Statements + +### TNSL Statement Notation + +### Variable Declaration + +### Assignment + +### Special Statements + +## Section 4 - Types + +### Built-in Types + +### The Void Type + +### Defining Types + +### Interfaces + +### Type Levels + +## Section 5 - Operators + +### Operator Presedence + +## Section 6 - `raw` and `asm` + +### The `raw` Keyword + +### The `asm` Keyword + +### Credits + + Copyright 2021 Kyle Gunger + + This file is licenced under the CDDL 1.0 (the Licence) + and may only be used in accordance with the Licence. + You should have recieved a copy of the Licence with this + software/source code. If you did not, a copy can be found + at the following URL: + + https://opensource.org/licenses/CDDL-1.0 + + THIS SOFTWARE/SOURCE CODE IS PROVIDED "AS IS" WITH NO + WARRENTY, GUARANTEE, OR CLAIM OF FITNESS FOR ANY PURPOSE + EXPRESS OR IMPLIED
\ No newline at end of file |