NYACC, for Not Yet Another Compiler Compiler, is set of guile modules for
generating parsers and lexical analyzers.  It also provides sample parsers
and pretty-printers using SXML trees as an intermediate representation.

It provides a decent C parser and a `FFI Helper' tool to help create
Guile Scheme bindings for C-based libraries.

It provides (partially implemented) compilers based on above mentioned
parsers to allow execution with Guile as extension languages.

Updates for 3.02.0 from 3.01.1
        * Many thanks to #lechner for persistence in testing new commits!
        * Updated ffi-helper to allow other backends (e.g, bstruct,
          bytestructures).  See github.com/mwette/guile-fhbe. This was
          accomplished by adding a layer of indirection for low-level
          type construction.
          + Compile time for gtk2.ffi is 5% longer.
          + Compiled ffi modules include case-backend syntax form.
            (See ffi/cairo.ffi for an example use case.)
        * Moved ffi-help-cd.scm back to ffi-help.cd, like for v1.0.
        * In cdata, removed support for previously deprecated types (e.g.,
          "signed long int") in preference for canonical short names (e.g.,
          "long"), as parse-c99 does not produce them.
        * Merged "powerpc64le" machine arch (from #gwitmond) into arch-info.
        * Added s390x machine arch (thanks #rlb) into arch-info. issue#27
        * In cdata, exposed procedure make-cdata/* which will create
          an object from a pointer.
        * The cdata user guide has been reviewed and expanded.
        * cdata-ref now returns scheme array and struct values as Guile
          objects (array and alist).  To get cdata objects, use cdata-sel.
        * cdata-set! now accepts scheme arrays (and vectors) for carray and
          alists for cstructs and cunions.
        * Fixes issue#22: buggy cdata-ref/set! with anonymous struct/unions.
        * Fixes issue#24: c99 parsing empty-structs (struct { };).
        * Fixes issue#25: attribute arguments w/ math expressions.
        * Fixes issue#26: __u32 not found => major bug in process-decls 0cc90f6
        * Fixes issue#49: use asm-based link name for foreign-pointers
        * Worked more on the "mlang" language example parser and analyzer.
        * In define-ffi-module identifier ffi-arch is available march.

NYACC maturity is production/stable level.

NYACC is free software; the full source distribution is available through

* the tarball repository:
    https://github.com/mwette/nyacc/releases
  pre 3.00:
    https://download.savannah.gnu.org/releases/nyacc

* the git repository:
    git://github.com:mwette/nyacc.git
  pre 3.00:
    git://git.savannah.nongnu.org/nyacc.git

home page, project page and user's guides:
  https://github.com/mwette/nyacc/wiki

Report bugs:
  https://github.com/mwette/nyacc/issues

Copyright (C) 2017-2025 Matthew Wette

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.  This file is offered as-is,
without any warranty.



Reply via email to