arookas
64d5c57d34
Fixed: another minor typo
...
Damn, it's always this code example, isn't it? Ugh.
2016-02-16 04:35:52 -05:00
arookas
54d59d3fae
Fixed: typo
2016-02-13 23:02:16 -05:00
arookas
306cb5f5fd
Added full data/symbol table information to results
...
I felt this is better than having 5 count properties.
2016-02-13 18:32:53 -05:00
arookas
5de905e9e5
Added clean-functions option
2016-02-13 18:15:18 -05:00
arookas
a51c5d9e8b
Changed filter to a direct if statement
...
I don't like the "filter {}" shit
2016-02-13 18:14:23 -05:00
arookas
cbbb17b9cf
Updated binary documentation
...
As to reflect the recent changes in the point system.
2016-02-12 23:02:30 -05:00
arookas
aeb22bc4ed
Major rewrite of relocation and point systems
...
- Instead of two overloads for JNE and JMP, the relocation overload is
now implemented as an actual relocation (sunJumpNotEqualSite and
sunJumpSite, respectively).
- sunPoint is completely removed, replaced with simple uint.
- Relocations are now associated with a particular binary, instead of
specifying it per relocation.
- Break points and continue points are now relocations, rather than raw
offsets.
- Minor cleanup
2016-02-12 22:58:48 -05:00
arookas
5658eff03f
Minor cleanup
2016-02-12 22:53:51 -05:00
arookas
743598e148
Updated compilation documentation
2016-02-12 22:53:32 -05:00
arookas
a4e0af193e
Updated arookas library
...
Now it uses the public repository, making syncing updates much easier.
2016-02-12 22:53:18 -05:00
arookas
7af004c617
Removed arookas library files
...
Going to add a dependency on the public repo soon
2016-02-12 22:40:06 -05:00
arookas
75cde56e2c
Added lib-dir premake option
2016-02-12 22:39:25 -05:00
arookas
faeac9bb4e
Fixed: grammar bug with name labels
2016-02-12 21:31:38 -05:00
arookas
77e5b1f858
Renamed to sunSymbolRelocation<TSymbol>
2016-02-10 21:26:20 -05:00
arookas
0680e9778b
Renamed to sunSpcBinarySection
2016-02-10 21:23:24 -05:00
arookas
636bcbc3a0
Added extension documentation
...
Man, I hate writing documentation. I feel like this should be on a wiki
instead, but fuck creating one right now.
2016-02-07 19:02:39 -05:00
arookas
aba59feba4
Removed unused WriteSymbol overload.
2016-02-07 18:54:39 -05:00
arookas
99ef85deb3
Renamed resolver API methods
2016-02-07 17:02:34 -05:00
arookas
2bab0f4389
Added binary parameter
2016-02-07 16:29:03 -05:00
arookas
3401e82667
Fixed: use the field, not the property
2016-02-07 16:20:01 -05:00
arookas
4d7c1da517
Made sunBinary extendable
...
Now custom binary types are possible
2016-02-07 16:19:23 -05:00
arookas
b7126c1334
Added sunPoint and sunSymbolType public
2016-02-07 16:18:40 -05:00
arookas
e90ecf89a8
Added reverse implicit operator to sunPoint
2016-02-07 01:04:29 -05:00
arookas
4a1f0ec855
Refactored out count/filter properties
...
I find using the Get<T> and GetCount<T> methods better (even though the
naming convention sucks ass) in that it automatically supports any and
all future symbol types I may add in the future.
2016-02-07 00:47:53 -05:00
arookas
ca7057bf02
Added useful debug instruction output
...
Now the debug output will log all instructions written, their current
offset, and their arguments
2016-02-05 08:34:29 -05:00
arookas
2438e00383
Fixed: restore writer position after relocations
...
Damn, this was a nasty bug to find.
2016-02-05 08:33:15 -05:00
arookas
fefb17524c
Only write MKFR if there are actually locals
...
Saves a single instruction, but only sometimes. Woo!
2016-02-05 01:55:48 -05:00
arookas
9749b81452
Got rid of scopes (for now)
...
The remnants of the previous sub-scope implementation is now hidden
behind a dummy preprocessor symbol. I don't know if I'll add it back,
but it'll at least be a while. The byte code and symbol table just don't
like it.
2016-02-05 01:52:56 -05:00
arookas
8ff73fe0f4
Made PushLoop protected
2016-02-04 16:35:32 -05:00
arookas
fe69761fc9
Removed unused WriteCALL overload
2016-02-04 00:54:40 -05:00
arookas
7a81a4db2c
Made use of the null return value
2016-02-03 23:22:54 -05:00
arookas
908ceedc58
Whoops, forgot to commit this in e8c2b09
...
Now you CAN actual use address literals, at least in expressions.
Whippee, look 'ma, I can use git! 👍
2016-02-03 23:04:02 -05:00
arookas
e8c2b09105
Added address literals
...
I don't know why someone would want to use a pointer literal in a
script, but now you can because there's an opcode for it and fuck it.
2016-02-03 23:02:25 -05:00
arookas
05c8bce662
Added IEnumerable implementation
2016-02-03 22:44:28 -05:00
arookas
c1dc527007
Fixed: ADR command is unsigned
...
Which reminds me that I need to add address literals to the grammar so ssc can actually output this opcode...
2016-02-02 23:33:53 -05:00
arookas
15a5e254b6
Fixed: minor typo in code example
2016-02-02 19:17:29 -05:00
arookas
c95411a83b
Updated language documentation
2016-02-02 12:21:37 -05:00
arookas
63c5abc42d
Removed var-alloc premake option
...
I'll add it back later once there is a better configuration for variable
allocation.
2016-02-02 01:38:04 -05:00
arookas
12f8ba2fc6
Added overload to variable-symbol constructor
2016-02-01 20:41:55 -05:00
arookas
e76205afea
Minor refactoring
2016-02-01 20:31:54 -05:00
arookas
b68f22180d
Removed space from file name
2016-02-01 20:28:40 -05:00
arookas
d00036ff8e
Clean variable symbols as well
...
Even though it is kind of ass (a variable is considered used even if it
simply has a single definition statement)...
2016-02-01 20:26:02 -05:00
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