🤔 Add a type inference engine, along with typed literals. #4

Merged
acw merged 25 commits from acw/type-checker into develop 2023-09-19 20:40:05 -07:00

25 Commits

Author SHA1 Message Date
85ff5c5437 Fix the calling convention used for jitting and such, so it works on non-SystemV hosts. 2023-09-19 20:28:08 -07:00
eff46985ce Formatting. 2023-09-05 20:11:49 -07:00
d0a7beb13d Upgrade cranelift. 2023-09-05 19:55:40 -07:00
04f648e4b6 Formatting. 2023-08-13 21:15:17 -07:00
5d3af56735 Allowing wrapping math. 2023-08-13 20:51:25 -07:00
12057a35b2 Allowing wrapping math. 2023-08-13 20:41:17 -07:00
127ac1f22e Formatting and comments. 2023-08-13 19:55:14 -07:00
f8b73fcdfd Back to things working! 2023-08-12 18:03:01 -07:00
64405d5a06 Formatting. 2023-07-22 15:00:07 -07:00
f968e20a75 Only apply defaulting warnings to constants. 2023-07-22 14:55:04 -07:00
833c9d5350 Let locations be ranges, not just specific indexes. 2023-07-22 14:50:06 -07:00
a8d32a917f lift the inference engine up a level 2023-07-21 21:40:41 -07:00
9fb6bf3b86 Keep pushing forward on type inference. 2023-07-21 21:34:35 -07:00
1ad3d6c517 Start building out type inference. 2023-06-21 21:56:54 -07:00
3687785540 [checkpoint] Start the switch to type inference. 2023-06-19 21:16:28 -07:00
b931ba5b17 Add a quick check of our cast validation. 2023-06-17 17:34:45 -07:00
758766b491 Add a validator check that the types named in casts are reasonable. 2023-06-17 17:28:55 -07:00
e6ae0ab277 Get rid of Expression::Value and Expression:Reference, just folding in ValueOrRef directly. 2023-06-17 15:57:36 -07:00
041c0a497e Add support for casting. 2023-06-17 15:10:16 -07:00
b4ad24030f Get unary negation working. 2023-06-07 21:38:18 -07:00
469fe35e46 Add support for multiple integer types. 2023-06-04 17:31:26 -07:00
7efd2fb796 Add a code generator for making tests of the examples. 2023-06-04 17:29:59 -07:00
8aa1465c35 Prep the way for type casting. 2023-05-13 15:03:47 -05:00
9f8050a559 Add lexer support for angles, which we'll use for casting. 2023-05-13 15:03:38 -05:00
c0b65ef416 Add type suffixes to numbers in the lexer. 2023-05-13 15:03:31 -05:00