Commit Graph

752 Commits

Author SHA1 Message Date
Sasha Koshka 2edbd6c8b3 Split compiler_test.go into common file and test file 2024-02-26 14:04:37 -05:00
Sasha Koshka 76eed1153e Added test case for exit code 2024-02-26 14:03:10 -05:00
Sasha Koshka c28ea57777 Compiler test now holds output from compiler until end 2024-02-26 13:56:37 -05:00
Sasha Koshka 04420cb7d3 Compiler uses a default optimization level when unconfigured 2024-02-26 13:46:54 -05:00
Sasha Koshka a418baa113 Add the hello world test case 2024-02-26 13:46:30 -05:00
Sasha Koshka 27b11c0cdc Add a test-data directory for compiler 2024-02-26 13:46:10 -05:00
Sasha Koshka 6f9b6f07d9 Compiler now passes relatvive paths to fs.FS as it should 2024-02-26 12:50:49 -05:00
Sasha Koshka d2f4dcd8f3 Much of the compiler now uses fs.FS instead of os 2024-02-26 11:46:59 -05:00
Sasha Koshka 59d38d8c9d Moved everything that should touch "os" to compiler.go 2024-02-26 11:36:16 -05:00
Sasha Koshka aa07bee99d Moved Compiler.CompileUnit into another file
Need to be sure it is the only thing that can access OS files
2024-02-26 11:35:03 -05:00
Sasha Koshka c93f3916a1 Fixed doc for fsplc and fsplmod 2024-02-23 03:20:51 -05:00
Sasha Koshka 14b36bba1a Add a tool to manage modules 2024-02-23 01:41:36 -05:00
Sasha Koshka 3297f6671e Lexer skips over zero runes now 2024-02-23 01:08:58 -05:00
Sasha Koshka 1fd34731ff Metadata.String quotes UUID 2024-02-23 00:24:09 -05:00
Sasha Koshka bd4ed45a45 entity.Metadata now has String() 2024-02-23 00:18:46 -05:00
Sasha Koshka 4987ed0b4d Cli now handles printing stuff 2024-02-22 21:24:07 -05:00
Sasha Koshka 39f62a3d3f Cli now displays usage information for subcommands correctly 2024-02-22 20:25:37 -05:00
Sasha Koshka 367f4c5d34 Update fsplc to use new cli features 2024-02-22 20:17:38 -05:00
Sasha Koshka 793314fdd7 Update fsplc doc 2024-02-22 20:17:23 -05:00
Sasha Koshka 5ca80ded92 Add more functionality to cli package 2024-02-22 20:12:41 -05:00
Sasha Koshka 23052aa6f0 Changed repository import paths 2024-02-22 19:22:53 -05:00
Sasha Koshka 9d43ef75ee Changed go.mod version to 1.19 2024-02-21 13:49:46 -05:00
Sasha Koshka 418e013dda Reflected those changes in unit design doc 2024-02-21 13:46:26 -05:00
Sasha Koshka ddafa0935a Module search paths are more useful now 2024-02-21 13:45:51 -05:00
Sasha Koshka 24b15cfea6 Merge branch 'implement-modules' 2024-02-21 13:27:35 -05:00
Sasha Koshka bc9f1302b2 Merge branch 'main' into implement-modules 2024-02-21 18:26:44 +00:00
Sasha Koshka e4eb8c4e62 Updated compiler to use Resolver 2024-02-21 13:21:58 -05:00
Sasha Koshka 222dae2dac Add a "Resolver" that resolves unit addresses 2024-02-21 13:21:41 -05:00
Sasha Koshka 39d584bd1b Compiler understands compiling to . 2024-02-20 01:48:18 -05:00
Sasha Koshka d4a7420471 Compiler now only parses module files that end in .fspl 2024-02-20 01:39:07 -05:00
Sasha Koshka 108c89c18e cli package now prints out usage correctly 2024-02-20 01:27:26 -05:00
Sasha Koshka f0fbe6440a Compiler is a bit more adaptable now 2024-02-20 01:23:00 -05:00
Sasha Koshka 5890e6188b Oops haha, print statement. 2024-02-20 00:52:30 -05:00
Sasha Koshka 07ea408d4e The compiler now compiles 2024-02-20 00:52:23 -05:00
Sasha Koshka f06a0e29b9 Updated generator tests 2024-02-19 23:05:30 -05:00
Sasha Koshka 7600bc28d9 Fixed generator map sorting 2024-02-19 21:57:21 -05:00
Sasha Koshka a22b6137d5 Types are given proper link names in the generator 2024-02-19 21:09:21 -05:00
Sasha Koshka 306b029951 Generator now has module support 2024-02-19 21:00:20 -05:00
Sasha Koshka 2f2e762d02 Documented how methods are named 2024-02-19 12:09:21 -05:00
Sasha Koshka ff18aae2b6 entity.Key now has an optional method field 2024-02-19 12:05:13 -05:00
Sasha Koshka 4166fb8817 Move Key to Entity 2024-02-19 11:41:36 -05:00
Sasha Koshka d3df73e0ec Fixed wording issue in design/units.md 2024-02-19 11:18:17 -05:00
Sasha Koshka 569dd14f59 Analyzer does not allow operations on restricted types 2024-02-17 00:19:13 -05:00
Sasha Koshka 4b87551702 Analyzer does not allow literals to be assigned to restricted types 2024-02-17 00:12:32 -05:00
Sasha Koshka 9d009a1f64 Analyzer does not allow value casting of restricted types 2024-02-16 23:52:52 -05:00
Sasha Koshka 1b92c2cf81 Analyzer does not allow subscripting, slicing of restricted types 2024-02-16 23:10:38 -05:00
Sasha Koshka 3bc7467c85 Add more multi-unit test cases 2024-02-16 22:50:29 -05:00
Sasha Koshka ed282efdb7 Analyzer does not allow marking functions/methods as restricted 2024-02-16 22:31:38 -05:00
Sasha Koshka 654ba361e2 Analyzer does not allow member access on restricted types 2024-02-16 22:26:22 -05:00
Sasha Koshka 2d1b2bab43 Analyzer does not allow calling behaviors of restricted iface 2024-02-16 22:19:47 -05:00