]> granicus.if.org Git - yasm/commit
NASM parser: change from Bison parser to hand-written recursive descent
authorPeter Johnson <peter@tortall.net>
Sat, 23 Dec 2006 10:20:51 +0000 (10:20 -0000)
committerPeter Johnson <peter@tortall.net>
Sat, 23 Dec 2006 10:20:51 +0000 (10:20 -0000)
commitd52034249a69cfcd8787a470c9d452fa638f619f
tree846275004a540eaa90b559ce7fef78ba81131613
parent9593bcf56b8fa9ec3d50c91c04d9143c5bbdba8f
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.

svn path=/trunk/yasm/; revision=1716
modules/objfmts/win64/tests/win64-dataref.hex
modules/parsers/nasm/Makefile.inc
modules/parsers/nasm/nasm-bison.y [deleted file]
modules/parsers/nasm/nasm-defs.h [deleted file]
modules/parsers/nasm/nasm-parse.c [new file with mode: 0644]
modules/parsers/nasm/nasm-parser.c
modules/parsers/nasm/nasm-parser.h
modules/parsers/nasm/nasm-token.re