From 64f56807a090a2d3e7a565caf63cfd0e265b41ca Mon Sep 17 00:00:00 2001 From: Daniel Weipert Date: Thu, 2 Jan 2025 11:14:26 +0100 Subject: intermediate parser commit --- test/test.test | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 test/test.test (limited to 'test/test.test') diff --git a/test/test.test b/test/test.test new file mode 100644 index 0000000..9fea5b2 --- /dev/null +++ b/test/test.test @@ -0,0 +1,78 @@ +const henshin: integer = 2 // comment +// next comment +var ply: string = "cool!" +ply = "way cooler!!" + +const new: integer = henshin + 5 * 10 + +const test: integer = 1 + 1 + +const main: function = (input: string or integer): void { + const hello: string = input + " world!" + const bye: string = "bye!" + + return hello + " " + bye +} + +const x: string = main(input = "hello!") +print(x) + +const array: [integer] = [1, 2, 3] +const map: [string][string or integer] = [ + "first" = 1, + "second" = "two", + "third" = "3", + "fourth" = 4, + "fifth" = (): void { + return "5." + }, +] + +main("pipe1!") => print($) +main("pipe2!") => main($) => print($) + +const test_type: type = { + const test_field: string = "test" + var another_field: integer = 4 + + const test_function: function = (): void { + return self.test_field + } + + const another_function: function = (add: integer): integer { + return self.another_field + add + } +} + +const other_int: type = integer + +const inherited_type: type[test_type] = { + const nested: test_type = test_type() + + const new_function: function = (): void { + return self.another_field + 4 + } +} + +const object: inherited_type = inherited_type() +object.test_field = "hey" +object.test_function() => print($) +object.nested.another_field = 5 +object.nested.another_function(add = 2) => print($) + +if (henshin == 2) { + print("nice") +} +print(henshin == 3 or henshin > 1) +henshin = 4 +if (henshin == 3) { + print("shouldn't be") +} else if (henshin == 2 or henshin != 3) { + print("else will") +} else if (henshin != 3 and henshin != 2) { + print("else won't") +} + +const scoped: [string][string or function] = import("test_import.test") +print(scoped) +scoped.exported_function() => print($) -- cgit v1.2.3