summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorKyle Gunger <kgunger12@gmail.com>2021-08-09 04:22:01 -0400
committerKyle Gunger <kgunger12@gmail.com>2021-08-09 04:22:01 -0400
commitb125969d69fa9bf1b9b658449e36b93f5c1d0340 (patch)
treee528a3f0151bd0e0238ccd9a74cc60a0caaf161a /spec
parent37fd69c79922daa00ac3617b5cc41cd6f5171e1a (diff)
Spelling and license info
Diffstat (limited to 'spec')
-rw-r--r--spec/1 - language.md24
-rw-r--r--spec/2 - features.md10
-rw-r--r--spec/3 - abi.md10
-rw-r--r--spec/4 - fip.md10
-rw-r--r--spec/Appendices.md8
-rw-r--r--spec/README.md14
6 files changed, 39 insertions, 37 deletions
diff --git a/spec/1 - language.md b/spec/1 - language.md
index 6b3c36a..73ebfb4 100644
--- a/spec/1 - language.md
+++ b/spec/1 - language.md
@@ -41,7 +41,7 @@ Blocks in tnsl consist of a slash and a character denoting the type of block as
/; - open code
;/ - close code
-In addition to the standard opening and closing characters, there exist "swivle" character sets to quickly close and re-open a block type
+In addition to the standard opening and closing characters, there exist "swivel" character sets to quickly close and re-open a block type
;; - close code, then open code
#; - close comment, open code
@@ -75,7 +75,7 @@ Usage examples:
### Modules
-Modules are to TNSL what namespaces are to c++, a way to contain a group of related functions, types, methods, and other namespaces such that they won't interfere with outside code. Modules may only be accessed (by other programs) if they are exported using the `export` keyword when defining the module. Modules contained within the module (Sub-modules) are not automatically exported, and must also use the keyword if they wish to be accessable by other programs. Unexported modules may still be used within the project from which they originate.
+Modules are to TNSL what namespaces are to c++, a way to contain a group of related functions, types, methods, and other namespaces such that they won't interfere with outside code. Modules may only be accessed (by other programs) if they are exported using the `export` keyword when defining the module. Modules contained within the module (Sub-modules) are not automatically exported, and must also use the keyword if they wish to be accessible by other programs. Unexported modules may still be used within the project from which they originate.
### Module definition example:
@@ -105,7 +105,7 @@ Modules are to TNSL what namespaces are to c++, a way to contain a group of rela
### Functions
-TNSL functions are code blocks whose definition contains none of the following: control flow keywords, the module keyword, the method keyword. TNSL functions are called methods if they are contained within a method block. TNSL methods may only be called with relation to the user defined type they are linked to. If a TNSL function has no user defined name, it is anonymous. Anonymous funtions can be stored as void type variables or called immediately. If an anonymous function is not stored, it is interperated as inline and called immediately (this is known as a scope block).
+TNSL functions are code blocks whose definition contains none of the following: control flow keywords, the module keyword, the method keyword. TNSL functions are called methods if they are contained within a method block. TNSL methods may only be called with relation to the user defined type they are linked to. If a TNSL function has no user defined name, it is anonymous. Anonymous functions can be stored as void type variables or called immediately. If an anonymous function is not stored, it is interpreted as inline and called immediately (this is known as a scope block).
TNSL functions may have inputs (enclosed with `()`) and/or outputs (enclosed with `[]`). Inputs must be named; naming outputs is optional.
@@ -137,7 +137,7 @@ Examples:
Control flow blocks are code blocks whose definitions contain the keywords if, else, loop, match, case, or default.
-For if, else, loop, and match any inputs and/or outputs are a semicolon seperated list of statements. For case or default, only inputs are accepted in the form of a single value. Any variables defined in these inputs or outputs are scoped to the block only. Control flow blocks may not actually output any values; instead, any statements in the output are evaluated when the block ends, weather it loops or not.
+For if, else, loop, and match any inputs and/or outputs are a semicolon-separated list of statements. For case or default, only inputs are accepted in the form of a single value. Any variables defined in these inputs or outputs are scoped to the block only. Control flow blocks may not actually output any values; instead, any statements in the output are evaluated when the block ends, weather it loops or not.
Examples:
@@ -183,11 +183,11 @@ There are three types of tnsl statements: code, pre-processor, and comment. Cod
### Variable Declaration
-Decalring a variable is done by referencing a type and then giving a list of names for the new variables. Optionally, a list of values may be given to initialize the new variables.
+Declaring a variable is done by referencing a type and then giving a list of names for the new variables. Optionally, a list of values may be given to initialize the new variables.
Variables may be augmented by the following keywords: `const`, `volatile`, and/or `static`.
-Declaring a variable as `const` means that it is a constant and must be imediately initialized. A constand may not be re-assigned a value.
+Declaring a variable as `const` means that it is a constant and must be immediately initialized. A constant may not be re-assigned a value.
Declaring a variable as `volatile` means that the compiler will not attempt to optimize operations performed on it.
@@ -208,7 +208,7 @@ Examples:
### Built-in Types
-### The Void Type
+### The `void` Type
### Arrays
@@ -222,7 +222,7 @@ Examples:
## Section 5 - Operators
-### Operator Presedence
+### Operator Precedence
## Section 6 - `raw` and `asm`
@@ -234,14 +234,14 @@ Examples:
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
+ This file is licensed under the CDDL 1.0 (the License)
+ and may only be used in accordance with the License.
+ You should have recieved a copy of the License 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
+ WARRANTY, GUARANTEE, OR CLAIM OF FITNESS FOR ANY PURPOSE
EXPRESS OR IMPLIED \ No newline at end of file
diff --git a/spec/2 - features.md b/spec/2 - features.md
index c5432de..4687f29 100644
--- a/spec/2 - features.md
+++ b/spec/2 - features.md
@@ -1,17 +1,17 @@
# Related Features
-### Credits
+## 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
+ This file is licensed under the CDDL 1.0 (the License)
+ and may only be used in accordance with the License.
+ You should have recieved a copy of the License 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
+ WARRANTY, GUARANTEE, OR CLAIM OF FITNESS FOR ANY PURPOSE
EXPRESS OR IMPLIED \ No newline at end of file
diff --git a/spec/3 - abi.md b/spec/3 - abi.md
index f586464..a83600a 100644
--- a/spec/3 - abi.md
+++ b/spec/3 - abi.md
@@ -1,17 +1,17 @@
# The TNSL Calling ABI
-### Credits
+## 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
+ This file is licensed under the CDDL 1.0 (the License)
+ and may only be used in accordance with the License.
+ You should have recieved a copy of the License 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
+ WARRANTY, GUARANTEE, OR CLAIM OF FITNESS FOR ANY PURPOSE
EXPRESS OR IMPLIED \ No newline at end of file
diff --git a/spec/4 - fip.md b/spec/4 - fip.md
index cc94285..fc2e86b 100644
--- a/spec/4 - fip.md
+++ b/spec/4 - fip.md
@@ -1,5 +1,7 @@
# Features in Position
+To use higher level features in TNSL, an implimentation of libtnsl must be in place with a minimum set of features. This document outlines what concepts are and are not considered "higher level". This document also covers what the minimum set of features are for a given implimentation of libtnsl. Finally, this document covers how to call between TNSL and other programming languages.
+
## Section 1 - Bare Metal
## Section 2 - libtnsl and Types
@@ -10,14 +12,14 @@
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
+ This file is licensed under the CDDL 1.0 (the License)
+ and may only be used in accordance with the License.
+ You should have recieved a copy of the License 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
+ WARRANTY, GUARANTEE, OR CLAIM OF FITNESS FOR ANY PURPOSE
EXPRESS OR IMPLIED \ No newline at end of file
diff --git a/spec/Appendices.md b/spec/Appendices.md
index 71a9320..87f5f15 100644
--- a/spec/Appendices.md
+++ b/spec/Appendices.md
@@ -289,14 +289,14 @@ Variable width structs (dynamic structs) can accomodate generics and variable wi
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
+ This file is licensed under the CDDL 1.0 (the License)
+ and may only be used in accordance with the License.
+ You should have recieved a copy of the License 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
+ WARRANTY, GUARANTEE, OR CLAIM OF FITNESS FOR ANY PURPOSE
EXPRESS OR IMPLIED \ No newline at end of file
diff --git a/spec/README.md b/spec/README.md
index 0f05a37..83a6375 100644
--- a/spec/README.md
+++ b/spec/README.md
@@ -25,12 +25,12 @@ Right now, TNSL isn't a language. But it *could* be. And, really, I think it's
- Style guide
- Compiler Options
- The Pre-Processor
- - Included Tools
+ - libtnsl
+ - TNSL-lang export trees (T-LETs)
3. The TNSL Calling ABI
- Differences from C
- - Link tables
- Exporting C-like Functions
- Types and Arrays in Memory
@@ -44,18 +44,18 @@ Right now, TNSL isn't a language. But it *could* be. And, really, I think it's
- Appendix B - Reserved Words
- Appendix C - Speed vs the Type System
-### Credits
+## 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
+ This file is licensed under the CDDL 1.0 (the License)
+ and may only be used in accordance with the License.
+ You should have recieved a copy of the License 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
+ WARRANTY, GUARANTEE, OR CLAIM OF FITNESS FOR ANY PURPOSE
EXPRESS OR IMPLIED \ No newline at end of file