mirror of
https://github.com/netwide-assembler/nasm.git
synced 2025-03-25 18:10:23 +08:00
We simply allow the following terminals to be concat'ed if they are written without space or any other separator inbetween. a := id | preproc-id | number | float | other b := id | preproc-id | number | float | other if match(a,b): s := concat(a,b) re-tokenize(s) Basically it means it's up to code author to write preproc code a way the sane production appears. Some notes. 1) We don't concat strings. 2) The 'weirdpaste' test fails now because with relaxed rules it works as needed and was borken before. The lacmus snippet is %define N 1e%++%+ 5 dd N, 1e+5 Previously the output was dd 1e+%+ 5, 1e+5 which is wrong since we have explicit concat here with %+ operator. The new code production is correct and looks like dd 1e+5, 1e+5 as expected. Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
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. The NASM project is now situated at SourceForge.net, the most popular Open Source development site on the Internet. Visit our website at http://nasm.sourceforge.net/ and our SourceForge project at http://sourceforge.net/projects/nasm/ See the file CHANGES for the description of changes between revisions, and the file AUTHORS for a list of contributors. With best regards, NASM crew.
Description
Languages
Assembly
61.7%
C
31.7%
Perl
3.2%
Makefile
0.8%
M4
0.7%
Other
1.9%