From 116e0c5c49c9fb5f1da4a6a78b2e0578e2d52268 Mon Sep 17 00:00:00 2001 From: Alex Hirsch Date: Fri, 1 Mar 2019 20:49:37 +0100 Subject: [PATCH] Clarify type checking is also required for arrays --- specification.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/specification.md b/specification.md index 1687d55..eadc6ee 100644 --- a/specification.md +++ b/specification.md @@ -359,7 +359,8 @@ As the parser only does syntactic checking, additional semantic checks are imple - Checking for presence of `main` and correct signature - Checking that all execution paths of a non-void function return a value - Type checking (remember, neither implicit nor explicit type conversions) - - This also includes checking arguments and return types for call expressions. + - Includes checking operations on arrays + - Includes checking arguments and return types for call expressions In addition to the AST, *symbol tables* are created and used for semantic checking. Be sure to correctly model [*shadowing*](https://en.wikipedia.org/wiki/Variable_shadowing).