From 44355ceb4db780b370d148008c5048a5075b3978 Mon Sep 17 00:00:00 2001 From: Kyle Gunger Date: Wed, 13 Apr 2022 00:55:46 -0400 Subject: Numeric literals --- tnslc/util.tnsl | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 tnslc/util.tnsl (limited to 'tnslc/util.tnsl') diff --git a/tnslc/util.tnsl b/tnslc/util.tnsl new file mode 100644 index 0000000..a29d544 --- /dev/null +++ b/tnslc/util.tnsl @@ -0,0 +1,46 @@ +/## + 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 +#/ + +/# util.tnsl + Utility functions that may be useful in many places. +#/ + +/; string_equate(~{}charp s1, s2) [bool] + /; if (len s1` !== len s2`) + ;return false + ;/ + + /; loop (int i = 0; i < len s1`) [i++] + /; if (s1`{i} !== s2`{i}) + ;return false + ;/ + ;/ + + ;return true +;/ + +/; is_whitespace (charp c) [bool] + ;return c == '\t' || c == '\n' || c == ' ' +;/ + +/; is_digit (charp c) [bool] + ;return c !< '0' && c !> '9' +;/ + +/; is_alpha (charp c) [bool] + ;bool low = c !< 'A' && c !> 'Z', high = c !< 'a' && c >! 'z' + ;return low || high +;/ -- cgit v1.2.3