* [ANN] nyacc 1.02.0 released
@ 2020-04-08 13:27 Matt Wette
2020-04-10 17:06 ` Matt Wette
0 siblings, 1 reply; 2+ messages in thread
From: Matt Wette @ 2020-04-08 13:27 UTC (permalink / raw)
To: Guile User
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:
https://download.savannah.gnu.org/releases/nyacc/
* the git repository:
git://git.savannah.nongnu.org/nyacc.git
home page, project page and user's guides:
* https://www.nongnu.org/nyacc
* https://savannah.nongnu.org/projects/nyacc
* https://www.nongnu.org/nyacc/nyacc-ug.html
* https://www.nongnu.org/nyacc/ffi-help.html
Report bugs:
* https://savannah.nongnu.org/bugs/?group=nyacc
Get support:
* https://savannah.nongnu.org/support/?group=nyacc
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [ANN] nyacc 1.02.0 released
2020-04-08 13:27 [ANN] nyacc 1.02.0 released Matt Wette
@ 2020-04-10 17:06 ` Matt Wette
0 siblings, 0 replies; 2+ messages in thread
From: Matt Wette @ 2020-04-10 17:06 UTC (permalink / raw)
To: guile-user
On 4/8/20 6:27 AM, Matt Wette wrote:
> Hi All,
>
> I have released version 1.02.0 of NYACC.
>
version 1.02.1 is released to fix a critical bug cxeval.scm(sizeof-mtail)
where code to skip comments in struct and union def's was actually
skipping the good code and trying to find size of comments. oops.
Matt
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2020-04-10 17:06 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-04-08 13:27 [ANN] nyacc 1.02.0 released Matt Wette
2020-04-10 17:06 ` Matt Wette
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).