From 89f2b3b4a40749eba388ea998b99381a37bbeb53 Mon Sep 17 00:00:00 2001 From: Kyle Gunger Date: Sun, 14 May 2023 11:43:43 -0400 Subject: Indexing and proper string decomp --- tnslc/syntax-playground.tnsl | 92 -------------------------------------------- 1 file changed, 92 deletions(-) delete mode 100644 tnslc/syntax-playground.tnsl (limited to 'tnslc/syntax-playground.tnsl') diff --git a/tnslc/syntax-playground.tnsl b/tnslc/syntax-playground.tnsl deleted file mode 100644 index 651be62..0000000 --- a/tnslc/syntax-playground.tnsl +++ /dev/null @@ -1,92 +0,0 @@ -# This file is for playing with syntax and seeing what works and what does not. - - -## TEST 1 - newlines seperate statements, not ; -## newlines can be escaped with \ - -/; test1 - int main = 0 - - /; loop (int i = 0, i < 5) [i++] - tnsl.io.println("Hi!") - ;/ - - String str = {} - - /; loop (char j = ' ', j != 'k') \ - [j++] - - str.append(j) - ;/ - - tnsl.io.println(str) - - return main -;/ - -## END TEST 1 -## -## Thoughts: this is much better. - -## TEST 2 - get '.' augment auto de-references pointers - -struct a { - int i, j -} - -struct b { - String str, - ~a ints -} - -/; ptr_test1 - b str_b = {"Hello", {0, 1}} - - ~b ptr_b = ~str_b - - tnsl.io.println(ptr_b.str) - # vs - tnsl.io.println(ptr_b`.str) - # both work - - ptr_b.ints.i = 12 - ptr_b.ints.j = ptr_b.ints.i / 4 - # vs - ptr_b`.ints`.i = 12 - ptr_b`.ints`.j = ptr_b`.ints`.i / 4 - # Again, the second one is more descriptive, but is it better? - - ptr_call(ptr_b) - ref_call(ptr_b) -;/ - -/; ptr_call (~b ptr) - ptr.ints.i = 8 -;/ - -/; ref_call (b` ref) - ref.ints.j = 9 -;/ - -## END TEST 2 -## -## Thoughts: not sure, the . operator could become a little too ambiguous if this is added - -## Test 3: using [] for array indexing instead of {} - -:include "tnsl" -:using "tnsl" - -/; main ({}String args) [int] - int i = len args - String first = args[0] - - {}int list = {0, 1, 2, 3} - i = list[2] - - return i -;/ - -## End test 3 -## -## Thoughts: I'm not sure weather I like it better or not. -- cgit v1.2.3