Cyrill Gorcunov cb00cd1ba7 BR3288901: Relax concat rules in preprocessor code
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>
2011-06-25 12:03:36 +04:00
2011-04-06 19:12:17 +04:00
2010-04-25 12:02:38 +04:00
2010-04-01 01:17:00 +04:00
2010-05-07 13:42:09 -07:00
2010-11-21 19:19:29 +03:00
2009-09-14 23:17:03 +04:00
2010-11-07 17:20:23 +01:00
2011-06-22 18:20:28 -07:00
2010-06-15 10:47:16 -07:00
2010-11-20 14:20:38 +03:00
2011-06-22 18:19:28 -07:00
2009-11-30 12:07:31 -08:00
2008-04-10 14:54:02 -07:00
2007-11-25 14:25:13 -08:00
2009-08-10 15:59:34 -07:00
2010-06-15 10:47:16 -07:00
2010-11-07 17:20:23 +01:00
2011-06-22 18:19:28 -07:00
2009-10-13 19:41:37 +04:00
2010-04-22 11:02:56 -07:00
2011-06-25 12:01:30 +04:00
2011-06-22 18:19:28 -07:00
2002-04-30 21:09:12 +00:00
2010-07-28 18:00:18 +04:00
2010-07-28 18:00:18 +04:00
2010-08-12 20:15:27 -07:00
2010-05-06 15:33:24 -07:00
2011-06-23 13:27:43 -07:00
2009-07-31 14:30:33 +04:00
2011-06-22 18:19:28 -07:00
2007-09-19 21:41:27 -07:00
2010-08-24 14:08:16 -07:00
2010-11-07 17:20:23 +01:00
2010-11-07 17:20:23 +01:00
2010-07-25 11:09:56 +04:00
2010-08-12 19:09:28 +04:00
2010-10-03 21:02:08 +04:00
2009-12-22 23:42:03 +03:00
2010-11-07 17:20:23 +01:00
2011-06-06 14:55:59 -07:00

              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
No description provided
Readme BSD-2-Clause 10 MiB
Languages
Assembly 61.7%
C 31.7%
Perl 3.2%
Makefile 0.8%
M4 0.7%
Other 1.9%