From 0428c27adf1a145f295ec477d498596ff1a75736 Mon Sep 17 00:00:00 2001 From: Kyle Gunger Date: Fri, 6 Nov 2020 02:21:08 -0500 Subject: Start work on AST generation --- tests/block-test.tnsl | 36 +++++++++++++++++++++++++++++++++++- tests/comment-test.tnsl | 16 ++++++++++++++++ tests/literal-test.tnsl | 16 ++++++++++++++++ tests/parameter-test.tnsl | 16 ++++++++++++++++ tests/run-tests.sh | 2 +- 5 files changed, 84 insertions(+), 2 deletions(-) (limited to 'tests') diff --git a/tests/block-test.tnsl b/tests/block-test.tnsl index e5c3aaf..9f25526 100644 --- a/tests/block-test.tnsl +++ b/tests/block-test.tnsl @@ -1,8 +1,24 @@ +/# + Copyright 2020 Kyle Gunger + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +#/ + /;if (i==0) ;i = 2 ;/ -/: import +/: include "this" "that" :/ @@ -23,4 +39,22 @@ Comment #; else ;i = 6 +;/ + +/; main +;/ + +/; module vec + + ;struct Vector2 {x, y int} + + /;method ~Vector2 + + /; operator + (v ~Vector2) + ;self.x += `v.x + ;self.y += `v.y + ;/ + + ;/ + ;/ \ No newline at end of file diff --git a/tests/comment-test.tnsl b/tests/comment-test.tnsl index cdd33be..6643695 100644 --- a/tests/comment-test.tnsl +++ b/tests/comment-test.tnsl @@ -1,3 +1,19 @@ +/# + Copyright 2020 Kyle Gunger + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +#/ + ;/# #/; diff --git a/tests/literal-test.tnsl b/tests/literal-test.tnsl index e3b73da..1841159 100644 --- a/tests/literal-test.tnsl +++ b/tests/literal-test.tnsl @@ -1,3 +1,19 @@ +/# + Copyright 2020 Kyle Gunger + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +#/ + # These should all work ;[]char s = "\"" ;[]char st="\\" diff --git a/tests/parameter-test.tnsl b/tests/parameter-test.tnsl index c969427..2c39cb9 100644 --- a/tests/parameter-test.tnsl +++ b/tests/parameter-test.tnsl @@ -1,2 +1,18 @@ +/# + Copyright 2020 Kyle Gunger + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +#/ + /; loop (int initial = 0, int complex = 2) [initial < max || complex < 40, initial++, complex += 7, another += 2] ;/ diff --git a/tests/run-tests.sh b/tests/run-tests.sh index 6f49335..2443823 100755 --- a/tests/run-tests.sh +++ b/tests/run-tests.sh @@ -2,7 +2,7 @@ PARSECMD=../build/parse PARSEFILE=" " parse () { - $PARSECMD -in $PARSEFILE-test.tnsl -out $PARSEFILE-test.tnp + $PARSECMD -in $PARSEFILE-test.tnsl -out $PARSEFILE-test.tnt } PARSEFILE=block -- cgit v1.2.3