Commit Graph

215 Commits

Author SHA1 Message Date
Connor Olding b97098a844 update readme etc. 2017-01-04 01:33:26 -08:00
Connor Olding ec76e37014 add \x escapes to strings...
also adds the plain \e escape and allows escapes in filenames.
2016-12-28 04:04:05 -08:00
Connor Olding 793a454b38 add a gameshark writer 2016-12-28 03:11:22 -08:00
Connor Olding af042efba1 update notes 2016-12-28 03:11:06 -08:00
Connor Olding 81f5f317bf handle the alternative names as well 2016-12-28 02:25:51 -08:00
Connor Olding 272ef0fbde implement addressing modes for fpu load/stores 2016-12-28 02:09:15 -08:00
Connor Olding b80fb49a22 allow _ in expr vars; tweak number matching 2016-12-01 10:31:55 -08:00
Connor Olding 63644df1bc lex the same number syntax in expressions 2016-12-01 10:19:09 -08:00
Connor Olding 9f6252117e allow comments after filenames
this is hack city but it will do until i refactor this crap
2016-11-29 09:58:08 -08:00
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.
2016-11-27 22:16:32 -08:00
Connor Olding e5cc5fd068 improve variable name checks 2016-11-27 22:01:15 -08:00
Connor Olding 635621de0d update notes 2016-11-27 21:49:46 -08:00
Connor Olding 63ddf558df parse variable definitions as expressions 2016-11-27 21:37:57 -08:00
Connor Olding 6bae5647c8 fix parsing of 0 in expressions 2016-11-27 21:25:57 -08:00
Connor Olding ab493693a9 add support for variables in expressions 2016-11-27 21:17:42 -08:00
Connor Olding 64ef102183 disallow variable names beginning with a number
this makes lexing easier.
i don't think this worked properly anyway.
2016-11-27 21:16:38 -08:00
Connor Olding de2618bb61 allow expressions in variable definitions 2016-11-27 21:01:30 -08:00
Connor Olding 067267c313 allow Preproc to throw errors again 2016-11-27 20:28:53 -08:00
Connor Olding 8aa3c58f8f allow expressions in instructions (whoops) 2016-11-27 20:14:36 -08:00
Connor Olding ad0269cc61 fix incbin parsing again 2016-11-27 20:03:26 -08:00
Connor Olding 3c1cbf0901 remove defunct comments 2016-11-27 20:03:26 -08:00
Connor Olding 437b816f85 refactor label resolution into its own method 2016-11-27 20:03:23 -08:00
Connor Olding 29ae63ed34 update notes 2016-11-27 15:34:52 -08:00
Connor Olding 2143128628 split Preproc expansion into Expander class 2016-11-27 15:14:51 -08:00
Connor Olding 3aa5d01a21 refactor some utility functions 2016-11-27 14:02:28 -08:00
Connor Olding fb2e588f79 move arg_types to TokenIter 2016-11-27 06:06:48 -08:00
Connor Olding 0d1527a773 refactor Muncher into separate TokenIter class
this also fixes lexing the EOL after an include directive.
2016-11-27 05:58:08 -08:00
Connor Olding e1ae1fdd64 optimize incbin via string passthru 2016-11-23 12:22:31 -08:00
Connor Olding 3d301d0a20 tweak notes a little more 2016-11-23 00:14:18 -08:00
Connor Olding 15bba61aae write notes on internal workings and potential improvements 2016-10-19 08:24:57 -07:00
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.
2016-10-14 09:27:19 -07:00
Connor Olding 575af689b5 fix loading labels with overflowed PC 2016-10-14 04:50:14 -07:00
Connor Olding 11b62bf9de fix a typo that broke table unpacking 2016-10-14 04:19:11 -07:00
Connor Olding dfd925e70f use the proper term for this (memoizing) 2016-10-14 03:34:00 -07:00
Connor Olding ef07b5b18e fix link to writers 2016-10-14 03:33:46 -07:00
Connor Olding 6548bd3e5b fix typos 2016-10-11 15:45:44 -07:00
Connor Olding 115bae0689 use LI for remaining CALL functionality 2016-05-18 03:07:08 -07:00
Connor Olding dcdfc22f0a implement basic CALL pseudo-instruction 2016-05-18 01:48:15 -07:00
Connor Olding 6a29dcd38d add TODO list 2016-05-14 03:55:33 -07:00
Connor Olding bfbe2845e6 actually implement path handling for .incasm 2016-05-14 03:27:30 -07:00
Connor Olding 1540062a6f clean up informat parsing a little 2016-05-13 07:57:39 -07:00
Connor 8c1537a650 Merge pull request #1 from CloudMax94/patch-1
Update README.md
2016-05-13 07:26:09 -07:00
Max Persson 0040292378 Update README.md 2016-05-13 16:23:05 +02:00
Connor Olding 0ec6b24531 use R# instead of REG# for registers 2016-05-10 17:18:17 -07:00
Connor Olding e4e8e16ea5 implement all branch pseudo-instructions 2016-05-08 15:21:16 -07:00
Connor Olding 8375eaff08 reimplement branch pseudos, remove branch-immediates for now 2016-05-01 16:31:09 -07:00
Connor Olding 51820234a8 allow VARSYMs in directives 2016-05-01 03:56:56 -07:00
Connor Olding b596405e76 add basic branch pseudos, add REG(REG) addressing 2016-05-01 02:04:27 -07:00
Connor Olding 03eb1b9ed5 pedanticism 2016-04-28 15:46:47 -07:00
Connor Olding 792bb63996 update readme 2016-04-27 16:10:50 -07:00