[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ANN] nyacc 1.02.0 released

From: Matt Wette
Subject: [ANN] nyacc 1.02.0 released
Date: Wed, 8 Apr 2020 06:27:07 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1

Hi All,

I have released version 1.02.0 of NYACC.

This release reflects a lot of work on the C99 munger, the constant
expression evaluator, and the FFI helper.  The munger does things like
expanding use of C typedefs.  This helps in being able to evaluate
C expressions like sizeof(foo_t) where foo_t may be a typedef for a
complex struct.  In addition, I hope the FFI Helper is a bit more robust.
The next phase is to rework the core of the FFI helper which converts
C declarations to Guile FFI declarations.   Enjoy ...

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.

NEWS for V1.02.0, with respect to V1.01.2
        * The C99 AST, munger and ffi helper, were updated.
          updated C99 tree tags (e.g., array-of => ary-declr), and
          and narrowed use of abs-...-declr to lowest level.
        * udecl->mdecl was upated to use above updates: it's more robust,
          and it now generates (extern) tag for non-functions, to be
          used in a new implementation of the ffi helper (1.03?)
        * reify-decl was added to make abstract C99 declarations concrete
        * added arch-info: sizeof, alignof for multiple targets
        * eval-c99-cx now works for sizeof(type)!
        * expand-typerefs has been cleaned up: it seems more robust;
          many new test cases were added in c99-06.test.
        * cleaned up ffi-helper ; no more warning on redefined symbols
          from guile 3.0; more enum/defines handled now that code to
          evaluate constant expressions is more capable
        * module/nyacc/lalr.scm (make-lalr-parser): added another keyword
          argument `env' to specify the enviornment for generating
          the parser actions (default, @code{(current-module))})
        * Added #:env keyword option to make-lalr-parser.  This is where
          the quoted actions are evaluated.
        * Added FH uintptr_t intptr_t defines for use w/ guile-2.0.
        * compile-ffi does not now produce .scm file on failure or ^C

NYACC maturity is production/stable level.

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

* the tarball repository:

* the git repository:

home page, project page and user's guides:

Report bugs:

Get support:

reply via email to

[Prev in Thread] Current Thread [Next in Thread]