Commit graph

272 commits

Author SHA1 Message Date
arookas
15421158b7 Fixed: find variable symbol by data, not index 2016-01-23 00:58:56 -05:00
arookas
df827b5acd Added AddSystemVariable. 2016-01-09 20:09:12 -05:00
arookas
bd39fdf380 Minor rewording. 2016-01-09 20:08:37 -05:00
arookas
6b47a372ed Renamed sunLoop to sunLoopNode. 2016-01-09 20:08:10 -05:00
arookas
31adcc5d6c Made system builtins properties instead of an enum. 2015-12-31 05:49:29 -05:00
arookas
4365a6b894 Fixed: close all call sites. 2015-12-31 05:43:45 -05:00
arookas
2f5bb18948 Added sbdump to project list. 2015-12-30 22:29:02 -05:00
arookas
e45a9473f8 Added the sbdump project. 2015-12-30 22:28:52 -05:00
arookas
d56bd81a0a Added preliminary sbdump code. 2015-12-30 22:27:03 -05:00
arookas
9f8f21c7bf Changed how system builtins are initialized. 2015-12-28 23:27:17 -05:00
arookas
ed4822ee29 Moved dump and print to common.sun. 2015-12-28 23:24:08 -05:00
arookas
72ea2a031c Renamed sunWriter writing methods to match the command names in TSpcInterp. 2015-12-28 20:35:16 -05:00
arookas
2ce9882cad Moved name labels to the statement production. 2015-12-28 20:19:12 -05:00
arookas
649e01b7c5 Fixed: removed [name_label] from if_statement.
IDK how that got there lol
2015-12-28 20:18:43 -05:00
arookas
75be2d41c1 Added a name-label stack.
Not like it really needs to be a stack, but just in case.
2015-12-28 20:16:12 -05:00
arookas
a7da66f9a9 Added a parameterless overload to Push. 2015-12-28 20:15:12 -05:00
arookas
814282fa0d Fixed: prevent recursive const definitions and assert for actual constancy. 2015-12-28 14:31:51 -05:00
arookas
54bd3618e3 Added expression analysis.
Also gave the AST cast nodes a base class while I was at it.
2015-12-28 14:22:54 -05:00
arookas
6be1779781 Added an error for constant expressions. 2015-12-28 14:20:44 -05:00
arookas
5f3c86669b Changed break/continue error messages. 2015-12-28 14:19:14 -05:00
arookas
7c9aa8fe89 Cleanup. 2015-12-28 14:17:09 -05:00
arookas
6997b75403 Renamed AnalyzeExpression. 2015-12-28 13:15:13 -05:00
arookas
bd7485924a Reformatting. 2015-12-28 12:34:19 -05:00
arookas
af3950c65e Fixed: missing commas to option table. 2015-12-28 12:33:42 -05:00
arookas
41f69f76bb Fixed: incorrect define name for variable packing. 2015-12-28 10:36:31 -05:00
arookas
2f9b251fd8 Cleanup.
TIL I can set the automatic formatting of opening braces in VS. What
have I been doing all this time??
2015-12-28 03:37:10 -05:00
arookas
f5394f56d0 Cleanup. 2015-12-28 03:13:30 -05:00
arookas
aa61439095 Renamed sunVariableAssignment. 2015-12-28 02:50:06 -05:00
arookas
af2255fbe5 Renamed sunConstDefinition. 2015-12-28 02:49:34 -05:00
arookas
d52ef38a89 Fixed: updated variable count in header. 2015-12-28 02:48:37 -05:00
arookas
500a784ab0 Added variable-allocation option. 2015-12-28 02:48:13 -05:00
arookas
1b514eecff Made variable-packing optional. 2015-12-28 02:47:49 -05:00
arookas
63740ea381 Fixed: hierarchy treated variable assignments as definitions in local counting. 2015-12-28 02:44:43 -05:00
arookas
72387d95eb Updated the assignment-operator compilation code. 2015-12-28 02:40:42 -05:00
arookas
de28ee84f9 Refactored declaration code. 2015-12-28 01:22:54 -05:00
arookas
fd21da0982 Fixed: don't count constants when calculating global/local counts. 2015-12-28 01:22:26 -05:00
arookas
d1d1a2a4a0 Added script- and function- roots. 2015-12-28 01:09:43 -05:00
arookas
372c622b84 Added storable and constant counts. 2015-12-28 00:59:26 -05:00
arookas
b387609a56 Cleanup. 2015-12-28 00:57:43 -05:00
arookas
3fd8c28230 Cleanup. 2015-12-28 00:50:52 -05:00
arookas
4d7898f723 Changed brace style. 2015-12-28 00:48:47 -05:00
arookas
237c6f746f Refactored variable- and constant- resolution. 2015-12-27 23:41:37 -05:00
arookas
61e0b220b4 Removed WriteSymbolTable and WriteStringTable. 2015-12-27 23:10:11 -05:00
arookas
80c4c94b28 Cleanup. 2015-12-27 22:58:15 -05:00
arookas
0794267ff0 Added DeclareConstant. 2015-12-27 22:57:06 -05:00
arookas
c8056ac960 Cleanup. 2015-12-27 22:54:18 -05:00
arookas
4d947f5b6f Cleanup. 2015-12-27 22:51:42 -05:00
arookas
402459d997 Removed DeclareParameter. 2015-12-27 22:48:44 -05:00
arookas
e9ee07f15c Removed unusedd sunConstInfo class. 2015-12-27 22:48:17 -05:00
arookas
0840a33f9b Complete rewrite of the symbol resolution API.
- Constants are now symbols alongside variables in the "storable" symbol
class.
- Added Resolve* and MustResolve* versions in the new symbol-resolution
API.
- Moved storable-symbol compilation code out of the AST classes and into
the respective symbol classes. Storable symbols have extra compile
methods for get, set, increment, and decrement operations.
- Adapted the scope class accordingly.
- Added checks against assignment to constant symbols (which all throw
sunAssignConstantException).
2015-12-27 22:39:55 -05:00