1
0
Fork 0
mirror of https://github.com/notwa/lips synced 2024-05-02 17:43:23 -07:00
Commit Graph

34 Commits

Author SHA1 Message Date
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 f851540b24 various fixes, mostly for labels
reimplement modulo by 0x80000000 for labels.
allow numeric label values ("REL") to be "fixed" to bypass label calculation.
add offsets after label calculation instead of before.
properly check for EOL after all expected arguments have been exhausted.
finally, add token properties to debug dumps.
2016-04-24 03:55:12 -07:00
Connor Olding 694f09c9e0 clean up some of my mess 2016-04-21 03:35:17 -07:00
Connor Olding bf439cafb3 cleanup some dead code 2016-04-21 02:10:12 -07:00
Connor Olding c8f28bbbfb reimplement Dumper; lips is mostly working again 2016-04-21 01:54:04 -07:00
Connor Olding 14e397a7a8 get a bunch of overrides working again 2016-04-21 00:28:50 -07:00
Connor Olding acb5a3a6df assemble some arguments that aren't registers again 2016-04-20 21:23:32 -07:00
Connor Olding 027485543c assemble basic instructions again 2016-04-20 20:55:28 -07:00
Connor Olding 433d25a457 reimplement variables and relative labels 2016-04-20 18:26:18 -07:00
Connor Olding 486ccb99af begin refactor; add statement collection 2016-04-20 16:23:44 -07:00
Connor Olding c47136442e don't use coroutines for lexing
this turned out to be unnecessary,
and some flavors of Lua don't even have coroutines!
2016-04-20 13:15:17 -07:00
Connor Olding a655e67bd3 fix align/skip fill value overflow 2016-04-20 13:15:17 -07:00
Connor Olding d10c0f0ee9 use Base class pattern; extend off existing classes 2016-04-20 13:15:17 -07:00
Connor Olding e593ea0c68 add comments and such 2016-04-20 13:15:14 -07:00
Connor Olding 59994cd15d fix binary lexing; add comments 2016-04-20 01:12:18 -07:00
Connor Olding 071169df48 redo internal paths/requires 2016-04-14 07:33:33 -07:00
Connor Olding a9b702114a allow importing/exporting of labels 2016-04-10 06:52:20 -07:00
Connor Olding a58ad83c92 implement incbin directive 2016-04-10 04:03:00 -07:00
Connor Olding 311b1e362f implement offsets for constants 2016-04-10 03:25:11 -07:00
Connor Olding 4b8af13e78 fix align directive with arguments 2016-04-02 08:05:05 -07:00
Connor Olding 260db0ba9e fix a couple regressions 2016-01-16 10:51:13 -08:00
Connor Olding 07c68b6229 implement basic specials; more refactoring 2016-01-15 20:34:37 -08:00
Connor Olding 195236a52c begin work on specials; big refactor 2016-01-15 11:15:02 -08:00
Connor Olding c0c4d81b5a handle parenthesis after lexing instead 2016-01-15 07:49:43 -08:00
Connor Olding 659bec36f8 reimplement defines
defines now resolve to the previous definition, rather than the lastmost.
also, defines are invisible to the parser now.
2016-01-14 17:29:45 -08:00
Connor Olding 61cd69004f split out token-handling and preprocessing 2016-01-14 16:31:24 -08:00
Connor Olding 1eed93f2e7 add filenames to Dumper errors 2016-01-14 11:33:53 -08:00
Connor Olding fffe542d10 fix most line numbers in errors
this might be a bit of a hack;
i feel like nextc() should always happen after yield(),
not a mix of before and after.
2016-01-14 10:32:08 -08:00
Connor Olding 996d148ed5 fix usage of fpu/sys registers 2016-01-13 14:45:55 -08:00
Connor Olding e21dbc72e6 reimplement addressing modes
this allows labels as offsets
and implied offsets of 0
2016-01-13 14:31:58 -08:00
Connor Olding bf3f86e568 allow labels in WORD directives 2016-01-13 13:07:00 -08:00
Connor Olding a47c924e75 implement ascii/asciiz directives, basic string lexing 2016-01-13 11:18:36 -08:00
Connor Olding 9fd46b571f set up as a proper module; fix some stuff 2016-01-13 07:40:14 -08:00