Peter Johnson
63d8a451b7
Define YY_NEVER_INTERACTIVE, because we never are :).
...
svn path=/trunk/yasm/; revision=209
23 years ago
Peter Johnson
91f41e241b
Try to fix configure and automake files so everything builds a bit cleaner.
...
Also try to fix the warnings on the GNU C Library.
Still a lot of work and testing to be done here, but making progress.
svn path=/trunk/yasm/; revision=204
23 years ago
Peter Johnson
60fd596a66
Cleaned up bytecode data structure, some effaddr functions. Made ea an
...
effaddr * instead of an effaddr to decrease size of bytecode. Changed parser
to use effaddr * as well. Finally fixed issue with ONE by adding flag to
bytecode.data.insn and utilizing spare bytes of the opcode. Hackish, but
works.
svn path=/trunk/yasm/; revision=203
23 years ago
Peter Johnson
d0c4ae1572
Make sure bison.y and token.l get included in the distribution.
...
svn path=/trunk/yasm/; revision=199
23 years ago
Peter Johnson
1fd753346c
Build section linked list, and support the section directive, including
...
asking the objfmt module. Add some utility functions for both bytecode
and section to better modularize their data structure usage and common
code. Rename doparse to do_parse to be consistent in naming.
svn path=/trunk/yasm/; revision=196
23 years ago
Peter Johnson
0b24caa55c
Cleanup of local .cvsignore files after addition of global CVSROOT/cvsignore.
...
svn path=/trunk/yasm/; revision=193
23 years ago
Peter Johnson
e649bada33
Change ../ to $(top_builddir). It's clearer and safer.
...
svn path=/trunk/yasm/; revision=185
23 years ago
Peter Johnson
ef19b09dc2
Limit some tools to --enable-dev only. Only check for and use them if
...
--enable-dev is passed to configure.
svn path=/trunk/yasm/; revision=184
23 years ago
Peter Johnson
79295b7e9d
Add rcs id.
...
svn path=/trunk/yasm/; revision=181
23 years ago
Peter Johnson
52847afaff
Use absolute paths instead of srcdir because libintl.h is built in the
...
build directory. To pass distcheck we need to do it this way.
svn path=/trunk/yasm/; revision=179
23 years ago
Peter Johnson
b2890b8f9d
$Id$ -> $IdPath$.
...
svn path=/trunk/yasm/; revision=174
23 years ago
Peter Johnson
20daa47e62
Reindent to match other code for the most part.
...
svn path=/trunk/yasm/; revision=167
23 years ago
Peter Johnson
f8b36698fa
Update file descriptions to indicate that these files are just for the
...
NASM-compatible parser.
svn path=/trunk/yasm/; revision=165
23 years ago
Peter Johnson
3c2a67ca1c
Use bytecode * instead of bytecode in parser.
...
Rename and restructure bytecode functions to make this use clearer.
svn path=/trunk/yasm/; revision=164
23 years ago
Peter Johnson
013530034e
Start building of sections and bytecodes in parser.
...
Still need to add section switching (currently never switches away from
default section).
svn path=/trunk/yasm/; revision=163
23 years ago
Peter Johnson
ca16006ce9
Allow whitespace before a directive.
...
svn path=/trunk/yasm/; revision=162
23 years ago
Peter Johnson
84e0411c49
Use queue.h macros in section.h, and reference bytecode using bytecodehead.
...
Remove old "append" function from bytecode.h
Add generic parser functions, clean up parser struct.
svn path=/trunk/yasm/; revision=157
23 years ago
Peter Johnson
074b748ece
Rename outfmt to objfmt and related files and directories. "objfmt" is more
...
descriptive of what the module is actually used for ("output" is rather
generic).
svn path=/trunk/yasm/; revision=155
23 years ago
Peter Johnson
45df22d110
Convert to using gettext instead of the ugly errwarn constant strings.
...
NOTE: gettextize now needs to be run before building.
svn path=/trunk/yasm/; revision=153
23 years ago
Peter Johnson
86f7268ea8
Add RCSID().
...
svn path=/trunk/yasm/; revision=151
23 years ago
Peter Johnson
77fc6dd491
Standardize order of include statements as well as autoconf'ing those source
...
files that weren't yet.
svn path=/trunk/yasm/; revision=150
23 years ago
Peter Johnson
a34646760c
Allow multiple labels on one line (it's still on the TODO list for NASM :).
...
svn path=/trunk/yasm/; revision=147
23 years ago
Peter Johnson
ae600ce442
Use STAILQ's for datavals and bytecodes.
...
svn path=/trunk/yasm/; revision=146
23 years ago
Peter Johnson
382f245f47
Give prototype for nasm_parser_parse().
...
svn path=/trunk/yasm/; revision=137
23 years ago
Peter Johnson
3ce026a098
Remove & from function pointer references.
...
svn path=/trunk/yasm/; revision=135
23 years ago
Peter Johnson
7ba343f346
New modular directory structure: parsers, preprocs, and outfmts.
...
Moved token.l.in, bison.y.in, and gen_instr.pl to parsers/nasm/.
New parser, preproc, and outfmt structures. None are complete; outfmt
needs the most work.
The raw preprocessor added (for no preprocessing).
Currently the default for the nasm parser is to use the raw preproc; this
should be changed to nasm_preproc once the nasm preprocessor is finished.
A dbg output format is also new; because outfmt isn't done yet, there's not
much implementation.
What structures still need creating: listfmt, debugfmt.
svn path=/trunk/yasm/; revision=133
23 years ago
Peter Johnson
1fa31332b6
Add lexing, parsing, and internal format for strings and character constants.
...
Completely handle data declarations (db/dw/etc) and reserve space declarations
(resb/resw/etc).
svn path=/trunk/yasm/; revision=129
23 years ago
Peter Johnson
6232670d62
Add unary precedence to some of the expression rules.
...
Add '+' as a unary operator.
Change target to use expr instead of just explabel.
svn path=/trunk/yasm/; revision=126
24 years ago
Peter Johnson
5ded7b9546
Move ..start in with ..@label.
...
svn path=/trunk/yasm/; revision=124
24 years ago
Peter Johnson
76af86221f
Move some previously seperate identifiers into general label handlers.
...
svn path=/trunk/yasm/; revision=123
24 years ago
Peter Johnson
fa5c9d5ea9
First attempt at supporting relative jump instructions. A few hacks, but
...
seems to work well.
A few other minor fixes/changes as well (noticed when coding).
svn path=/trunk/yasm/; revision=119
24 years ago
Michael Urman
c0eb4fac3e
Better and more generalized kludge for sliding $0.\d down.
...
svn path=/trunk/yasm/; revision=118
24 years ago
Michael Urman
c4d985f1ad
Integrate expression handling into memory address expressions.
...
Consequently change Imm->EA, and update DebugPrintBC (fix segvs too)
svn path=/trunk/yasm/; revision=117
24 years ago
Peter Johnson
bd6d5322e1
Fix and tighten down on validation regexps. Add support for 4th group
...
parameter.
svn path=/trunk/yasm/; revision=116
24 years ago
Peter Johnson
187eda1c36
Eliminate conflicts by setting associativity (and precedence too).
...
svn path=/trunk/yasm/; revision=115
24 years ago
Michael Urman
0cb10aa577
Fixed the non-ansi attempts to pass a union member casted as the union
...
type.
svn path=/trunk/yasm/; revision=113
24 years ago
Peter Johnson
daf5c6fd03
Enable and add support for (in gen_instr.pl) short xchg AX and EAX forms.
...
svn path=/trunk/yasm/; revision=112
24 years ago
Michael Urman
84bae30656
Long hairy integration of expression handling into the grammar.
...
Added printing, getvalue functionality to expr.[ch]
Changed immval to house an expr* instead of an unsigned long.
gen_instr.pl needs to be updated for ONE cases to fix pointer compares.
bison s/r conflicts still need to be handled.
svn path=/trunk/yasm/; revision=109
24 years ago
Peter Johnson
273a7b3c83
Change groupdate into an array, and make everything 0-based in the output
...
code. Bit of a kludge required in gen_instr.pl to slide the $0.\d down by
one (is there a better way to do it?).
svn path=/trunk/yasm/; revision=108
24 years ago
Peter Johnson
7f30800f77
Allow opsize parameters, to eliminate !onebyte16 and !onebyte32.
...
svn path=/trunk/yasm/; revision=107
24 years ago
Peter Johnson
7ffbf9829c
#0 and #1 -> @0 and @1 (for the CPU field), to avoid warning from Perl.
...
svn path=/trunk/yasm/; revision=102
24 years ago
Peter Johnson
1636cc2441
Backroll 1.12 and 1.13, they cause conflicts. We need to find a better way
...
to do this.
svn path=/trunk/yasm/; revision=100
24 years ago
Michael Urman
02594cb9da
Added support for spitting out multiple warnings and errors.
...
And consequently decided that i'm probably not validating half the
fields correctly. Maybe peter will fix that. Hint hint.
svn path=/trunk/yasm/; revision=99
24 years ago
Michael Urman
4053f1aaae
Updated validation regexps for $0.\d fields.
...
Removed obosolete commented "next unless ref $instr{$inst};"s
svn path=/trunk/yasm/; revision=98
24 years ago
Michael Urman
769e35a524
Removed use of "our," so as not to require perl 5.6
...
svn path=/trunk/yasm/; revision=97
24 years ago
Michael Urman
2630eece5f
Handle grouped instructions format.
...
svn path=/trunk/yasm/; revision=96
24 years ago
Peter Johnson
a8329fcb64
Add memref to declared types.
...
svn path=/trunk/yasm/; revision=91
24 years ago
Peter Johnson
619381bdb9
Change mem (other sized memory reference) to cause operand size mismatch error
...
if a size is specified.
svn path=/trunk/yasm/; revision=87
24 years ago
Peter Johnson
e796094e1c
Add instruction grouping to decrease size of generated yacc code.
...
gen_instr.pl still needs to actually implement this, so this currently breaks
the build.
svn path=/trunk/yasm/; revision=79
24 years ago
Peter Johnson
1a88edb466
Use bison.h instead of bison.tab.h to match changes to Makefile.am.
...
svn path=/trunk/yasm/; revision=71
24 years ago