Peter Johnson
b891463826
Parameters to input changed from unsigned long to linemgr *.
...
svn path=/trunk/yasm/; revision=789
22 years ago
Peter Johnson
2f19ce4ecd
Delete last of global variables by making a line manager and passing around
...
the line index. Fixes some minor line number/error message nits due to
incorrect usage of line_index in old global variable method.
svn path=/trunk/yasm/; revision=787
22 years ago
Peter Johnson
d6f22c3fce
Dynamically load all modules (preloading some of the default ones).
...
Start reducing global variables for cleaner module separation.
Add rudimentary debug format module interface and "null" debug format.
svn path=/trunk/yasm/; revision=784
22 years ago
Peter Johnson
e4988ea961
Make test scripts more portable by detecting echo line-ending features, using
...
fewer options for sed, and using a perl script for hexdump. As a side effect,
hexdumps are more accurate (the hexdump util put * for as many multiples as
were output, whereas the perl script outputs a line for every byte, no matter
what).
svn path=/trunk/yasm/; revision=736
22 years ago
Peter Johnson
f9674f719d
Revert previous commit. The srcdir isn't needed, and in fact breaks things.
...
svn path=/trunk/yasm/; revision=615
23 years ago
Peter Johnson
1517a9ef39
Fix distcheck build. For some reason, automake wants a $(top_srcdir) for the
...
yapp-token.l file.
svn path=/trunk/yasm/; revision=609
23 years ago
Peter Johnson
ffa58d5f18
Include Makefile.inc itself in the distribution!
...
svn path=/trunk/yasm/; revision=549
23 years ago
Peter Johnson
fc47434c16
Include errno.h to define errno.
...
svn path=/trunk/yasm/; revision=538
23 years ago
Michael Urman
e7278945e9
Get the type right for yyin. *sigh* How'd i decide it was a
...
YY_BUFFER_STATE?
svn path=/trunk/yasm/; revision=537
23 years ago
Michael Urman
13ab2a73b8
fix crash on nonexistent (or otherwise unopenable) include files.
...
svn path=/trunk/yasm/; revision=536
23 years ago
Peter Johnson
4468f7e7bb
Fix make distcheck by eliminating directory components.
...
svn path=/trunk/yasm/; revision=534
23 years ago
Peter Johnson
3ccc6a033c
Make a separate Makefile.inc for the yapp/tests directory.
...
svn path=/trunk/yasm/; revision=533
23 years ago
Michael Urman
160ba169cc
Fix slight whitespace issue - don't append whitespace after closing
...
paren to beginning of expansion of %define with parameters.
svn path=/trunk/yasm/; revision=525
23 years ago
Michael Urman
575cc451ec
defines with parameters seem to work. wow. i need some more test
...
cases, cause i'm pretty sure i have to have missed something.
svn path=/trunk/yasm/; revision=524
23 years ago
Michael Urman
95e784bf75
Tests for define with parameters.
...
svn path=/trunk/yasm/; revision=523
23 years ago
Michael Urman
053d1c1d1c
Lots of preparations for expanding %defines with argument lists:
...
- several global struct source_head's have become localized to allow
recursion
- a few more helper functions, etc.
No change in the output yet, except in the previously unsupported cases.
svn path=/trunk/yasm/; revision=522
23 years ago
Michael Urman
dca731f6a7
Removed spurious src/tests/yapp_test from CLEANFILES (*bewildered look*)
...
svn path=/trunk/yasm/; revision=516
23 years ago
Peter Johnson
18ff2cc4f5
Don't block global src variable. While I'm here, change to use SLIST_FOREACH.
...
svn path=/trunk/yasm/; revision=515
23 years ago
Michael Urman
9259c6ea65
Now that whitespace is mostly preserved, no need for the next token for
...
guessing whitespace insertion.
svn path=/trunk/yasm/; revision=514
23 years ago
Michael Urman
b1496537f6
Handle recursive %defines properly.
...
svn path=/trunk/yasm/; revision=513
23 years ago
Michael Urman
b0b10ffe6b
Tests for recursive %defines.
...
svn path=/trunk/yasm/; revision=512
23 years ago
Michael Urman
18624703e3
Handle %define to %define - caught use of a global in a recursive func.
...
Fix how %defines get built - append_through_return -> append_to_return.
svn path=/trunk/yasm/; revision=511
23 years ago
Michael Urman
970e89dbee
test case for %define to a %define. non-recursive.
...
svn path=/trunk/yasm/; revision=510
23 years ago
Michael Urman
a74a807bba
Catch a few missing inhibited directives (not implemented yet anyway).
...
Preserve non-trailing whitespace (cleaner look, supports %define foo()).
Condense %line, \n or %line, %line into single %line.
svn path=/trunk/yasm/; revision=509
23 years ago
Michael Urman
90283e877e
Handle output inhibition more properly; %includes inside %ifs don't
...
actually %include, etc.
Also fix starting line to be 1, not 0.
svn path=/trunk/yasm/; revision=508
23 years ago
Michael Urman
655f98255f
Several new tests.
...
svn path=/trunk/yasm/; revision=507
23 years ago
Michael Urman
86e1c8338c
Catch "errors" and update report format
...
svn path=/trunk/yasm/; revision=506
23 years ago
Michael Urman
716884b0bb
Add ifdef tests.
...
svn path=/trunk/yasm/; revision=505
23 years ago
Michael Urman
314085475c
add beginnings of test suite for yapp
...
svn path=/trunk/yasm/; revision=504
23 years ago
Michael Urman
2c051baa0b
return [ and ] characters
...
svn path=/trunk/yasm/; revision=503
23 years ago
Michael Urman
944853f03a
Removed spurious include of objfmt
...
Added some debugging printf to isolate and fix failing define case
svn path=/trunk/yasm/; revision=502
23 years ago
Michael Urman
22d4d7b74d
Remove some spurious includes.
...
svn path=/trunk/yasm/; revision=501
23 years ago
Peter Johnson
c855e4061e
Move static structures from .h to .c, include .h in .l.
...
svn path=/trunk/yasm/; revision=492
23 years ago
Michael Urman
4818dbe555
Fixed some warnings.
...
The wussy way, cause i didn't comment any of the new prototypes.
svn path=/trunk/yasm/; revision=486
23 years ago
Michael Urman
7c073b5c23
Add const char *in_filename arguments to
...
- preproc initialize function
- parser parse function (to pass to preproc initialize)
so that the preprocessor has a clue what file it's in.
svn path=/trunk/yasm/; revision=484
23 years ago
Michael Urman
2d0615384d
YAPP has arrived.
...
Or at least it has begun. At this point it can only handle:
%define
%if*def
%el*def
%else
%endif
%include (to some degree; needs a lot of thought, but recurses fine)
and replacing simple %defines (like %define foo bar)
And like all code, it's probably horribly inconsistent about variable
names, etc. We'll wash it later.
svn path=/trunk/yasm/; revision=483
23 years ago
Michael Urman
6b65e7a522
Update main files to include support for yapp.
...
This includes defaulting to yapp for ./yasm -e passes.
svn path=/trunk/yasm/; revision=482
23 years ago
Peter Johnson
ca6a1c8167
Massive build system change: single Makefile instead of recursive.
...
Note: still is automake-generated, but uses .inc files in the various
subdirectories instead of .am files.
TODO: Move arch-specific components of bytecode_test and memexpr_test to
arch/x86.
svn path=/trunk/yasm/; revision=395
23 years ago
Peter Johnson
8cbf2c2312
- Greatly enhance capabilities of directives (they're actually parsed now).
...
objfmt interface changed a lot due to this.
- New variables cur_objfmt and cur_parser that define what objfmt/parser are
active. They're set in main() by searching through the list of objfmts and
parsers. This necessitated libyasm.a to be listed twice in LDADD.
svn path=/trunk/yasm/; revision=343
23 years ago
Peter Johnson
8178f883a5
Modify so that almost everything passes LCLint with the options in lclint.sh.
...
This is actually worthwhile; I found and fixed a few bugs/edge cases while
doing this.
For more information on LCLint, see <http://lclint.cs.virginia.edu/ >.
svn path=/trunk/yasm/; revision=335
23 years ago
Peter Johnson
a7ac50c918
Add coretype.h, make util.h do a lot more, use util.h to simplify include
...
sections of C files. Also remove IdPath from top comment in files where
RCSID() is used. Move RCSID() to immediately after util.h include.
svn path=/trunk/yasm/; revision=313
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
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
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
305d332441
Add prefix on local functions so they're easy to find in the debugger.
...
svn path=/trunk/yasm/; revision=168
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
24 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
24 years ago