Add testing functionality and add error reporting

This commit is contained in:
0x4261756D
2022-12-15 21:53:01 +01:00
parent 0de0838284
commit 35f65101ad
9 changed files with 112 additions and 86 deletions

View File

@ -1,4 +1,4 @@
//invalid,Function name print at 1:22 is already an intrinsic
//invalid,Function name print at 3:22 is already an intrinsic
function int => print
{

View File

@ -1,4 +1,4 @@
//invalid,Expected function name but got { at 2:2
//invalid,Expected function name but got { at 4:2
function int =>
{

View File

@ -1,13 +1,14 @@
function int int int => int fibonacci
function int int int int => int fibonacci
{
dup if
dup 0 == req req req req
if
{
req deq deq
req deq deq deq
}
else
{
1 dup + - swp fibonacci
dup + req 1 req swp - req req req fibonacci
}
}
20 1 0 fibonacci print
20 0 1 0 fibonacci print

View File

@ -1,7 +1,4 @@
function int int => int int req_impl
{
dup deq
}
function int => int req_impl { }
1 2 3 req_impl print print print
1 2 3 req print print print
1 2 3 req_impl print print println
1 2 3 req print print println

View File

@ -1,2 +1,2 @@
//invalid,Call to unknown function foo at 1:4
//invalid,Call to unknown function foo at 2:4
foo

View File

@ -1,4 +1,4 @@
//invalid,Call to unknown function bar at 7:7
//invalid,Call to unknown function bar at 9:7
function int => foo
{

View File

@ -1,4 +1,4 @@
//invalid,Call to unknown function bar at 3:5
//invalid,Call to unknown function bar at 5:5
function => foo
{

View File

@ -1,4 +1,4 @@
//valid,output:10987654321
//valid,output:10987654321falsefalse
true while
{