summaryrefslogtreecommitdiff
path: root/tnslc/tests/simple
diff options
context:
space:
mode:
authorKyle Gunger <kgunger12@gmail.com>2023-02-16 05:14:31 -0500
committerKyle Gunger <kgunger12@gmail.com>2023-02-16 05:14:31 -0500
commit09df1bb48823631228af3df647111af1eebc854b (patch)
treeef091fc942b00b224f7d66aacb0c3db0ab4d490c /tnslc/tests/simple
parentc94edbe007910755087e71cbb1a6a349d75e9b85 (diff)
Collapse tnslc into a single file
Diffstat (limited to 'tnslc/tests/simple')
-rw-r--r--tnslc/tests/simple/comments.tnsl52
-rw-r--r--tnslc/tests/simple/if_else.tnsl0
-rw-r--r--tnslc/tests/simple/includes_a.tnsl1
-rw-r--r--tnslc/tests/simple/includes_b.tnsl0
-rw-r--r--tnslc/tests/simple/modules_a.tnsl0
-rw-r--r--tnslc/tests/simple/modules_b.tnsl0
-rw-r--r--tnslc/tests/simple/structs.tnsl0
7 files changed, 53 insertions, 0 deletions
diff --git a/tnslc/tests/simple/comments.tnsl b/tnslc/tests/simple/comments.tnsl
new file mode 100644
index 0000000..dbece20
--- /dev/null
+++ b/tnslc/tests/simple/comments.tnsl
@@ -0,0 +1,52 @@
+# These are tests for where comments may be located
+# as well as the type of comments that may be parsed.
+# A '#' denotes a single line comment, and will
+# ignore everything on the line.
+# '/#' denotes the start of a multi line comment
+# if you want to use '#/' (the end of a multiline comment)
+# inside of a multiline comment, use '#' at the start of the line
+# to escape the whole line.
+
+/#
+ This is an example
+ of a multiline comment.
+#/
+
+/#
+# This is also a multiline comment
+# however, you can use #/
+# inside of it because we have '#' at
+# the start of each line
+#/
+
+/##
+# This is an example of a doc comment.
+# It is a doc comment of a code block because it starts with '/##' instead of '/#'
+# and ends with '# ;' which ends the comment and opens a block.
+# This doc comment is on the main function
+#; main /# Comment inside function declaration #/ [int /# Comment inside this list of outputs #/ ]
+ return 0 # line comment inside a function
+ /# Block comment inside function #/
+;/
+
+/# Comment before block opens #/ /; interface /# Comment in interface block definition #/ ITest
+ # Comment in interface block
+ /; test_method [int] ;/
+/# Comment before block closes #/ ;/
+
+struct Test {
+ # comment inside a list of member variables
+ int /# Comment btwn type and variable name #/ i
+}
+
+/; method /# Comment in method block definition #/ Test
+ # Comment in method block
+ /; /# Comment before method name#/ test_method (/# Comment inside function params #/) [/# comment inside return type again#/ int]
+/# Comment at start of line before statement#/ return /# Comment btwn return and value #/ i
+ ;/
+
+ /; cf_comment [int]
+
+ ;/
+;/
+
diff --git a/tnslc/tests/simple/if_else.tnsl b/tnslc/tests/simple/if_else.tnsl
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tnslc/tests/simple/if_else.tnsl
diff --git a/tnslc/tests/simple/includes_a.tnsl b/tnslc/tests/simple/includes_a.tnsl
new file mode 100644
index 0000000..930098a
--- /dev/null
+++ b/tnslc/tests/simple/includes_a.tnsl
@@ -0,0 +1 @@
+:include "includes_b.tnsl" \ No newline at end of file
diff --git a/tnslc/tests/simple/includes_b.tnsl b/tnslc/tests/simple/includes_b.tnsl
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tnslc/tests/simple/includes_b.tnsl
diff --git a/tnslc/tests/simple/modules_a.tnsl b/tnslc/tests/simple/modules_a.tnsl
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tnslc/tests/simple/modules_a.tnsl
diff --git a/tnslc/tests/simple/modules_b.tnsl b/tnslc/tests/simple/modules_b.tnsl
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tnslc/tests/simple/modules_b.tnsl
diff --git a/tnslc/tests/simple/structs.tnsl b/tnslc/tests/simple/structs.tnsl
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tnslc/tests/simple/structs.tnsl