[Top][All Lists]

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

[ANN] nyacc 1.01.1 released

From: Matt Wette
Subject: [ANN] nyacc 1.01.1 released
Date: Sat, 22 Feb 2020 11:54:49 -0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1

[note: guix package spec included below]

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.

Changes in V1.01.1 relative to V1.00.1 (V1.01.0 not released)
        * read-only struct-vable fields in ffi-helper changed to writable:
          guile 3.0 deprecates read-only fields
        * Split expand-typerefs from c99/munge.scm into c99/munge-base.scm.
          This should exliminate the warning about undefined expand-typerefs.
        * Eliminated deprecated symbols from c99/munge.scm: udecl->mspec
          udecl->mspec/comm mspec->udecl tree->udict tree->udict/deep
          declr->ident match-decl match-comp-decl match-param-decl
          expand-decl-typerefs fix-fields.
        * now installing examples in $(DATADIR)/nyacc/examples
        * updated to be guix-compatible
        * changed configure : removed guile.m4 pkg.m4 nyacc.m4

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:


(define-module (nyacc-next)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix git-download)
  #:use-module (guix build-system gnu)
  #:use-module (guix licenses)
  #:use-module (gnu packages pkg-config)
  #:use-module (gnu packages guile))

(define nyacc-sha256-base32-map
  '(("9.99.9" . "marker - do not delete")
    ("1.01.1" . "0m64lkm811lzngjkmw7vvprbdzphyvrd3h0fs63jnvvx9ysaa6zc")
    ("0.00.0" . "marker - do not delete")))

;; Note that nyacc is defined in (gnu packages mes).
(define-public nyacc-next
   (name "nyacc-next")
   (version "1.01.1")
     (method url-fetch)
     (uri (string-append
     (sha256 (base32 (assoc-ref nyacc-sha256-base32-map version)))
     (method git-fetch)
     (uri (git-reference (url "git://")
             (commit "c52fdb10fc723392643b7e32128f18e8f4f5194a")))
     (sha256 (base32 "19crbplnj8zpg99ngxrfl4qbc1xhsl5w4wkawi3n2zzg0gq618bc"))
   (build-system gnu-build-system)
   (inputs `(("guile-next" ,guile-next)
             ("bytestructures" ,guile3.0-bytestructures)))
   (synopsis "parser generator for Guile, with C parser and FFI code generator")
    "NYACC, for Not Yet Another Compiler Compiler, is a set of Guile modules for generating LALR(1) parsers and lexical analyzers.  It includes a decent C parser that outputs syntax trees in SXML, and a code generator (the FFI helper) that
generates Guile modules from C headers and libraries.  Example parsers are
provided for Javascript and Octave.")
   (home-page "";)
   (license lgpl3+)))

reply via email to

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