with regards to resolve_label().
MAJOR FIXME: The tobytes() pass acts like a final optimization pass. This
causes internal errors because of length mismatches (optimized to shorter len).
svn path=/trunk/yasm/; revision=521
FILE *'s to print to somewhere other than stdout, and the formatting is
improved through the use of a global indent_level.
Changes to main() include the ability to specify an output file.
svn path=/trunk/yasm/; revision=357
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
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
Features:
- More complex memory expressions like [bx-(bx-di)] are now calculated through
as valid.
- Much better simplification.
Internal changes:
- More flexible n-way tree (rather than old binary-only).
- Many new functions to simplify and deal with very complex expressions.
svn path=/trunk/yasm/; revision=294
of many functions like this which will be needed for advanced validity checking
in the finalization of the parser stage.
Fix yacc grammar to not use the (incorrect) expr_no_fltstr, and change memexp
to memexpr and its handling to prepare for memory expressions.
svn path=/trunk/yasm/; revision=278
- New intnum module to replace using just unsigned long (for >32 bit values).
Read values using BitVector instead of strtoul().
- Brought both floatnum and intnum into expr (still need to integrate calc for
floatnum).
- Add traversal function to ternary tree (for use by symrec_foreach).
- Change floatnum output interface from single/double/extended to byte size.
- Try to make floatnum/intnum interfaces very similar. Still needs work.
- Add/fix *_print functions, including interating ones for sections/bytecodes.
- Fix handling of $ and $$. Both now are properly parsed and bytecode'd.
- Print out all sections and symbol table in main() in preparation for work
on "cleanup" functionality between parser and optimizer stages (really part
of the parser stage).
svn path=/trunk/yasm/; revision=270
overall structure much more modular.
The test files, which need access to the internals of the structures being
tested, now include the source file instead of the header file to gain access
to all internal formats and functions.
svn path=/trunk/yasm/; revision=261
properly (bug #8). Framework added for portable floating point support (bug
#7). Lots of functions still not finished in this commit.
svn path=/trunk/yasm/; revision=229
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