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
810cdc7e7b
Update to match outfmt->objfmt change.
...
svn path=/trunk/yasm/; revision=156
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
Michael Urman
2f630084b3
Updates to pass make distcheck.
...
Added linux as a bogus sysqueue.
svn path=/trunk/yasm/; revision=154
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
bcd6236091
Add RCSID() function.
...
Indent some of the preprocessor directives a bit nicer.
svn path=/trunk/yasm/; revision=149
23 years ago
Peter Johnson
7faa6f4fc6
Add checks for <limits.h> and <sys/cdefs.h>.
...
svn path=/trunk/yasm/; revision=148
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
8d62e17ce2
Use the FreeBSD version of <sys/queue.h> instead of the OpenBSD version
...
because the OpenBSD version doesn't have STAILQ_*.
svn path=/trunk/yasm/; revision=145
23 years ago
Peter Johnson
b4668a5405
Use header-reuse #defines that are ANSI C compatible.
...
svn path=/trunk/yasm/; revision=144
23 years ago
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
23 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
23 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
23 years ago
Peter Johnson
961e609d4d
Add dataval as a type.
...
svn path=/trunk/yasm/; revision=140
23 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
23 years ago
Peter Johnson
5189b1b234
First version of indentation profile.
...
svn path=/trunk/yasm/; revision=138
23 years ago
Peter Johnson
382f245f47
Give prototype for nasm_parser_parse().
...
svn path=/trunk/yasm/; revision=137
23 years ago
Peter Johnson
5cd594556a
Declare type enum correctly.
...
svn path=/trunk/yasm/; revision=136
23 years ago
Peter Johnson
3ce026a098
Remove & from function pointer references.
...
svn path=/trunk/yasm/; revision=135
23 years ago
Peter Johnson
fa49ca5544
Add new subdirectories for new src/ directory structures.
...
svn path=/trunk/yasm/; revision=134
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
ce3c2283b0
Update to reflect 0-based groupdata array.
...
svn path=/trunk/yasm/; revision=132
23 years ago
Peter Johnson
b3a5266c00
Add "error when reading from file" error.
...
svn path=/trunk/yasm/; revision=131
23 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
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
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