guile-user
[Top][All Lists]
Advanced

[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 configure.ac 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:
    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


========================================


(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
  (package
   (name "nyacc-next")
   (version "1.01.1")
   (source
    (origin
     #|
     (method url-fetch)
     (uri (string-append
       "https://download.savannah.gnu.org/releases/nyacc/nyacc-";
       version
       ".tar.gz"))
     (sha256 (base32 (assoc-ref nyacc-sha256-base32-map version)))
     |#
     (method git-fetch)
     (uri (git-reference (url "git://git.savannah.nongnu.org/nyacc.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")
   (description
    "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 "http://www.nongnu.org/nyacc/";)
   (license lgpl3+)))





reply via email to

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