Connor Olding
0fdac556a8
fix specials like %lo and %hi
...
when I rewrote Muncher into TokenIter,
I removed the return value of self:advance(),
and forgot to handle this case that relied on it.
5 years ago
Connor Olding
8fbbf955ec
fix dead link to datasheet
6 years ago
Connor Olding
b97098a844
update readme etc.
6 years ago
Connor Olding
ec76e37014
add \x escapes to strings...
...
also adds the plain \e escape and allows escapes in filenames.
6 years ago
Connor Olding
793a454b38
add a gameshark writer
6 years ago
Connor Olding
af042efba1
update notes
6 years ago
Connor Olding
81f5f317bf
handle the alternative names as well
6 years ago
Connor Olding
272ef0fbde
implement addressing modes for fpu load/stores
6 years ago
Connor Olding
b80fb49a22
allow _ in expr vars; tweak number matching
6 years ago
Connor Olding
63644df1bc
lex the same number syntax in expressions
6 years ago
Connor Olding
9f6252117e
allow comments after filenames
...
this is hack city but it will do until i refactor this crap
6 years ago
Connor Olding
8546411e14
handle ; comments in variable definitions again
...
this is hacky but i don't wanna break existing code.
if you used // comments, then you'll have to change.
6 years ago
Connor Olding
e5cc5fd068
improve variable name checks
6 years ago
Connor Olding
635621de0d
update notes
6 years ago
Connor Olding
63ddf558df
parse variable definitions as expressions
6 years ago
Connor Olding
6bae5647c8
fix parsing of 0 in expressions
6 years ago
Connor Olding
ab493693a9
add support for variables in expressions
6 years ago
Connor Olding
64ef102183
disallow variable names beginning with a number
...
this makes lexing easier.
i don't think this worked properly anyway.
6 years ago
Connor Olding
de2618bb61
allow expressions in variable definitions
6 years ago
Connor Olding
067267c313
allow Preproc to throw errors again
6 years ago
Connor Olding
8aa3c58f8f
allow expressions in instructions (whoops)
6 years ago
Connor Olding
ad0269cc61
fix incbin parsing again
6 years ago
Connor Olding
3c1cbf0901
remove defunct comments
6 years ago
Connor Olding
437b816f85
refactor label resolution into its own method
6 years ago
Connor Olding
29ae63ed34
update notes
6 years ago
Connor Olding
2143128628
split Preproc expansion into Expander class
6 years ago
Connor Olding
3aa5d01a21
refactor some utility functions
6 years ago
Connor Olding
fb2e588f79
move arg_types to TokenIter
6 years ago
Connor Olding
0d1527a773
refactor Muncher into separate TokenIter class
...
this also fixes lexing the EOL after an include directive.
6 years ago
Connor Olding
e1ae1fdd64
optimize incbin via string passthru
6 years ago
Connor Olding
3d301d0a20
tweak notes a little more
6 years ago
Connor Olding
15bba61aae
write notes on internal workings and potential improvements
6 years ago
Connor Olding
cdc0f8edb2
add a barebones expression parser
...
at the moment, this probably only works in directives.
some of the operators are still unimplemented, and the errors are poor.
there will be support for accessing variables in the future.
6 years ago
Connor Olding
575af689b5
fix loading labels with overflowed PC
6 years ago
Connor Olding
11b62bf9de
fix a typo that broke table unpacking
6 years ago
Connor Olding
dfd925e70f
use the proper term for this (memoizing)
6 years ago
Connor Olding
ef07b5b18e
fix link to writers
6 years ago
Connor Olding
6548bd3e5b
fix typos
6 years ago
Connor Olding
115bae0689
use LI for remaining CALL functionality
7 years ago
Connor Olding
dcdfc22f0a
implement basic CALL pseudo-instruction
7 years ago
Connor Olding
6a29dcd38d
add TODO list
7 years ago
Connor Olding
bfbe2845e6
actually implement path handling for .incasm
7 years ago
Connor Olding
1540062a6f
clean up informat parsing a little
7 years ago
Connor
8c1537a650
Merge pull request #1 from CloudMax94/patch-1
...
Update README.md
7 years ago
Max Persson
0040292378
Update README.md
7 years ago
Connor Olding
0ec6b24531
use R# instead of REG# for registers
7 years ago
Connor Olding
e4e8e16ea5
implement all branch pseudo-instructions
7 years ago
Connor Olding
8375eaff08
reimplement branch pseudos, remove branch-immediates for now
7 years ago
Connor Olding
51820234a8
allow VARSYMs in directives
7 years ago
Connor Olding
b596405e76
add basic branch pseudos, add REG(REG) addressing
7 years ago