* [ANN] nyacc 0.81.0 released @ 2017-09-02 13:46 Matt Wette [not found] ` <F0B08C97-F54A-4305-9A1C-BCE771593C38@gmail.com> 0 siblings, 1 reply; 5+ messages in thread From: Matt Wette @ 2017-09-02 13:46 UTC (permalink / raw) To: Guile User Mailing List Nyacc 0.81.0 is released. This includes the following updates: 1) fix to parsing C comments (nyacc/lex.scm) 2) addition for parsing several GNU C extensions (e.g., asm, statement expressions) 3) fixed bug in cpp.scm where drain-input was used instead of string-get-all 4) in examples/../c99, updates to ffi-helper 5) much hacking on the C99 munging code (c99/util2.scm) 5) numerous other bug fixes 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. NYACC maturity is beta level. NYACC is free software; the full source distribution is available through tarball repository: https://download.savannah.gnu.org/releases/nyacc/ git repository: git://git.savannah.nongnu.org/nyacc.git home page, project page, user's guide: http://www.nongnu.org/nyacc https://savannah.nongnu.org/projects/nyacc http://www.nongnu.org/nyacc/nyacc-ug.html For support see: https://savannah.nongnu.org/support/?group=nyacc ^ permalink raw reply [flat|nested] 5+ messages in thread
[parent not found: <F0B08C97-F54A-4305-9A1C-BCE771593C38@gmail.com>]
* Re: [ANN] nyacc 0.82.0 released [not found] ` <F0B08C97-F54A-4305-9A1C-BCE771593C38@gmail.com> @ 2017-09-10 18:17 ` Matt Wette 2017-09-16 16:53 ` [ANN] nyacc 0.82.1 released Matt Wette 1 sibling, 0 replies; 5+ messages in thread From: Matt Wette @ 2017-09-10 18:17 UTC (permalink / raw) To: Guile User Mailing List; +Cc: guile-devel > On Sep 10, 2017, at 8:37 AM, Matt Wette <matt.wette@gmail.com> wrote: > > Nyacc 0.82.0 has been released > > In this version I have cleaned up more of the FFI Helper. Note: > 1) In the distribution, you will see example .ffi files in examples/ffi/. > 2) use of the FFI Helper required the bytestructures package, available from: > https://github.com/TaylanUB/scheme-bytestructures > 3) ffi/cairo.ffi is converted to ffi/cairo.scm by the command > $ guild compile-ffi ffi/cairo.ffi > 4) It works on my mac. I don't know what else: the code needs to have access > to files in odd places (e.g., lib/gcc/..../include > 5) If you do `make install', and have bytestructures in the SITE_SCM_DIR, then > this should work: > $ make install-ffi-help > ... > +++ warning: the FFI Helper is experimental > ffi-help: can't do varargs (yet) > wrote `/var/tmp/zz/scm/ffi/sqlite3.scm' > wrote `/var/tmp/zz/go/ffi/sqlite3.go' > +++ warning: the FFI Helper is experimental > ffi-help: can't do varargs (yet) > wrote `/var/tmp/zz/scm/ffi/libgit2.scm' > wrote `/var/tmp/zz/go/ffi/libgit2.go' > +++ warning: the FFI Helper is experimental > ffi-help: can't do varargs (yet) > ffi-help: no FFI float-type for "long double" > wrote `/var/tmp/zz/scm/ffi/glib.scm' > wrote `/var/tmp/zz/go/ffi/glib.go' Some additional notes: 6) compile-ffi and compile may take significant time. I have seen compile-ffi take time on include files that have a large number of re-includes. Nyacc does not try to skip re-reading include files (like gcc does). And compile takes a long time because the .scm files can be huge. On my machine, ffi/gio.scm turns out to be about 24 K lines and the gio.go file is 8 MB. 7) In examples I show that passing strings to function is done via (foo (string->pointer "abc")). Using string->pointer is not required: unwrap~pointer will now deal with this. 8) the FFI Helper files .scm files are distributed in SCM_DIR -- not under nyacc/ : + scripts/compile-ffi.scm is the compiler driver invoked by `guild' + system/ffi-help-rt.scm is the FFI Helper runtime (macros for defining types, etc) + ffi/ is the conventional place to host .ffi files, so ffi/glib.scm is code for (ffi glib) 9) I will need to look into how to add some needed types in guile FFI: intptr_t, long long, long double. Matt ^ permalink raw reply [flat|nested] 5+ messages in thread
* [ANN] nyacc 0.82.1 released [not found] ` <F0B08C97-F54A-4305-9A1C-BCE771593C38@gmail.com> 2017-09-10 18:17 ` [ANN] nyacc 0.82.0 released Matt Wette @ 2017-09-16 16:53 ` Matt Wette 2017-11-11 14:27 ` Jan Nieuwenhuizen 1 sibling, 1 reply; 5+ messages in thread From: Matt Wette @ 2017-09-16 16:53 UTC (permalink / raw) To: guile-devel; +Cc: Guile User Mailing List Nyacc 0.82.1 has been released. This is a fix to 0.82.0, which has issues with running the FFI helper. I can now run the cairo ffi helper demo on Centos. To run the ffi helper cairo demo, check the file HACKING in the distribution. 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. NYACC maturity is beta level. NYACC is free software; the full source distribution is available through tarball repository: https://download.savannah.gnu.org/releases/nyacc/ git repository: git://git.savannah.nongnu.org/nyacc.git home page, project page, user's guide: http://www.nongnu.org/nyacc https://savannah.nongnu.org/projects/nyacc http://www.nongnu.org/nyacc/nyacc-ug.html For support see: https://savannah.nongnu.org/support/?group=nyacc ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [ANN] nyacc 0.82.1 released 2017-09-16 16:53 ` [ANN] nyacc 0.82.1 released Matt Wette @ 2017-11-11 14:27 ` Jan Nieuwenhuizen 2017-11-11 15:22 ` Matt Wette 0 siblings, 1 reply; 5+ messages in thread From: Jan Nieuwenhuizen @ 2017-11-11 14:27 UTC (permalink / raw) To: Matt Wette; +Cc: Guile User Mailing List, guile-devel [-- Attachment #1: Type: text/plain, Size: 971 bytes --] Matt Wette writes: Hey Matt, > Nyacc 0.82.1 has been released. Congrats! It's been a while but in 0.82.0 I found a regression of a bug that you fixed earlier, I think in 0.80.4 https://lists.gnu.org/archive/html/guile-user/2017-06/msg00003.html I've attached the problematic file again. It's also still present in 0.82.1 $ guile GNU Guile 2.2.2 Copyright (C) 1995-2017 Free Software Foundation, Inc. Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'. This program is free software, and you are welcome to redistribute it under certain conditions; type `,show c' for details. Enter `,help' for help. scheme@(guile-user)> (use-modules (nyacc lalr)) scheme@(guile-user)> *nyacc-version* $1 = "0.82.1" scheme@(guile-user)> (use-modules (nyacc lang c99 parser)) scheme@(guile-user)> (with-input-from-file "def-bwl.c" parse-c99) (unknown):1: parse failed at state 89, on input "DEF_BWL" (unknown):1: C99 parse error $2 = #f Greetings, janneke [-- Attachment #2: def-bwl.c --] [-- Type: application/octet-stream, Size: 528 bytes --] #define DEF_BWL(x) \ DEF(TOK_ASM_ ## x ## b, #x "b") \ DEF(TOK_ASM_ ## x ## w, #x "w") \ DEF(TOK_ASM_ ## x ## l, #x "l") \ DEF(TOK_ASM_ ## x, #x) #if 1 // !__MESC__ #define DEF_BWLX DEF_BWL #else // Workaround for Nyacc #define DEF_BWLX(x) \ DEF(TOK_ASM_ ## x ## b, #x "b") \ DEF(TOK_ASM_ ## x ## w, #x "w") \ DEF(TOK_ASM_ ## x ## l, #x "l") \ DEF(TOK_ASM_ ## x, #x) #endif enum tcc_token { TOK_LAST #define DEF(id, str) ,id DEF_BWLX(mov) #undef DEF }; int main (int argc, char *argv[]) { return TOK_ASM_mov; } [-- Attachment #3: Type: text/plain, Size: 152 bytes --] -- Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [ANN] nyacc 0.82.1 released 2017-11-11 14:27 ` Jan Nieuwenhuizen @ 2017-11-11 15:22 ` Matt Wette 0 siblings, 0 replies; 5+ messages in thread From: Matt Wette @ 2017-11-11 15:22 UTC (permalink / raw) To: Jan Nieuwenhuizen; +Cc: Guile User Mailing List, guile-devel [-- Attachment #1: Type: text/plain, Size: 1235 bytes --] > On Nov 11, 2017, at 6:27 AM, Jan Nieuwenhuizen <janneke@gnu.org> wrote: > > Matt Wette writes: > > Hey Matt, > >> Nyacc 0.82.1 has been released. > > Congrats! > > It's been a while but in 0.82.0 I found a regression of a bug that you > fixed earlier, I think in 0.80.4 > > https://lists.gnu.org/archive/html/guile-user/2017-06/msg00003.html > > I've attached the problematic file again. It's also still present in 0.82.1 > > $ guile > GNU Guile 2.2.2 > Copyright (C) 1995-2017 Free Software Foundation, Inc. > > Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'. > This program is free software, and you are welcome to redistribute it > under certain conditions; type `,show c' for details. > > Enter `,help' for help. > scheme@(guile-user)> (use-modules (nyacc lalr)) > scheme@(guile-user)> *nyacc-version* > $1 = "0.82.1" > scheme@(guile-user)> (use-modules (nyacc lang c99 parser)) > scheme@(guile-user)> (with-input-from-file "def-bwl.c" parse-c99) > (unknown):1: parse failed at state 89, on input "DEF_BWL" > (unknown):1: C99 parse error > $2 = #f Ugh. I thought I had that one. I will take a look PASS: nyacc/c99-01, CPP: #, ##, __VA_ARGS__ [-- Attachment #2: Type: text/html, Size: 2961 bytes --] ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2017-11-11 15:22 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2017-09-02 13:46 [ANN] nyacc 0.81.0 released Matt Wette [not found] ` <F0B08C97-F54A-4305-9A1C-BCE771593C38@gmail.com> 2017-09-10 18:17 ` [ANN] nyacc 0.82.0 released Matt Wette 2017-09-16 16:53 ` [ANN] nyacc 0.82.1 released Matt Wette 2017-11-11 14:27 ` Jan Nieuwenhuizen 2017-11-11 15:22 ` 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).