1
0
Fork 0
mirror of https://github.com/notwa/lips synced 2024-11-14 18:39:02 -08:00
Commit graph

209 commits

Author SHA1 Message Date
b80fb49a22 allow _ in expr vars; tweak number matching 2016-12-01 10:31:55 -08:00
63644df1bc lex the same number syntax in expressions 2016-12-01 10:19:09 -08:00
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
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
e5cc5fd068 improve variable name checks 2016-11-27 22:01:15 -08:00
635621de0d update notes 2016-11-27 21:49:46 -08:00
63ddf558df parse variable definitions as expressions 2016-11-27 21:37:57 -08:00
6bae5647c8 fix parsing of 0 in expressions 2016-11-27 21:25:57 -08:00
ab493693a9 add support for variables in expressions 2016-11-27 21:17:42 -08:00
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
de2618bb61 allow expressions in variable definitions 2016-11-27 21:01:30 -08:00
067267c313 allow Preproc to throw errors again 2016-11-27 20:28:53 -08:00
8aa3c58f8f allow expressions in instructions (whoops) 2016-11-27 20:14:36 -08:00
ad0269cc61 fix incbin parsing again 2016-11-27 20:03:26 -08:00
3c1cbf0901 remove defunct comments 2016-11-27 20:03:26 -08:00
437b816f85 refactor label resolution into its own method 2016-11-27 20:03:23 -08:00
29ae63ed34 update notes 2016-11-27 15:34:52 -08:00
2143128628 split Preproc expansion into Expander class 2016-11-27 15:14:51 -08:00
3aa5d01a21 refactor some utility functions 2016-11-27 14:02:28 -08:00
fb2e588f79 move arg_types to TokenIter 2016-11-27 06:06:48 -08:00
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
e1ae1fdd64 optimize incbin via string passthru 2016-11-23 12:22:31 -08:00
3d301d0a20 tweak notes a little more 2016-11-23 00:14:18 -08:00
15bba61aae write notes on internal workings and potential improvements 2016-10-19 08:24:57 -07:00
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
575af689b5 fix loading labels with overflowed PC 2016-10-14 04:50:14 -07:00
11b62bf9de fix a typo that broke table unpacking 2016-10-14 04:19:11 -07:00
dfd925e70f use the proper term for this (memoizing) 2016-10-14 03:34:00 -07:00
ef07b5b18e fix link to writers 2016-10-14 03:33:46 -07:00
6548bd3e5b fix typos 2016-10-11 15:45:44 -07:00
115bae0689 use LI for remaining CALL functionality 2016-05-18 03:07:08 -07:00
dcdfc22f0a implement basic CALL pseudo-instruction 2016-05-18 01:48:15 -07:00
6a29dcd38d add TODO list 2016-05-14 03:55:33 -07:00
bfbe2845e6 actually implement path handling for .incasm 2016-05-14 03:27:30 -07:00
1540062a6f clean up informat parsing a little 2016-05-13 07:57:39 -07:00
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
0ec6b24531 use R# instead of REG# for registers 2016-05-10 17:18:17 -07:00
e4e8e16ea5 implement all branch pseudo-instructions 2016-05-08 15:21:16 -07:00
8375eaff08 reimplement branch pseudos, remove branch-immediates for now 2016-05-01 16:31:09 -07:00
51820234a8 allow VARSYMs in directives 2016-05-01 03:56:56 -07:00
b596405e76 add basic branch pseudos, add REG(REG) addressing 2016-05-01 02:04:27 -07:00
03eb1b9ed5 pedanticism 2016-04-28 15:46:47 -07:00
792bb63996 update readme 2016-04-27 16:10:50 -07:00
16cb504443 add DMOV L.D L.S S.D S.S pseudo-instructions 2016-04-27 16:04:43 -07:00
9192a655f7 add a really basic test 2016-04-26 21:38:29 -07:00
0678d3eb58 move word_writer to lips.writers, add others 2016-04-26 21:34:05 -07:00
027b5d9deb fix options.origin (obvious typo) 2016-04-26 15:15:00 -07:00
6b0d27ba6d allow 1 register in place of 2, pseudo stuff…
allow CL to take more than one argument.
implement pseudo-instructions NEGU, SGT, and SGTU.
2016-04-26 02:36:19 -07:00
f3765a0300 fix incbin directive 2016-04-24 13:19:18 -07:00