diff options
author | Kyle Gunger <kgunger12@gmail.com> | 2021-08-07 08:04:33 -0400 |
---|---|---|
committer | Kyle Gunger <kgunger12@gmail.com> | 2021-08-07 08:04:33 -0400 |
commit | bc448b70cb83cce046e65fb4f69a28a84a53ff49 (patch) | |
tree | f0f3b2bf7f971b5515f869dfae05e33628b47388 /spec/1 - language.md | |
parent | 6f77f307e7d9594341e9972f864e41daede0fab5 (diff) |
Begin filling out spec
+ Add initial spec markdowns
+ Update copyright for libtnsl
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 |