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
arookas
664d1e227e
Added constant-assignment exception.
2015-12-27 21:56:52 -05:00
arookas
eb636f2674
Added sanity check.
2015-12-27 21:05:38 -05:00
arookas
7e6c43d91e
Token class cleanup.
2015-12-27 21:05:25 -05:00
arookas
af2a00f225
Added open/close sanity checks.
2015-12-27 21:04:29 -05:00
arookas
a5ec72e1f9
Member field naming convention.
2015-12-27 21:03:38 -05:00
arookas
063a092730
Fixed: don't redeclare the builtin.
2015-12-27 21:00:21 -05:00
arookas
8f9e8b75f5
Revert "Add script-scope variables to the symbol table."
...
This reverts commit ee5cff3900
.
2015-12-23 20:38:47 -05:00
arookas
ee5cff3900
Add script-scope variables to the symbol table.
2015-12-23 20:30:07 -05:00
arookas
102f623cd1
Made ResolveVariableOrConstant less hacky.
2015-12-23 20:28:03 -05:00
arookas
c4532d85e7
Fixed: clear the tables and stacks from the previous operation.
2015-12-23 20:22:37 -05:00
arookas
c4fc1f9f4f
Added a clear function.
2015-12-23 20:21:58 -05:00
arookas
0ab5431c5f
Made variable symbols write a custom name.
2015-12-23 20:20:13 -05:00
arookas
684a8a3197
Made symbols write their table entries themselves.
...
This will allow for overriding the writing code for specific symbol
types.
2015-12-23 20:17:16 -05:00