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 V3.01.0, from V3.00.2
* nyacc/parse.scm(make-lalr-parser): Added option to provide user-hook
to intercept state transition.
* nyacc/lang/c99/parse.scm: removed, back to using nyacc/parse.scm now
* nyacc/lang/sx-util.scm(sx-match): allow '() as a pattern
* lang/nx-util.scm: major rework for symbol table handling.
* nx-mlang: Matured the parser, compiler and pretty printer.
+ It now can parse comma-less matrix rows with space constraint.
* nx-javascript:
+ Removed `insert-semi' and `no-semi-insertion' (NSI) hacks in
javascript parser; the nyacc parser has `ignore-if-unexpected'.
+ Updated compiler to use nx-util updates.
* Minor work on example javascript, julia and lua parsers.
* Minor work on lalr.scm output: add index to action element comment.
updates for V3.00.2, from V3.00.1
* munge.scm(udict-enum->ddict): make robust to typeof- (gobject case)
* sx-util.scm(sxm-sexp): make sure value is pair before calling car
* lalr.scm: update for generating tag-based parsers
* examples/impl/python: first shot at python-based parser help
* nx-mlang/mach.scm: update for space for row element separator
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.