Connor Olding
d10c0f0ee9
use Base class pattern; extend off existing classes
2016-04-20 13:15:17 -07:00
Connor Olding
7ccc2b180f
rename "defines" to "variables"
...
this follows bass' terminology:
constants don't care where they're defined, but can never be changed.
variables must be defined before use, but can be redefined.
defines aren't necessarily numbers.
bass: https://github.com/ARM9/bass
2016-04-20 01:41:44 -07:00
Connor Olding
7af890c3b5
add 0o and 0b prefixes for lexing octal and binary
2016-04-20 01:16:19 -07:00
Connor Olding
67ce15feee
fail to lex 0X hex prefix in favor of lowercase 0x
...
you are a terrible person if you do this
2016-04-20 01:12:57 -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
b8601031f3
add named relative labels
2016-04-10 05:09:38 -07:00
Connor Olding
a58ad83c92
implement incbin directive
2016-04-10 04:03:00 -07:00
Connor Olding
b7831b49c3
be smarter about lexing spaces
2016-04-10 03:26:23 -07:00
Connor Olding
311b1e362f
implement offsets for constants
2016-04-10 03:25:11 -07:00
Connor Olding
3febafef02
fix parsing of files lacking a trailing newline
...
ensures files yield an EOL token before EOF
2016-03-13 20:27:13 -07: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
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
bf3f86e568
allow labels in WORD directives
2016-01-13 13:07:00 -08:00
Connor Olding
f8805e6deb
implement SPACE,HALF directive aliases
2016-01-13 11:41: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