Commit graph

213 commits

Author SHA1 Message Date
arookas
085e04798e Added symbol table cleaning functions 2016-02-01 19:18:19 -05:00
arookas
675f2ab4a7 Moved local identifiers to resolver and AST
Now the local identifier is associated with each node so symbols in
function bodies (which are compiled long after the associated
sunScriptFile instances are closed) can be mangled correctly.
2016-02-01 19:17:56 -05:00
arookas
04aba6938b Added overloads to the mangling function 2016-02-01 19:15:55 -05:00
arookas
116aa7996f Removed local stack from context
Now the mangle function requires the local identifier being passed
directly.
2016-02-01 19:15:21 -05:00
arookas
ba559b3fa3 Compile only used functions/builtins
Uses iteration as to properly detect functions called only from within
other functions (which appear unused from the global scope).
2016-02-01 15:53:14 -05:00
arookas
dc559130bf Added RemoveAt function 2016-02-01 15:50:56 -05:00
arookas
db6739be42 Refactored mangling function
Utilizes a string builder instead of shitty String.Concat trickery
2016-02-01 15:50:46 -05:00
arookas
1d324baf9d Added indexer 2016-02-01 15:41:31 -05:00
arookas
f76c5126b9 Moved compilation steps to their own functions 2016-02-01 15:06:35 -05:00
arookas
37280f45d2 Added remove function 2016-02-01 14:58:55 -05:00
arookas
e12607790f Added compile-count property to callable symbols 2016-02-01 14:58:40 -05:00
arookas
08ca27a4b9 Added clean-symbols option
Going to add the actual logic for it later
2016-02-01 14:23:24 -05:00
arookas
b147006ffe Removing packed variables mode
I halfway did it in dc223e5. Here's the other half. Also some minor
cleanup/refactoring as per usual.
2016-02-01 14:16:10 -05:00
arookas
30c3f6f19c Cleanup 2016-02-01 14:14:09 -05:00
arookas
76b57ca3f8 Fixed: code gen for system builtins 2016-02-01 14:04:57 -05:00
arookas
193374ae50 Fixed: close all relocations, not just callsites 2016-02-01 14:04:29 -05:00
arookas
dc223e5c26 Fixed: correctly resolve storable symbols 2016-02-01 14:03:56 -05:00
arookas
6f1dec212b Remove space from file name 2016-02-01 14:02:56 -05:00
arookas
53a50fb62c Added CreateCallSite
Similar to what I had before. Gonna be utility for sunFunctionCall.
2016-02-01 12:45:12 -05:00
arookas
d384899888 Made variables open relocations
This automatically makes it be able to detect if the variable is used at
all, as well, as HasRelocations will be false if none of these have
executed.
2016-02-01 12:39:30 -05:00
arookas
39617cbaf7 Fixed: leftover override 2016-02-01 12:38:12 -05:00
arookas
485c703f20 Made display and index writable 2016-02-01 12:33:25 -05:00
arookas
c3e358adba Moved call-site behavior to base class 2016-02-01 12:33:04 -05:00
arookas
436718ecf0 Added relocation types 2016-02-01 12:24:57 -05:00
arookas
8c655bb110 Changed WriteCALL functions
Changed sunPoint to a plain uint so one can manually place their own
dummy offset if needbe, without using the point system.
2016-02-01 12:20:55 -05:00
arookas
07646b11b3 Minor cleanup 2016-02-01 11:45:52 -05:00
arookas
8e093a98c7 Minor cleanup
Now it constructs the context and parser only once.
2016-02-01 06:30:32 -05:00
arookas
9373c59c44 Minor cleanup 2016-02-01 06:23:59 -05:00
arookas
f00b7c4296 Fixed: construct file instance with absolute path
Before it was set to the local name (from the import statement), and
then would fail because the code compares them to the full path later.
2016-02-01 06:23:31 -05:00
arookas
03fb7c20b4 Fixed: fully qualify the path 2016-02-01 06:21:01 -05:00
arookas
4d86f6449b Normalize path delimiters 2016-02-01 06:17:22 -05:00
arookas
bb28e47117 Fixed: const callables still flagged expressions as dynamic 2016-02-01 06:02:21 -05:00
arookas
4aebe57432 Fixed: return null instead of throwing an exception 2016-02-01 05:51:04 -05:00
arookas
5292b55078 Fixed: default kept state between compilations
I know having a property return an instance every call is not a good
design. I get it.
2016-02-01 05:48:12 -05:00
arookas
8246538bbb Ensure the seed is an integer 2016-02-01 05:44:29 -05:00
arookas
b71a38bb34 Fixed: use the current local number 2016-02-01 05:34:56 -05:00
arookas
7fca910e8e Fixed: variables were always declared global 2016-02-01 05:34:22 -05:00
arookas
b3a347936e Added modifier lists to AST 2016-02-01 05:03:44 -05:00
arookas
cf5915222e Removed casting builtin properties 2016-02-01 05:03:18 -05:00
arookas
ec2162f752 Fixed: incorrect indices 2016-02-01 05:03:02 -05:00
arookas
3e0a2dc403 Fixed: removed cast keywords 2016-02-01 04:57:29 -05:00
arookas
25c3853309 Changed declare/define functions 2016-02-01 04:57:07 -05:00
arookas
6f74979d61 Gave sunIdentifier properties a consistent name 2016-02-01 04:56:22 -05:00
arookas
91588fae63 Fixed: builtins can't be local 2016-02-01 04:46:43 -05:00
arookas
f5af232ed4 Added modifier properties 2016-02-01 04:43:14 -05:00
arookas
780345863e Added return value to WriteJmp 2016-02-01 04:41:06 -05:00
arookas
f8a945b757 Removed spaces from file names 2016-02-01 04:37:15 -05:00
arookas
7157e79e78 Cleanup 2016-02-01 03:27:32 -05:00
arookas
4999467b29 Made the state variable local 2016-02-01 03:27:16 -05:00
arookas
723b8b64c9 Moved int/float/typeof to the standard library 2016-02-01 03:26:44 -05:00