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