8 Commits

Author SHA1 Message Date
Olaf Seibert
4fabe28497 Make .narg work
it should count only non-keyword (actual) arguments.
2015-05-14 14:33:54 +02:00
Olaf Seibert
e703403017 Bring .ENDM label in correspondence with the manual. 2015-05-12 22:59:21 +02:00
Olaf Seibert
74c2399c7d Remove some remaining logging. 2015-05-12 22:42:05 +02:00
Olaf Seibert
7e45c8a656 Change .ENDM name in self-redefining macros to be more forgiving
The original intent of the code, when faced with something like

	.MACRO	A
	.MACRO	B
	.ENDM	A

is to terminate the outer macro definition immediately.
However some macros redefine themselves, and that broke.
For now, detect self-redefinition and disable the early
end if there is one.

Since this does not match what's described on page 7-3,
this will change if it doesn't break my test cases.
2015-05-12 21:55:18 +02:00
Olaf Seibert
f75f5e1242 Change delimiters of local symbol blocks to be more like page 3-10 of the manual.
Also, to make Kermit sources work, only increase the local symbol block
counter if there actually was a local symbol used in the block.
This way, conditional inclusions (which include source text only in the
first pass) will have less potential for de-synchronisation between the
passes. After all, if the generated internal local symbol names do
not match, phase errors will result (showing themselves as strange label
redefinition problems).
2015-05-10 17:51:32 +02:00
Olaf Seibert
2bc55f39f3 Add debug flag to command line interpretation. 2015-05-10 17:39:38 +02:00
Toby Thain
7ab53debb8 Fix some warnings under clang. 2015-02-01 22:11:54 -05:00
Sergey Svishchev
6a2afc3fa7 Import J Hoppe's 20090427 release from http://retrocmp.com/tools/macro-11-on-windows 2013-02-15 23:50:38 +04:00