summaryrefslogtreecommitdiff
path: root/tnslc/util.tnsl
diff options
context:
space:
mode:
Diffstat (limited to 'tnslc/util.tnsl')
-rw-r--r--tnslc/util.tnsl46
1 files changed, 46 insertions, 0 deletions
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
+;/