From fc5a382661262b4dac085d75739c4ac0601574a7 Mon Sep 17 00:00:00 2001 From: Kyle Gunger Date: Wed, 29 Jun 2022 20:15:46 -0400 Subject: [TNSLC] General updates --- tnslc/flags/defaults.tnsl | 24 ++++++++++++++++++++++++ tnslc/flags/flags.tnsl | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 tnslc/flags/defaults.tnsl (limited to 'tnslc/flags') diff --git a/tnslc/flags/defaults.tnsl b/tnslc/flags/defaults.tnsl new file mode 100644 index 0000000..2164e20 --- /dev/null +++ b/tnslc/flags/defaults.tnsl @@ -0,0 +1,24 @@ +/## + Copyright 2021 Kyle Gunger + + This file is licensed under the CDDL 1.0 (the License) + and may only be used in accordance with the License. + You should have received 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 + WARRANTY, GUARANTEE, OR CLAIM OF FITNESS FOR ANY PURPOSE + EXPRESS OR IMPLIED +#/ + +/# defaults.tnsl + # This file provides the default settings for the compiler + # if the user has not provided flags which overrides them. +#/ + +/; get_defaults [Settings] + +;/ \ No newline at end of file diff --git a/tnslc/flags/flags.tnsl b/tnslc/flags/flags.tnsl index bc5d43f..1dbbaf4 100644 --- a/tnslc/flags/flags.tnsl +++ b/tnslc/flags/flags.tnsl @@ -14,3 +14,35 @@ EXPRESS OR IMPLIED #/ +/; module flags + :include "flags/defaults.tnsl" +;/ + +;enum ISA [uint] { + X86 = 0, + X64 = 1, + ARM = 2, + ARM64 = 3, + RISCV = 4 +} + +;enum FORMATS [uint] { + ELF = 0 + PE = 1 +} + +;struct Settings { + + # ISA settings + uint isa, + bool littleEndian, + + # Output format settings + uint format +} + +/; parse_flags () [Settings] + ;Settings out = flags.get_defaults() + + ;return out +;/ -- cgit v1.2.3