Commit Graph

752 Commits

Author SHA1 Message Date
Sasha Koshka 0ea05e5836 Fix calling methods on pointers to types in other units 2024-03-13 11:51:51 -04:00
Sasha Koshka d2c8fdd05c Add generator tests for referring to methods in other units 2024-03-13 11:15:15 -04:00
Sasha Koshka 1565376418 Add TestMethodPtr to generator 2024-03-11 11:50:12 -04:00
Sasha Koshka 566bf41843 Re-format roadmap 2024-03-07 23:20:06 +00:00
Sasha Koshka 45f46b04b0 Merge pull request 'assign-return-break-to-anything' (#56) from assign-return-break-to-anything into main
Reviewed-on: #56
2024-03-06 22:42:18 +00:00
Sasha Koshka be08308cb2 Add a compiler test for this 2024-03-06 17:41:52 -05:00
Sasha Koshka 4f31b712df Document new Bool width in spec 2024-03-06 16:51:11 -05:00
Sasha Koshka 8607f08093 Bool is now an i1 2024-03-06 16:46:27 -05:00
Sasha Koshka ff99c37219 Add tests about this to the generator 2024-03-06 16:44:22 -05:00
Sasha Koshka e889a9c49b Generator understands assigning return/break to things 2024-03-06 16:43:58 -05:00
Sasha Koshka ebc4aacf5b Updated spec 2024-03-06 15:37:30 -05:00
Sasha Koshka 6643c92948 Break and return can be assigned to anything 2024-03-06 15:34:00 -05:00
Sasha Koshka 4df8a45a16 Add test cases for #55 2024-03-06 15:31:47 -05:00
Sasha Koshka 3d6a258873 Rename analyzer's match test file to control flow test 2024-03-06 15:21:33 -05:00
Sasha Koshka 6a9be94601 Merge pull request 'implement-union-types' (#54) from implement-union-types into main
Reviewed-on: #54
2024-03-06 20:16:54 +00:00
Sasha Koshka bf62730e79 One last test 2024-03-06 15:16:15 -05:00
Sasha Koshka 040be67476 Add compiler tests for unions/matches 2024-03-06 15:06:21 -05:00
Sasha Koshka 6cd51f3c5f Add match/union generator tests 2024-03-06 14:50:58 -05:00
Sasha Koshka ab24c1cfc1 Generator supports assigning unions to unions 2024-03-06 14:49:49 -05:00
Sasha Koshka e94d438332 Use TypesEqual() instead of comparing hashes 2024-03-06 14:16:36 -05:00
Sasha Koshka ef947b8dc6 Analyzer lets unions of the same type be assigned to eachother 2024-03-06 14:00:37 -05:00
Sasha Koshka 41116e0b13 Add union assignment tests to analyzer 2024-03-06 13:50:55 -05:00
Sasha Koshka 98d8edc319 Generate phi node for default case in match switch 2024-03-06 13:09:20 -05:00
Sasha Koshka ff749a03dd Generate assignment to unions 2024-03-06 13:09:03 -05:00
Sasha Koshka daea6cb22a Generate match statements 2024-03-06 00:42:40 -05:00
Sasha Koshka 54f69ca786 Add match stub 2024-03-05 03:32:31 -05:00
Sasha Koshka 779aaf3cea Generate union types 2024-03-05 03:15:44 -05:00
Sasha Koshka 8ec7929c1e New test TestMatchErrNotUnion 2024-03-04 14:22:39 -05:00
Sasha Koshka fd8a15db66 Analyze match expressions 2024-03-04 14:19:33 -05:00
Sasha Koshka b1cef5d95f Add more semantic fields to Match and Case 2024-03-04 14:09:48 -05:00
Sasha Koshka 2a6778837f Improved match tests 2024-03-04 14:09:19 -05:00
Sasha Koshka 8fa9a579fd entity.Match.String() prints "in" instead of "on" 2024-03-04 13:36:07 -05:00
Sasha Koshka ce79e16de7 Add some match statement tests 2024-03-04 13:34:22 -05:00
Sasha Koshka cd91f9dc20 Add more tests for the union type 2024-03-02 12:36:22 -05:00
Sasha Koshka 24268e498e Add some tests for the union type 2024-03-02 12:26:16 -05:00
Sasha Koshka a6dabc27f9 The assemble map pattern doesnt work for unions
That entire file needs to be completely rewritten is stg
2024-03-02 12:21:28 -05:00
Sasha Koshka 459020126d Add assignment rules for unions 2024-03-02 12:12:43 -05:00
Sasha Koshka 3a1d9632dc Analyzer checks uniqueness of types in union by comparing hashes 2024-03-02 12:09:49 -05:00
Sasha Koshka 8beb785009 And so does analyzer 2024-03-02 01:34:16 -05:00
Sasha Koshka 66633be90c Parser understands these new developments 2024-03-02 01:30:45 -05:00
Sasha Koshka bc88782938 Add Position() method to type 2024-03-02 01:26:29 -05:00
Sasha Koshka e30f2a74da Augh 2024-03-01 21:45:14 -05:00
Sasha Koshka 0e2259bb45 Add match test to parser, fixed parsing and stringing of match 2024-03-01 21:44:20 -05:00
Sasha Koshka f94c562896 Added match statements to the parser
Added match statements to the parser
2024-03-01 21:36:40 -05:00
Sasha Koshka fb7558576e Add match expressions to entity 2024-03-01 21:22:32 -05:00
Sasha Koshka 8d611b6fa6 Add match statement to expresison parsing decision tree 2024-03-01 21:10:03 -05:00
Sasha Koshka c17a381ba5 Add match statements to the spec 2024-03-01 21:03:49 -05:00
Sasha Koshka c45d0215ba Add union types to parser 2024-03-01 12:35:11 -05:00
Sasha Koshka 0135972e14 Add parser test for union type 2024-03-01 12:34:29 -05:00
Sasha Koshka 24fa83b004 Update expression parsing decision tree in parser/fspl/README.md 2024-03-01 12:11:09 -05:00