1
0
mirror of https://github.com/cc65/cc65.git synced 2024-06-26 05:29:30 +00:00
Commit Graph

32 Commits

Author SHA1 Message Date
uz
eaa45269e7 First implementation of .UNDEF for deleting a macro.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5049 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-11 22:18:48 +00:00
uz
5db7604eff Don't allow too many nested macro expansions. Until now, it was possible to
send the assembler in an endless loop by a recursive macro without end
condition or a set of macros that called each other.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5038 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-07 21:17:35 +00:00
uz
f0a6653bd1 Added a comment about the fix explaining why the given order of calls is necessary.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5035 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-05 14:47:28 +00:00
uz
46f1285208 Fixed an error in macro expansion: If the first token after the macro name was
a .define style macro, the assembler run into an internal error, because the
expansion of the second macro was started before the first one


git-svn-id: svn://svn.cc65.org/cc65/trunk@5034 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-05 14:45:37 +00:00
uz
299a0ed4cd Pass type of line info through the object files.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4957 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-29 22:16:03 +00:00
uz
f0a0095c25 Create separate line infos for macros and .repeat statements and other token
lists. These are also output as diagnostic in case of an error.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4951 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-29 20:24:44 +00:00
uz
3b59a8ca6f Mark tokens with the file position from where they're read. Restore this
position for tokens read from a token list. This means that line info does
now show the actual point of definition. This is an improvement but needs to
be refined.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4911 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-20 20:54:30 +00:00
uz
ddb7296b6c Move all attributes and other information that is attached to a token into a
structure named Token.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4910 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-16 16:05:43 +00:00
uz
dbfae85f54 Renamed the Token enumeration to token_t.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4909 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-16 14:51:13 +00:00
uz
9971b645a5 Fixed some sloopy StrBuf coding.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4343 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-08 10:51:45 +00:00
cuz
9174f65e54 Make much more usage of dynamic strings (StrBufs) instead of char* and
friends. Since names and other strings are now StrBufs in many places, code
for output had to be changed.
Added support for string literals to StrBuf.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3825 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-03-31 20:54:45 +00:00
cuz
3894b074a6 Move more stuff from scanner.c into the new module token.c.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3801 b7a2c559-68d2-44c3-8de9-860c34a00d81
2007-08-28 21:14:21 +00:00
cuz
6662570a26 A local macro symbol with a cheap local name (@...) was not identified as
such.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3677 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-12-01 21:20:03 +00:00
cuz
a54556f9f2 Cheap local symbol in a macro .local statement were broken
git-svn-id: svn://svn.cc65.org/cc65/trunk@3412 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-03-22 20:09:29 +00:00
cuz
ab78147991 Fixed a small memory leak
git-svn-id: svn://svn.cc65.org/cc65/trunk@3018 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-05-10 21:06:53 +00:00
cuz
b10b7cd3e8 Fixed a problem with {} enclosed token lists and implemented them for
.blank and .tcount.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3014 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-05-09 20:24:51 +00:00
cuz
fdb685b874 Allow token lists to be optionally enclosed in curly braces. Using such
enclosement, tokens that would otherwise terminate the list can be part
of the list.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3013 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-05-09 19:45:07 +00:00
cuz
c3d510a9bc Add a new feature "ubiquitous_idents" that allows the use of instructions as
identifiers and macro names.


git-svn-id: svn://svn.cc65.org/cc65/trunk@2981 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-04-20 12:49:36 +00:00
cuz
44976a0461 Replace error/warning numbers by strings.
More work on address sizes and scoping.


git-svn-id: svn://svn.cc65.org/cc65/trunk@2620 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-08 17:20:21 +00:00
cuz
39ad3d6da0 Change API for the Compare function
git-svn-id: svn://svn.cc65.org/cc65/trunk@2573 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-10-23 14:54:58 +00:00
cuz
966dbc53d8 Use the new generic hash tables
git-svn-id: svn://svn.cc65.org/cc65/trunk@2561 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-10-22 19:13:21 +00:00
cuz
76d26ae0a9 Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@2227 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-06-27 15:46:20 +00:00
cuz
66f6093ae2 Fixed last fix
git-svn-id: svn://svn.cc65.org/cc65/trunk@1905 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-01-20 05:56:48 +00:00
cuz
b6c4ff2e01 Fixed problems that occured on input files with missing LF at end of file.
git-svn-id: svn://svn.cc65.org/cc65/trunk@1903 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-01-19 12:04:33 +00:00
cuz
9464c7dd29 Change the .LOCAL command so that the cheap local symbol prefix is kept.
This allows to create macros with local labels that expand to cheap local
symbols when the macro is expanded.
Tip from Dagan Galarneau <dagan@msd.com>


git-svn-id: svn://svn.cc65.org/cc65/trunk@1405 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-09-25 21:35:00 +00:00
cuz
91dac51780 Use __attribute ((unused)) instead of -Wno-unused-parameter
git-svn-id: svn://svn.cc65.org/cc65/trunk@988 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-30 22:19:39 +00:00
cuz
b02fbce931 Changed an error message
git-svn-id: svn://svn.cc65.org/cc65/trunk@854 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-01 19:13:36 +00:00
cuz
5ee8618510 Use the CHECK macros from the common dir
git-svn-id: svn://svn.cc65.org/cc65/trunk@251 b7a2c559-68d2-44c3-8de9-860c34a00d81
2000-08-01 15:17:43 +00:00
cuz
fbe694bca3 Added/finished .MID, .LEFT, .RIGHT
git-svn-id: svn://svn.cc65.org/cc65/trunk@136 b7a2c559-68d2-44c3-8de9-860c34a00d81
2000-07-08 14:01:43 +00:00
cuz
1081c1dcdd More common subroutines
git-svn-id: svn://svn.cc65.org/cc65/trunk@69 b7a2c559-68d2-44c3-8de9-860c34a00d81
2000-06-14 09:32:22 +00:00
cuz
522c7e8c46 Added a more generic way to push sources that deliver a token stream
independent of the actual input from the file. Change macro handling
to use the new input stack.
Fixed an error in FreeIf: If an unexpected .ENDIF was reached, the
assembler started an endless loop printing error messages.


git-svn-id: svn://svn.cc65.org/cc65/trunk@24 b7a2c559-68d2-44c3-8de9-860c34a00d81
2000-06-03 11:15:11 +00:00
uz
53dd513176 This commit was generated by cvs2svn to compensate for changes in r2,
which included commits to RCS files with non-trunk default branches.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3 b7a2c559-68d2-44c3-8de9-860c34a00d81
2000-05-28 13:40:48 +00:00