From 171e1986bb92c0e41f5f8e3672d5de1fc069c27c Mon Sep 17 00:00:00 2001 From: Kyle Gunger Date: Fri, 6 Aug 2021 19:58:35 -0400 Subject: Initial empty/bare-bones files for implementation --- libtnsl/READEME.md | 50 ++++++++++++++++++++++++++++++++++++ libtnsl/src/algorithm/alg.tnsl | 0 libtnsl/src/algorithm/math/math.tnsl | 0 libtnsl/src/bootstrap.tnsl | 33 ++++++++++++++++++++++++ libtnsl/src/box/box.tnsl | 0 libtnsl/src/box/map.tnsl | 0 libtnsl/src/box/string.tnsl | 0 libtnsl/src/box/tree.tnsl | 0 libtnsl/src/box/vector.tnsl | 0 libtnsl/src/io/block.tnsl | 0 libtnsl/src/io/file.tnsl | 0 libtnsl/src/io/io.tnsl | 0 libtnsl/src/io/std.tnsl | 0 libtnsl/src/io/stream.tnsl | 0 libtnsl/src/libtnsl.tnsl | 19 ++++++++++++++ libtnsl/src/reflect/dynamic.tnsl | 0 libtnsl/src/reflect/method.tnsl | 0 libtnsl/src/reflect/reflect.tnsl | 0 libtnsl/src/reflect/resolver.tnsl | 0 libtnsl/src/reflect/static.tnsl | 0 libtnsl/src/reflect/type.tnsl | 0 libtnsl/src/time/alg.tnsl | 0 libtnsl/src/time/conv.tnsl | 0 libtnsl/src/time/parse.tnsl | 0 libtnsl/src/time/time.tnsl | 0 25 files changed, 102 insertions(+) create mode 100644 libtnsl/READEME.md create mode 100644 libtnsl/src/algorithm/alg.tnsl create mode 100644 libtnsl/src/algorithm/math/math.tnsl create mode 100644 libtnsl/src/bootstrap.tnsl create mode 100644 libtnsl/src/box/box.tnsl create mode 100644 libtnsl/src/box/map.tnsl create mode 100644 libtnsl/src/box/string.tnsl create mode 100644 libtnsl/src/box/tree.tnsl create mode 100644 libtnsl/src/box/vector.tnsl create mode 100644 libtnsl/src/io/block.tnsl create mode 100644 libtnsl/src/io/file.tnsl create mode 100644 libtnsl/src/io/io.tnsl create mode 100644 libtnsl/src/io/std.tnsl create mode 100644 libtnsl/src/io/stream.tnsl create mode 100644 libtnsl/src/libtnsl.tnsl create mode 100644 libtnsl/src/reflect/dynamic.tnsl create mode 100644 libtnsl/src/reflect/method.tnsl create mode 100644 libtnsl/src/reflect/reflect.tnsl create mode 100644 libtnsl/src/reflect/resolver.tnsl create mode 100644 libtnsl/src/reflect/static.tnsl create mode 100644 libtnsl/src/reflect/type.tnsl create mode 100644 libtnsl/src/time/alg.tnsl create mode 100644 libtnsl/src/time/conv.tnsl create mode 100644 libtnsl/src/time/parse.tnsl create mode 100644 libtnsl/src/time/time.tnsl (limited to 'libtnsl') diff --git a/libtnsl/READEME.md b/libtnsl/READEME.md new file mode 100644 index 0000000..32cff9a --- /dev/null +++ b/libtnsl/READEME.md @@ -0,0 +1,50 @@ +# libts + +The official implimentation of the TNSL Standard Library + +libts provides the following language features: +* Type and method resolution +* Basic input and output +* Standard algorithms +* Standard data containers +* Basic platform identification +* Time resolution + +More information on these features can be found in the specification under libts.txt + +--- +## Provided Sub-modules + +libts provides the ts base module and the following sub-modules to address each feature: +* algorithm + * Algorithms. Also contains the math sub-module for basic math operations. +* box + * Data containers (vector, map, etc.) +* io + * Input and output +* reflect + * Type reflection and method resolution +* time + * Time related functions + +Each sub-module should have its own README to address features + +--- + Copyright 2021 Kyle Gunger + + Dual licenced under the CDDL 1.0 and BSD 3-Clause licences. + + This file may only be used in accordance with one of the two + licences. You should have recieved a copy of each licence with + the source code. In the event that you did not recieve a copy + of the licences, they may be found at the following URLs: + + CDDL 1.0: + https://opensource.org/licenses/CDDL-1.0 + + BSD 3-Clause: + https://opensource.org/licenses/BSD-3-Clause + + THIS SOFTWARE/SOURCE CODE IS PROVIDED "AS IS" WITH NO + WARRENTY, GUARANTEE, OR CLAIM OF FITNESS FOR ANY PURPOSE + EXPRESS OR IMPLIED diff --git a/libtnsl/src/algorithm/alg.tnsl b/libtnsl/src/algorithm/alg.tnsl new file mode 100644 index 0000000..e69de29 diff --git a/libtnsl/src/algorithm/math/math.tnsl b/libtnsl/src/algorithm/math/math.tnsl new file mode 100644 index 0000000..e69de29 diff --git a/libtnsl/src/bootstrap.tnsl b/libtnsl/src/bootstrap.tnsl new file mode 100644 index 0000000..01ebf56 --- /dev/null +++ b/libtnsl/src/bootstrap.tnsl @@ -0,0 +1,33 @@ +/## + Copyright 2020 Kyle Gunger + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +#/ + +/# + This file provides a nonstandard entry point for a bootstrap implementation of TNSL. + + The reference implementation of the TNSL compiler (written in GOLANG for now), does + not contain feature complete functionality in the form of pre-compiler directives, which the + full libts uses for compilation on different operating systems. This version is provided + so that the reference compiler can produce a functional enough libts to compile the + full tnslc compiler (written in TNSL). + + As such, this entry point must be modified manually to use windows, mac, or linux + code files, and then will provide a barebones file, stream, and error handeling library + with nothing else to act as a bootstrap for the compiler. The bootstrap compiler should + be able to compile the full libts and, in turn, the full compiler. +#/ + +/;export module ts +;/ \ No newline at end of file diff --git a/libtnsl/src/box/box.tnsl b/libtnsl/src/box/box.tnsl new file mode 100644 index 0000000..e69de29 diff --git a/libtnsl/src/box/map.tnsl b/libtnsl/src/box/map.tnsl new file mode 100644 index 0000000..e69de29 diff --git a/libtnsl/src/box/string.tnsl b/libtnsl/src/box/string.tnsl new file mode 100644 index 0000000..e69de29 diff --git a/libtnsl/src/box/tree.tnsl b/libtnsl/src/box/tree.tnsl new file mode 100644 index 0000000..e69de29 diff --git a/libtnsl/src/box/vector.tnsl b/libtnsl/src/box/vector.tnsl new file mode 100644 index 0000000..e69de29 diff --git a/libtnsl/src/io/block.tnsl b/libtnsl/src/io/block.tnsl new file mode 100644 index 0000000..e69de29 diff --git a/libtnsl/src/io/file.tnsl b/libtnsl/src/io/file.tnsl new file mode 100644 index 0000000..e69de29 diff --git a/libtnsl/src/io/io.tnsl b/libtnsl/src/io/io.tnsl new file mode 100644 index 0000000..e69de29 diff --git a/libtnsl/src/io/std.tnsl b/libtnsl/src/io/std.tnsl new file mode 100644 index 0000000..e69de29 diff --git a/libtnsl/src/io/stream.tnsl b/libtnsl/src/io/stream.tnsl new file mode 100644 index 0000000..e69de29 diff --git a/libtnsl/src/libtnsl.tnsl b/libtnsl/src/libtnsl.tnsl new file mode 100644 index 0000000..a684317 --- /dev/null +++ b/libtnsl/src/libtnsl.tnsl @@ -0,0 +1,19 @@ +/## + Copyright 2020 Kyle Gunger + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +#/ + +/;export module tnsl + +;/ diff --git a/libtnsl/src/reflect/dynamic.tnsl b/libtnsl/src/reflect/dynamic.tnsl new file mode 100644 index 0000000..e69de29 diff --git a/libtnsl/src/reflect/method.tnsl b/libtnsl/src/reflect/method.tnsl new file mode 100644 index 0000000..e69de29 diff --git a/libtnsl/src/reflect/reflect.tnsl b/libtnsl/src/reflect/reflect.tnsl new file mode 100644 index 0000000..e69de29 diff --git a/libtnsl/src/reflect/resolver.tnsl b/libtnsl/src/reflect/resolver.tnsl new file mode 100644 index 0000000..e69de29 diff --git a/libtnsl/src/reflect/static.tnsl b/libtnsl/src/reflect/static.tnsl new file mode 100644 index 0000000..e69de29 diff --git a/libtnsl/src/reflect/type.tnsl b/libtnsl/src/reflect/type.tnsl new file mode 100644 index 0000000..e69de29 diff --git a/libtnsl/src/time/alg.tnsl b/libtnsl/src/time/alg.tnsl new file mode 100644 index 0000000..e69de29 diff --git a/libtnsl/src/time/conv.tnsl b/libtnsl/src/time/conv.tnsl new file mode 100644 index 0000000..e69de29 diff --git a/libtnsl/src/time/parse.tnsl b/libtnsl/src/time/parse.tnsl new file mode 100644 index 0000000..e69de29 diff --git a/libtnsl/src/time/time.tnsl b/libtnsl/src/time/time.tnsl new file mode 100644 index 0000000..e69de29 -- cgit v1.2.3