mirror of
https://github.com/netwide-assembler/nasm.git
synced 2025-01-24 16:35:40 +08:00
f24d975008
expand_one_smacro() would corrupt the end of the list if a macro expanded to another macro with arguments, which was also the last part of the expansion. Instead of doing all that testing with ttail, just scan forward at the end to find the tail pointer; it is O(n) regardless. Clean up the handling of tokens: use inline functions rather than odd macros that sometimes modify their arguments and sometimes don't, and fold some common code into new functions. The tok_is() and tok_isnt() functions always are used with single characters, so make it explicitly so (and remove the local hacks used in some places.) Allow using nasm_malloc() rather than blocked Tokens; this makes tools like valgrind more useful in their reports. For the future, consider making Tokens a separate memory allocation immediately followed by the text, instead of using a pointer; we allocate space for the string in almost every case anyway. Also consider making it a doubly linked list... Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com> |
||
---|---|---|
asm | ||
autoconf | ||
common | ||
config | ||
contrib | ||
disasm | ||
doc | ||
headers | ||
include | ||
macros | ||
misc | ||
Mkfiles | ||
nasmlib | ||
nsis | ||
output | ||
perllib | ||
rdoff | ||
stdlib | ||
test | ||
tools | ||
travis | ||
x86 | ||
.gitignore | ||
.travis.yml | ||
AUTHORS | ||
autogen.sh | ||
ChangeLog | ||
CHANGES | ||
configure.ac | ||
INSTALL | ||
LICENSE | ||
Makefile.in | ||
nasm.spec.in | ||
nasm.spec.sed | ||
nasm.txt | ||
ndisasm.txt | ||
README.md | ||
SubmittingPatches | ||
version | ||
version.pl |
NASM, the Netwide Assembler
Many many developers all over the net respect NASM for what it is: a widespread (thus netwide), portable (thus netwide!), very flexible and mature assembler tool with support for many output formats (thus netwide!!).
Now we have good news for you: NASM is licensed under the "simplified" (2-clause) BSD license. This means its development is open to even wider society of programmers wishing to improve their lovely assembler.
Visit our nasm.us website for more details. We are gradually moving services away from Sourceforge. For our remaining Sourceforge services see here.
With best regards, the NASM crew.