[ANN] nyacc 3.02.0 released

Matt Wette <[email protected]> Wed, 14 Jan 2026 13:36:59 -0800
Newsgroups gmane.lisp.guile.user
Message-ID <[email protected]>
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.