From 1a8f96c65f94227faa9747ef876a60f3c313c6f1 Mon Sep 17 00:00:00 2001 From: Mustafa Quraish Date: Wed, 2 Feb 2022 07:20:53 -0500 Subject: Type checking of expressions / functions! This is a bit of a chonky commit, but it adds in the basics of checking the types of expressions / function calls / return types. There's still a lot of work to be done, including: (1) Adding new core types, and casting between allowed types automatically (2) Picking the corrent output type based on input types (for instance float+int == float) (3) We need much better error reporting, the error messages are really vague and unhelpful as-is (4) We also need to work to ensure that a function with a return type actually returns (5) Possible re-factoring to make stuff less hacky when we have more types / structs / arrays / etc. --- tests/functions.sh | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) (limited to 'tests/functions.sh') diff --git a/tests/functions.sh b/tests/functions.sh index e8c79f2..c188bd1 100755 --- a/tests/functions.sh +++ b/tests/functions.sh @@ -8,61 +8,61 @@ set -e echo -n "- Different argument counts: " assert_exit_status_stdin 5 <