Commit graph

25 commits

Author SHA1 Message Date
16bf06c7a1 Resolver - Added some spacing 2023-01-09 07:11:18 +01:00
7634354122 Resolver - Set expressions 2023-01-09 07:02:52 +01:00
d07dbb2e89 Resolver - Get expressions 2023-01-08 11:32:09 +01:00
9bfb549a22 Resolver - Class declarations 2023-01-07 14:07:59 +01:00
1af25457d5 AST - Refactored function declarations as a separate struct 2023-01-07 12:18:18 +01:00
6252bed605 Happy clippy is happy (and Clippy) 2023-01-07 11:59:32 +01:00
8741692fad Resolver - Store declaration tokens as references 2023-01-07 11:55:41 +01:00
34991d4b4b Resolver - Report an error if a symbol isn't used 2023-01-07 11:41:04 +01:00
4bce85e14b Resolver - Errors on undefined symbols 2023-01-07 11:10:24 +01:00
06917ca2d6 Resolver - Split resolve_local() into specific methods 2023-01-07 11:06:22 +01:00
24d9d6d880 Resolver - Handle the global namespace as well 2023-01-07 10:58:02 +01:00
c971df6f60 Resolver - Refactored declare() 2023-01-07 10:53:05 +01:00
8d65c288a3 Resolver - Refactored entering/exiting scopes 2023-01-07 10:51:34 +01:00
6dceae73a0 Resolver - Additional checks
* Ensure all locals are defined before they are used.
  * Prevent functions declared using fun from being assigned to.
  * Mark locals as used when they are accessed.
2023-01-07 10:17:08 +01:00
ec70ded29e Fixed variable lookups and assignments 2023-01-07 08:48:21 +01:00
754659ed12 Resolver - Removed invalid fix mistakenly committed in 79a0667 2023-01-05 07:13:20 +01:00
c90731b62d Resolver - Comments 2023-01-05 07:12:21 +01:00
64bc8312dd Resolver - resolve_function() shouldn't be a method from ResolverState 2023-01-05 07:09:35 +01:00
b5573cee3b Resolver - Fixed off-by-one error in resolve_local() 2023-01-05 07:06:27 +01:00
79a0667f34 Resolver - Errors on duplicate declarations 2023-01-05 06:58:29 +01:00
7961a92ad1 Further attempts at refactoring the error handling code
* Everything's still broken though
2023-01-04 07:35:40 +01:00
acb29e7123 Resolver - Refactored error handling 2023-01-03 22:50:47 +01:00
1346e0ccf0 Resolver - Return the map of resolved variables 2023-01-03 12:56:40 +01:00
376f28044c Resolver - Fixed function handling
* Since the arguments are stored in an intermediate environment, an
    additional scope is required
2023-01-03 12:55:48 +01:00
5a12ce44c1 Resolver - Initial implementation
* Not sure about using pointers to Expr nodes in order to remember how
    they can be resolved.
  * Unused and untested.
2023-01-03 08:50:12 +01:00