Peter Johnson
28940100d4
Add <sys/queue.h> to util.h and pull in compatible, portable version from
...
OpenSSH-portable.
svn path=/trunk/yasm/; revision=143
24 years ago
Peter Johnson
b619f63541
Add check for <sys/queue.h> and specific checks for bogus implementations.
...
Idea taken from OpenSSH-portable.
svn path=/trunk/yasm/; revision=142
24 years ago
Peter Johnson
edf74fe9ea
Run through GNU indent using indent profile. Manually fix some changes
...
(particularly functions such as BuildBC_Insn() which have large numbers
of arguments).
svn path=/trunk/yasm/; revision=141
24 years ago
Peter Johnson
961e609d4d
Add dataval as a type.
...
svn path=/trunk/yasm/; revision=140
24 years ago
Peter Johnson
a674dcd93d
Add FILE as a type. Why it's not built-in, I don't know.
...
svn path=/trunk/yasm/; revision=139
24 years ago
Peter Johnson
5189b1b234
First version of indentation profile.
...
svn path=/trunk/yasm/; revision=138
24 years ago
Peter Johnson
382f245f47
Give prototype for nasm_parser_parse().
...
svn path=/trunk/yasm/; revision=137
24 years ago
Peter Johnson
5cd594556a
Declare type enum correctly.
...
svn path=/trunk/yasm/; revision=136
24 years ago
Peter Johnson
3ce026a098
Remove & from function pointer references.
...
svn path=/trunk/yasm/; revision=135
24 years ago
Peter Johnson
fa49ca5544
Add new subdirectories for new src/ directory structures.
...
svn path=/trunk/yasm/; revision=134
24 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
24 years ago
Peter Johnson
ce3c2283b0
Update to reflect 0-based groupdata array.
...
svn path=/trunk/yasm/; revision=132
24 years ago
Peter Johnson
b3a5266c00
Add "error when reading from file" error.
...
svn path=/trunk/yasm/; revision=131
24 years ago
Peter Johnson
50cd4f238f
Add global filename variable and handling for a filename passed on the
...
command line (no real command-line parsing yet).
svn path=/trunk/yasm/; revision=130
24 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
24 years ago
Peter Johnson
bb595a8f02
Formatting changes and starting to comment more heavily.
...
svn path=/trunk/yasm/; revision=128
24 years ago
Peter Johnson
d4c6d24a9e
At least in NASM syntax, there is no differentation between labels and data
...
declarations, so delete SYM_DATA. We may add it back in someday if we add
another syntax.
svn path=/trunk/yasm/; revision=127
24 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
1b34a9ea2a
Add strdup and strtoul replacements to EXTRA_DIST.
...
svn path=/trunk/yasm/; revision=125
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
23c4df71f5
This is now in the root directory, so no need to include it here.
...
svn path=/trunk/yasm/; revision=122
24 years ago
Peter Johnson
b0271346c7
Match build changes.
...
svn path=/trunk/yasm/; revision=121
24 years ago
Peter Johnson
06cce4e4cd
Repo-copied include files to src to make automake/autoconf build structure
...
work properly. Changed Makefile.am, src/Makefile.am, and configure.in to
match directory changes.
svn path=/trunk/yasm/; revision=120
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
Peter Johnson
0fd21bf57e
Align inst the same as !grp to improve readability.
...
svn path=/trunk/yasm/; revision=114
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
29c9a4f5f2
Oops. Used the write struct this time.
...
svn path=/trunk/yasm/; revision=111
24 years ago
Michael Urman
49f781300e
Added prototype for ConvertExprToImm()
...
svn path=/trunk/yasm/; revision=110
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
Michael Urman
fb3e968a29
Initial checkin of expression handling.
...
svn path=/trunk/yasm/; revision=106
24 years ago
Peter Johnson
ce22ed6337
Fix movdq2q, movq2dq encodings.
...
svn path=/trunk/yasm/; revision=105
24 years ago
Peter Johnson
6b71124807
Fix typo (cmpneqps -> cmpneqsd).
...
svn path=/trunk/yasm/; revision=104
24 years ago
Peter Johnson
01ac90f4d6
Implement all variations of the SSE and SSE2 cmp* family.
...
svn path=/trunk/yasm/; revision=103
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
b969a322ef
Many minor relocations, fixes, particularly with the CPU field.
...
svn path=/trunk/yasm/; revision=101
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
d0f8e51492
Indent sections under "groupings used throughout".
...
svn path=/trunk/yasm/; revision=95
24 years ago
Peter Johnson
a499242f9c
Move !ssepsimm up to before it's used.
...
svn path=/trunk/yasm/; revision=94
24 years ago