svn commit: r1716 - in trunk/yasm/modules: parsers/nasm

peter at tortall.net peter at tortall.net
Sat Dec 23 02:20:52 PST 2006


Author: peter
Date: Sat Dec 23 02:20:51 2006
New Revision: 1716

Added:
   trunk/yasm/modules/parsers/nasm/nasm-parse.c
      - copied, changed from r1713, /trunk/yasm/modules/parsers/nasm/nasm-bison.y
Removed:
   trunk/yasm/modules/parsers/nasm/nasm-bison.y
   trunk/yasm/modules/parsers/nasm/nasm-defs.h
Modified:
   trunk/yasm/modules/objfmts/win64/tests/win64-dataref.hex
   trunk/yasm/modules/parsers/nasm/Makefile.inc
   trunk/yasm/modules/parsers/nasm/nasm-parser.c
   trunk/yasm/modules/parsers/nasm/nasm-parser.h
   trunk/yasm/modules/parsers/nasm/nasm-token.re
Changeset:
   http://www.tortall.net/projects/yasm/changeset/1716

Log:
NASM parser: change from Bison parser to hand-written recursive descent
parser with one token of lookahead.  This allows for better error handling
and proper handling of things like "xxxx"/5.  There may be a minor speedup
but it's probably a wash.

Still TODO:
 - Unify the expression parser with the NASM preproc one.
 - Change the GAS parser to recursive descent.

Only had to change one test result; this is due to re-ordering of symrec
creation versus symrec use in data expressions such as x db y.  With the
Bison parser, the symrec use (y) would come first, now the symrec creation
(x) comes first.



More information about the yasm-cvs mailing list