Commit Graph
100 Commits
Author SHA1 Message Date
Sasha Koshka 07e859b355 For loop generation should be more correct now 2024-03-20 02:55:31 -04:00
Sasha Koshka e4c6089b62 Untested for loop generation 2024-03-20 02:52:01 -04:00
Sasha Koshka 789ffa85d2 For loop generation stub 2024-03-20 02:09:26 -04:00
Sasha Koshka 86d4f21036 Analyze for loops 2024-03-16 13:25:53 -04:00
Sasha Koshka 24bfb30a24 Add tests for for loop analysis 2024-03-16 13:23:35 -04:00
Sasha Koshka 83b0dda171 Add breakable interface 2024-03-16 01:43:56 -04:00
Sasha Koshka f63f437bd9 Add for parsing 2024-03-15 03:03:59 -04:00
Sasha Koshka 43c2e23999 Add for parsing to parser test 2024-03-15 03:03:39 -04:00
Sasha Koshka 36dc8c769c Fix For.String() 2024-03-15 03:02:50 -04:00
Sasha Koshka 9b8941182a Index and Element must be declarations 2024-03-15 02:50:28 -04:00
Sasha Koshka cdc46f96aa Add range loops to entity 2024-03-14 22:28:50 -04:00
Sasha Koshka a7df436d77 Add range loops to spec 2024-03-14 22:28:35 -04:00
Sasha Koshka 8982cbf353 Update compiler 2024-03-14 03:20:55 -04:00
Sasha Koshka 39c853df07 Update generator 2024-03-14 03:20:47 -04:00
Sasha Koshka dce9e1d85d Updated analyzer 2024-03-14 03:18:46 -04:00
Sasha Koshka d04e9d28ed Updated parser 2024-03-14 03:14:08 -04:00
Sasha Koshka 91b6fff6c7 Add the cool epic to meta 2024-03-14 02:43:59 -04:00
Sasha Koshka 70317bfd5d Only top level entities are in toplevel.go 2024-03-14 02:41:51 -04:00
Sasha Koshka 1402d590e0 Misc entities now have Pos/Position thing going on 2024-03-14 02:40:13 -04:00
Sasha Koshka 34ad85b1f3 Clean up wording in type interface documentation 2024-03-14 02:37:58 -04:00
Sasha Koshka 12fe353916 Add more behaviors to expression interface 2024-03-14 02:37:12 -04:00
Sasha Koshka ddd908b800 Moved key/hash stuff into its own file 2024-03-14 02:36:39 -04:00
Sasha Koshka b17b261472 Add more methods to toplevel entities 2024-03-14 02:23:26 -04:00
Sasha Koshka db4f689f6b Add access control modes to spec 2024-03-14 02:11:26 -04:00
Sasha Koshka 1e6a1db03d Missed a spot 2024-03-14 01:55:18 -04:00
Sasha Koshka 52ec2f5ed1 Renamed restricted access to opaque access 2024-03-14 01:54:22 -04:00
Sasha Koshka 6c21ac48e7 Changed restricted access specified from ~ to # 2024-03-14 01:42:19 -04:00
Sasha Koshka e702b5fe24 Change interface symbol from ~ to & 2024-03-13 23:05:58 -04:00
Sasha Koshka 410c6c5ec9 Removed "in" from match statement 2024-03-13 22:44:11 -04:00
Sasha Koshka 7a6f9c367a Add a compiler test for this 2024-03-06 17:41:52 -05:00
Sasha Koshka ea792a7569 Document new Bool width in spec 2024-03-06 16:51:11 -05:00
Sasha Koshka 32e08871c9 Bool is now an i1 2024-03-06 16:46:27 -05:00
Sasha Koshka a7bdee3c26 Add tests about this to the generator 2024-03-06 16:44:22 -05:00
Sasha Koshka 52f68d1fe3 Generator understands assigning return/break to things 2024-03-06 16:43:58 -05:00
Sasha Koshka 1382501302 Updated spec 2024-03-06 15:37:30 -05:00
Sasha Koshka a07fd2939a Break and return can be assigned to anything 2024-03-06 15:34:00 -05:00
Sasha Koshka 2d640b0288 Add test cases for #55 2024-03-06 15:31:47 -05:00
Sasha Koshka d3b9364544 Rename analyzer's match test file to control flow test 2024-03-06 15:21:33 -05:00
Sasha Koshka 863abddc4a One last test 2024-03-06 15:16:15 -05:00
Sasha Koshka 50e363b0da Add compiler tests for unions/matches 2024-03-06 15:06:21 -05:00
Sasha Koshka 9611e5ca72 Add match/union generator tests 2024-03-06 14:50:58 -05:00
Sasha Koshka c5e5b37e45 Generator supports assigning unions to unions 2024-03-06 14:49:49 -05:00
Sasha Koshka 95adf1956e Use TypesEqual() instead of comparing hashes 2024-03-06 14:16:36 -05:00
Sasha Koshka a1dd782a88 Analyzer lets unions of the same type be assigned to eachother 2024-03-06 14:00:37 -05:00
Sasha Koshka 716306dacb Add union assignment tests to analyzer 2024-03-06 13:50:55 -05:00
Sasha Koshka 2f251b8274 Generate phi node for default case in match switch 2024-03-06 13:09:20 -05:00
Sasha Koshka 7154f5d333 Generate assignment to unions 2024-03-06 13:09:03 -05:00
Sasha Koshka 9e6aebf518 Generate match statements 2024-03-06 00:42:40 -05:00
Sasha Koshka 55dec491eb Add match stub 2024-03-05 03:32:31 -05:00
Sasha Koshka 7e1bc350d1 Generate union types 2024-03-05 03:15:44 -05:00
Sasha Koshka 7f5159925e New test TestMatchErrNotUnion 2024-03-04 14:22:39 -05:00
Sasha Koshka d036bd03b1 Analyze match expressions 2024-03-04 14:19:33 -05:00
Sasha Koshka beefbd5ce7 Add more semantic fields to Match and Case 2024-03-04 14:09:48 -05:00
Sasha Koshka 18b6329ee5 Improved match tests 2024-03-04 14:09:19 -05:00
Sasha Koshka d95c3ae9dd entity.Match.String() prints "in" instead of "on" 2024-03-04 13:36:07 -05:00
Sasha Koshka efebff502c Add some match statement tests 2024-03-04 13:34:22 -05:00
Sasha Koshka 038d7f5564 Add more tests for the union type 2024-03-02 12:36:22 -05:00
Sasha Koshka aacf1be026 Add some tests for the union type 2024-03-02 12:26:16 -05:00
Sasha Koshka e38ba2f4e2 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 52fc13bdeb Add assignment rules for unions 2024-03-02 12:12:43 -05:00
Sasha Koshka aaefb9e6bf Analyzer checks uniqueness of types in union by comparing hashes 2024-03-02 12:09:49 -05:00
Sasha Koshka 1ecd45e707 And so does analyzer 2024-03-02 01:34:16 -05:00
Sasha Koshka 0abab71fa6 Parser understands these new developments 2024-03-02 01:30:45 -05:00
Sasha Koshka de0b649616 Add Position() method to type 2024-03-02 01:26:29 -05:00
Sasha Koshka b3b80f834c Augh 2024-03-01 21:45:14 -05:00
Sasha Koshka 965adb3de6 Add match test to parser, fixed parsing and stringing of match 2024-03-01 21:44:20 -05:00
Sasha Koshka ab8db825c0 Added match statements to the parser
Added match statements to the parser
2024-03-01 21:36:40 -05:00
Sasha Koshka b286cf3e8d Add match expressions to entity 2024-03-01 21:22:32 -05:00
Sasha Koshka 5a2bf134a1 Add match statement to expresison parsing decision tree 2024-03-01 21:10:03 -05:00
Sasha Koshka bd432edefe Add match statements to the spec 2024-03-01 21:03:49 -05:00
Sasha Koshka b7539eb86a Add union types to parser 2024-03-01 12:35:11 -05:00
Sasha Koshka acf254a1f3 Add parser test for union type 2024-03-01 12:34:29 -05:00
Sasha Koshka 489f20972b Update expression parsing decision tree in parser/fspl/README.md 2024-03-01 12:11:09 -05:00
Sasha Koshka ada14b5c9d Add TypeUnion to entity 2024-03-01 03:00:17 -05:00
Sasha Koshka 8b302cf3c9 Add union type syntax to spec 2024-03-01 02:54:26 -05:00
Sasha Koshka 581bdd050d Types can now produce hashes of themselves 2024-03-01 02:53:29 -05:00
Sasha Koshka a3de4f565e Add a hashing system to Entity 2024-03-01 02:53:10 -05:00
Sasha Koshka 69cbe192f9 Add design for union type 2024-03-01 02:10:21 -05:00
Sasha Koshka fc301601f3 Add pkg.go.dev badge 2024-03-01 00:24:04 -05:00
Sasha Koshka 89311688a4 Inline string literal since #46 has been remedied 2024-03-01 00:17:39 -05:00
Sasha Koshka a4ddab7bb4 TestLiteralReference is now an error test 2024-03-01 00:13:32 -05:00
Sasha Koshka 4aa0a0f304 Fixed analyzer.isLocationExpression 2024-03-01 00:12:21 -05:00
Sasha Koshka 71a1f0a253 Add test case for #46 2024-03-01 00:04:15 -05:00
Sasha Koshka e2cb3820cf Add some multiunit tests from the analyzer to the generator 2024-02-29 23:59:15 -05:00
Sasha Koshka eac7d492d6 Change name of generator multiunit test to match analyzer 2024-02-29 23:52:09 -05:00
Sasha Koshka acf8046114 Putting complete covering of bit casts on hold for now 2024-02-28 20:08:54 -05:00
Sasha Koshka 69c4294522 Covered more cases with bitcast 2024-02-28 20:08:43 -05:00
Sasha Koshka 7acc9c5ab0 Add more test cases for bitcasting pointers 2024-02-28 19:49:35 -05:00
Sasha Koshka f92008046b Merge branch 'main' into generator-multi-unit-tests 2024-02-28 19:42:11 -05:00
Sasha Koshka c2cdb86b12 The buge (#47) is vanquished!!!! 2024-02-28 19:30:33 -05:00
Sasha Koshka 7225ef7dc3 Expressions now have HasExplicitType() 2024-02-28 18:31:46 -05:00
Sasha Koshka e24d22a24f Add test case to analyzer for #47 2024-02-28 18:03:15 -05:00
Sasha Koshka f3e9f33dd3 Completed out TestUnitWriterInterface 2024-02-28 17:43:17 -05:00
Sasha Koshka 1c2186e9fc Add problematic multiunit test case from #49 2024-02-27 03:06:54 -05:00
Sasha Koshka 5e740ebf5f Compiler has bug() to wrap unexpected errors 2024-02-27 02:45:32 -05:00
Sasha Koshka d5bb1be894 Add some interface tests to compiler 2024-02-27 02:36:35 -05:00
Sasha Koshka 0c39d0a1cb Compiler debug output makes more sense 2024-02-27 02:33:35 -05:00
Sasha Koshka dda8cea996 Generator's "errNotFound" is more useful when it bubbles to the surface 2024-02-27 02:29:52 -05:00
Sasha Koshka 2c3bc9acce Fix analyzer.Tree.methodExists and clear raw maps
This was too urgent not to continue without
2024-02-27 02:24:03 -05:00
Sasha Koshka 60c49a1d9a Add test for printing argv
Disabled for now due to #47
2024-02-27 00:22:02 -05:00