Nemo Qhasm - Changes

Changes of the second generation of Daniel Bernstein's Qhasm package.

v2.0 - Major Changes from Original Distribution

Major code changes:

  • Translators/programs can now be executed outside of the development directory.
  • All list operations now handled by Nemo DJB Library (nemo-libdjb) routines.
  • All input/output operations now handled by Nemo BufIO Library (nemo-libbufio) routines.
  • Processor descriptions are now stored in a shared system location.

General:

Version Notes
• New qhasm - manual page.
• New Make target: "clean".
• New To avoid name clashes with header files, header files are installed in a subdirectory "nemo" (in the includes directory).
• New Implemented some of the standard integer types in the POSIX standard.
• Changed Build/installation framework provided by Nemo DJB Library (nemo-libdjb).
• Changed Converted K&R prototypes to ANSI.
• Changed All manual pages have been converted to mdoc(7) format.
• Changed Now possible to build package using /usr/local as the file hierarchy base.
• Changed Additional annotations/comments - source code files.
• Changed Implemented errno fix - patched source code to use #include <errno.h>
• Changed Resolved all compile errors and warnings from the GNU C compiler (-W -Wall -Werror, et al).
• Changed Many routines replaced by those found in Nemo DJB Library.
• Changed Routines that used libc buffered I/O are now using Nemo BufIO Library based buffered I/O.
• Changed Replaced all comparison instances of '== -1' to '< 0'.
• Changed Using some of the standard integer types in the POSIX standard.
• Changed Changed many signed integers into unsigned integers.
• Changed Changed many signed return values into unsigned return values.
• Changed In scipts and the Makefile, all references to "head -1" have been changed to "head -n 1".
• Changed Source code formatting is now "Compact Control Readability Style" - variant of K&R, similar to the Stroustrup variant. One exception: single line conditional returns are on same line as the conditional. Long lines are rarely wrapped. Indent size is two spaces.
• Changed All public header files are compatible with C++ development environments.
• Removed do - replaced by configure.sh.

Programs:

Version Notes
• New qhasm-qpp - qhasm preprocessor.
• Changed qhasm-amd64 - implement shared processor description.
• Changed qhasm-amd64avx - implement shared processor description.
• Changed qhasm-armv6 - implement shared processor description.
• Changed qhasm-as - implement shared awk script.
• Changed qhasm-avx - implement shared processor description.
• Changed qhasm-cell-spu - implement shared processor description.
• Changed qhasm-fp - implement shared awk script.
• Changed qhasm-ops - code restructure.
• Changed qhasm-ppc-linux - implement shared processor description.
• Changed qhasm-ppc-macos - implement shared processor description.
• Changed qhasm-sparc - implement shared processor description.
• Changed qhasm-x86 - implement shared processor description.

File System:

Version Notes
• Changed All programs (including shell scripts) are now located in a shared system location.
• Changed All processor descriptions are now located in a shared system location.
• Changed All awk scripts are now located in a shared system location.