Commit Graph

548 Commits

Author SHA1 Message Date
Sasha Koshka
c65a307f4a Add the hello world test case 2024-02-26 13:46:30 -05:00
Sasha Koshka
da434f00b6 Add a test-data directory for compiler 2024-02-26 13:46:10 -05:00
Sasha Koshka
f42b76d5c1 Compiler now passes relatvive paths to fs.FS as it should 2024-02-26 12:50:49 -05:00
Sasha Koshka
33995288cc Much of the compiler now uses fs.FS instead of os 2024-02-26 11:46:59 -05:00
Sasha Koshka
a158f26120 Moved everything that should touch "os" to compiler.go 2024-02-26 11:36:16 -05:00
Sasha Koshka
515eb172a5 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
e55e332e17 Fixed doc for fsplc and fsplmod 2024-02-23 03:20:51 -05:00
Sasha Koshka
2fc272fccf Add a tool to manage modules 2024-02-23 01:41:36 -05:00
Sasha Koshka
7ad4bec332 Lexer skips over zero runes now 2024-02-23 01:08:58 -05:00
Sasha Koshka
0bbeeda319 Metadata.String quotes UUID 2024-02-23 00:24:09 -05:00
Sasha Koshka
3db6aa211e entity.Metadata now has String() 2024-02-23 00:18:46 -05:00
Sasha Koshka
a0f29f36f5 Cli now handles printing stuff 2024-02-22 21:24:07 -05:00
Sasha Koshka
779c50e961 Cli now displays usage information for subcommands correctly 2024-02-22 20:25:37 -05:00
Sasha Koshka
7e98950574 Update fsplc to use new cli features 2024-02-22 20:17:38 -05:00
Sasha Koshka
ea20d1d022 Update fsplc doc 2024-02-22 20:17:23 -05:00
Sasha Koshka
2a622a1db3 Add more functionality to cli package 2024-02-22 20:12:41 -05:00
Sasha Koshka
623bcabb84 Changed repository import paths 2024-02-22 19:22:53 -05:00
Sasha Koshka
7b9b45e5ac Changed go.mod version to 1.19 2024-02-21 13:49:46 -05:00
Sasha Koshka
4c6ff81c18 Reflected those changes in unit design doc 2024-02-21 13:46:26 -05:00
Sasha Koshka
7f31fc1547 Module search paths are more useful now 2024-02-21 13:45:51 -05:00
Sasha Koshka
a580d5d796 Merge branch 'implement-modules' 2024-02-21 13:27:35 -05:00
7f4e23fb71 Merge branch 'main' into implement-modules 2024-02-21 18:26:44 +00:00
Sasha Koshka
7d530772bf Updated compiler to use Resolver 2024-02-21 13:21:58 -05:00
Sasha Koshka
24a7995819 Add a "Resolver" that resolves unit addresses 2024-02-21 13:21:41 -05:00
Sasha Koshka
1ba6afef23 Compiler understands compiling to . 2024-02-20 01:48:18 -05:00
Sasha Koshka
bfee5ecc92 Compiler now only parses module files that end in .fspl 2024-02-20 01:39:07 -05:00
Sasha Koshka
c49e963310 cli package now prints out usage correctly 2024-02-20 01:27:26 -05:00
Sasha Koshka
6f429571ff Compiler is a bit more adaptable now 2024-02-20 01:23:00 -05:00
Sasha Koshka
3ef8ecca66 Oops haha, print statement. 2024-02-20 00:52:30 -05:00
Sasha Koshka
2cedeb9c0d The compiler now compiles 2024-02-20 00:52:23 -05:00
Sasha Koshka
12bf91d010 Updated generator tests 2024-02-19 23:05:30 -05:00
Sasha Koshka
49b6264ba4 Fixed generator map sorting 2024-02-19 21:57:21 -05:00
Sasha Koshka
c4873915bb Types are given proper link names in the generator 2024-02-19 21:09:21 -05:00
Sasha Koshka
66ee370f23 Generator now has module support 2024-02-19 21:00:20 -05:00
Sasha Koshka
34c6fcbd57 Documented how methods are named 2024-02-19 12:09:21 -05:00
Sasha Koshka
b6edaa0814 entity.Key now has an optional method field 2024-02-19 12:05:13 -05:00
Sasha Koshka
33b6414647 Move Key to Entity 2024-02-19 11:41:36 -05:00
Sasha Koshka
abb326bffc Fixed wording issue in design/units.md 2024-02-19 11:18:17 -05:00
Sasha Koshka
74c6d93151 Analyzer does not allow operations on restricted types 2024-02-17 00:19:13 -05:00
Sasha Koshka
dd09b86cb8 Analyzer does not allow literals to be assigned to restricted types 2024-02-17 00:12:32 -05:00
Sasha Koshka
f5bae2c231 Analyzer does not allow value casting of restricted types 2024-02-16 23:52:52 -05:00
Sasha Koshka
f0d42f996c Analyzer does not allow subscripting, slicing of restricted types 2024-02-16 23:10:38 -05:00
Sasha Koshka
a9522b5c20 Add more multi-unit test cases 2024-02-16 22:50:29 -05:00
Sasha Koshka
3039bdbaf7 Analyzer does not allow marking functions/methods as restricted 2024-02-16 22:31:38 -05:00
Sasha Koshka
6ea10c3783 Analyzer does not allow member access on restricted types 2024-02-16 22:26:22 -05:00
Sasha Koshka
ac56be4468 Analyzer does not allow calling behaviors of restricted iface 2024-02-16 22:19:47 -05:00
Sasha Koshka
e0cb31a85b Analyzer no longer thinks String is private 2024-02-16 22:13:30 -05:00
Sasha Koshka
ef2a2ab059 Analyzer now fills out this information 2024-02-16 13:51:11 -05:00
Sasha Koshka
1c6e179f0a Entity now stores unit and access information for types 2024-02-16 13:30:15 -05:00
Sasha Koshka
3ef9f404b1 Should also make sure ~ only applies to types 2024-02-16 13:09:48 -05:00