Commit Graph

780 Commits

Author SHA1 Message Date
418e013dda Reflected those changes in unit design doc 2024-02-21 13:46:26 -05:00
ddafa0935a Module search paths are more useful now 2024-02-21 13:45:51 -05:00
24b15cfea6 Merge branch 'implement-modules' 2024-02-21 13:27:35 -05:00
bc9f1302b2 Merge branch 'main' into implement-modules 2024-02-21 18:26:44 +00:00
e4eb8c4e62 Updated compiler to use Resolver 2024-02-21 13:21:58 -05:00
222dae2dac Add a "Resolver" that resolves unit addresses 2024-02-21 13:21:41 -05:00
39d584bd1b Compiler understands compiling to . 2024-02-20 01:48:18 -05:00
d4a7420471 Compiler now only parses module files that end in .fspl 2024-02-20 01:39:07 -05:00
108c89c18e cli package now prints out usage correctly 2024-02-20 01:27:26 -05:00
f0fbe6440a Compiler is a bit more adaptable now 2024-02-20 01:23:00 -05:00
5890e6188b Oops haha, print statement. 2024-02-20 00:52:30 -05:00
07ea408d4e The compiler now compiles 2024-02-20 00:52:23 -05:00
f06a0e29b9 Updated generator tests 2024-02-19 23:05:30 -05:00
7600bc28d9 Fixed generator map sorting 2024-02-19 21:57:21 -05:00
a22b6137d5 Types are given proper link names in the generator 2024-02-19 21:09:21 -05:00
306b029951 Generator now has module support 2024-02-19 21:00:20 -05:00
2f2e762d02 Documented how methods are named 2024-02-19 12:09:21 -05:00
ff18aae2b6 entity.Key now has an optional method field 2024-02-19 12:05:13 -05:00
4166fb8817 Move Key to Entity 2024-02-19 11:41:36 -05:00
d3df73e0ec Fixed wording issue in design/units.md 2024-02-19 11:18:17 -05:00
569dd14f59 Analyzer does not allow operations on restricted types 2024-02-17 00:19:13 -05:00
4b87551702 Analyzer does not allow literals to be assigned to restricted types 2024-02-17 00:12:32 -05:00
9d009a1f64 Analyzer does not allow value casting of restricted types 2024-02-16 23:52:52 -05:00
1b92c2cf81 Analyzer does not allow subscripting, slicing of restricted types 2024-02-16 23:10:38 -05:00
3bc7467c85 Add more multi-unit test cases 2024-02-16 22:50:29 -05:00
ed282efdb7 Analyzer does not allow marking functions/methods as restricted 2024-02-16 22:31:38 -05:00
654ba361e2 Analyzer does not allow member access on restricted types 2024-02-16 22:26:22 -05:00
2d1b2bab43 Analyzer does not allow calling behaviors of restricted iface 2024-02-16 22:19:47 -05:00
f027a50756 Analyzer no longer thinks String is private 2024-02-16 22:13:30 -05:00
444637bc15 Analyzer now fills out this information 2024-02-16 13:51:11 -05:00
f78a71950b Entity now stores unit and access information for types 2024-02-16 13:30:15 -05:00
c4cb1ce273 Should also make sure ~ only applies to types 2024-02-16 13:09:48 -05:00
eb9444dad3 Add more test cases for restricted typedefs in units 2024-02-16 13:06:40 -05:00
f93c9b26c8 When analyzing a typedef, update the unit information first 2024-02-16 12:54:34 -05:00
37aa620f33 This is mega silly 2024-02-16 12:49:47 -05:00
158a4220be Pass TestUnitPrivateMethod Err 2024-02-16 12:48:25 -05:00
1fea25ba91 Fix behavior of Tree.analyzeMethodOrBehavior() 2024-02-16 12:43:42 -05:00
6c7c7c9d99 Real quick add unicode test to parser 2024-02-15 12:43:09 -05:00
fcf44fd1ec Ok so maybe that one commit wasn't entirely true 2024-02-15 01:12:51 -05:00
ed498a3bc0 Analyzer checks access permissions when using named types 2024-02-15 01:08:21 -05:00
159317965d Parser properly unions position of named types 2024-02-15 01:07:25 -05:00
6b9cdcc239 Parser does *not* actually discard private toplevels while skimming
And it shouldn't! Because it doesn't, the analyzer can say "this is
private" instead of "this doesn't exist".
2024-02-15 01:06:21 -05:00
87c2acf650 Add some initial analyzer tests for units 2024-02-14 23:20:01 -05:00
43a488fb58 I ohasdhjklashf dslkfj ksdl 2024-02-14 23:10:43 -05:00
14566196a9 Forgot about the nickname map haha 2024-02-14 22:48:55 -05:00
63a9b5b540 Should be able to write tests for units now.
Haha unit tests. Surely this won't get confusing.
2024-02-14 22:39:08 -05:00
d8714cbc1d Improved analyzer testing infrastructure 2024-02-14 22:06:10 -05:00
199da663e9 Parser now actually skims files 2024-02-14 18:49:59 -05:00
fb6cbe2c9d Improved the skim test case 2024-02-14 17:40:37 -05:00
9bfc3bf4c6 Add parser test case for skimming 2024-02-14 17:35:44 -05:00