uz
b8549f0af8
Complete redesign of line info generation. Uses spans instead of a fragment
...
list as before.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5162 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-14 19:23:16 +00:00
uz
241afdc738
Don't search twice for a macro.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5075 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-07-08 09:22:26 +00:00
uz
d18fd210aa
The line counter got confused for lines with more than 256 chars. Removed the
...
restriction alltogether, so lines with arbitrary length should be handled
correctly. Not that it is of much use for an assembler, but this has really
been a somewhat ancient limitation.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5072 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-07-07 20:07:29 +00:00
uz
d1426aaa43
Finished implemenation of commands to delete macros. Added the new commands to
...
the docs.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5050 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-12 21:29:07 +00:00
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
15fc094c7a
Add recursive scanning for .define style macros: Replacement using .define is
...
done not only when the macro is parsed, but also when it is expanded.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5045 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-08 21:09:40 +00:00
uz
1072edb0d8
Use line infos to output more verbose error and warning messages whenever
...
possible.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4950 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-29 18:43:36 +00:00
uz
b2b1edc4ab
Actually generate basic line info.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4928 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-27 16:39: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
839e2c4202
Added new .FATAL pseudo op.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4903 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-01-09 11:00:22 +00:00
uz
125ab37c09
Added relative include path handling: The path of an input file is now pushed
...
onto the search path list, so include files will be searched relative to this
path first.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4676 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-05-30 13:31:09 +00:00
uz
05f7296369
Restructured search path handling.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4662 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-05-09 10:54:15 +00:00
uz
3fd52eb57f
Added dependency file generation to the assembler. This includes two new
...
options, --create-dep and --create-full-dep. The latter will include files
that are passed via debug info to the assembler.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4653 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-05-01 11:59:55 +00:00
uz
bfd8f4e108
Implemented new .PUSHCPU and .POPCPU commands.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4644 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-04-18 18:47:16 +00:00
uz
61b69316c5
Added builtin .min() and .max() pseudo functions to the assembler.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4583 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-02-11 18:54:08 +00:00
uz
79820fe4ec
Added a separate include search path for binary includes. These aren't
...
searched any longer in the standard include path.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4558 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-01-25 20:33:01 +00:00
uz
2b15f40424
Use the new AddrSizeFromStr function.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4051 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-27 14:19:47 +00:00
uz
8e8993de7e
Support for the .BANKBYTES, .LOBYTES and .HIBYTES pseudo functions contributed
...
by Kevin Schuetz <scrapdog@runbox.com>.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3965 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-05-18 16:11:34 +00:00
uz
b607a61866
"S" is a keyword in 65816 mode only.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3958 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-03-06 09:56:22 +00:00
uz
30f88d2646
Avoid spurious subsequent errors if an include file wasn't found.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3908 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-01-18 15:07:55 +00:00
uz
5d4790a137
Enable use of new C like comments only if the new feature "c_comments" is
...
enabled.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3889 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-08-21 19:35:39 +00:00
uz
9f7fc6f4c8
Added C like /* */ comments.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3888 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-08-19 21:26:23 +00:00
cuz
225e1ca58e
More fixes for Watcom C / C89.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3829 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-03-31 21:28:50 +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
0b4a94a65e
Preparation for introducing token sources.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3798 b7a2c559-68d2-44c3-8de9-860c34a00d81
2007-08-27 20:39:02 +00:00
cuz
b6cb833560
Don't check for open .IF clauses when reaching the end of pushed input data.
...
This will allow to write macros that contain open .IFs.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3740 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-05-21 11:23:22 +00:00
cuz
84706bd2d5
Fixed portability problems with va_copy. In three places, calls to fstat
...
had to be replaced by calls to stat, because fileno is no longer available
when forcing the compiler into pure c89 (or c99) mode.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3683 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-12-11 12:40:51 +00:00
cuz
69485b5000
Fixed a problem with --feature labels_without_colons: The scanner inserts
...
a space at the beginning of a new file, with the assumption that this is a
"neutral" character. If above feature is enabled, it is no longer neutral,
so read the first character from the new input instead.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3650 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-11-20 12:30:24 +00:00
cuz
2a19f6b700
Fixed minor and rather obscure problem: When including files, the line after
...
the .include statement went into the listing file, before the contents of
the include file. The problem was caused by the several levels of lookahead
in the scanner, and the only way to avoid it was to remove the calls to
NextTok () in relevant places - and add compensation for it in others.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3609 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-08-31 21:29:11 +00:00
cuz
945bbe2b50
Added variable symbols using .set
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3510 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-05-11 08:31:42 +00:00
cuz
765dc3442b
New .sprintf function
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3508 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-05-10 15:42:32 +00:00
cuz
76d94bc8d9
Added a .IDENT function
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3506 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-05-09 18:57:03 +00:00
cuz
d204e4a1ad
Added zilog/intel style hex numbers
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3242 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-11 19:01:51 +00:00
cuz
7d0eb0d3ff
Added new CPU SWEET16
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3208 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-03 21:26:00 +00:00
cuz
777dcff9bf
New condes type interruptor
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3187 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-09-20 10:15:01 +00:00
cuz
9b2834ef7e
Improve handling of files with foreign newline sequences.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3163 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-07-18 08:46:12 +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
5c63b08d26
New feature missing_char_term
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@2964 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-29 15:58:34 +00:00
cuz
96f96a5bde
Identifiers starting with a dot could not be used as namens for .define
...
style macros, even with --leading_dots_in_identifiers. This was also true
for symbols with one character names and without a leading dot.
git-svn-id: svn://svn.cc65.org/cc65/trunk@2882 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-02-22 11:34:29 +00:00
cuz
fd102deb77
New pseudo functions: .LOBYTE, .HIBYTE, .BANKBYTE, .LOWORD, .HIWORD
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@2731 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-12 15:59:44 +00:00
cuz
c5cc4e1536
Don't use SF_TRAMPOLINE, change symbol references instead.
...
In smart mode, use RTL instead of RTS if the enclosing .PROC is far.
More address size changes.
git-svn-id: svn://svn.cc65.org/cc65/trunk@2696 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-29 07:53:26 +00:00
cuz
cd918a387c
Temp fix for some address size problems
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@2674 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-18 20:50:55 +00:00
cuz
57cc152ad6
Added .SIZEOF
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@2671 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-17 17:59:30 +00:00
cuz
0e392b79bd
Added enums
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@2665 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-14 09:03:32 +00:00
cuz
20608c81ce
Added structs and unions, more work on scopes and expressions
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@2662 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-13 22:03:24 +00:00
cuz
ba68b5f87a
More work on expressions and address sizes
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@2658 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-13 00:21:31 +00:00
cuz
4555fdcad1
Rewrote expression evaluation. More smaller changes.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@2638 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-11 13:57:30 +00:00