* [ANN] nyacc 0.82.2 is released
@ 2017-11-11 17:19 Matt Wette
2017-11-11 18:37 ` [ANN] nyacc 0.82.3 " Matt Wette
0 siblings, 1 reply; 13+ messages in thread
From: Matt Wette @ 2017-11-11 17:19 UTC (permalink / raw)
To: Guile User Mailing List
I have released nyacc version 0.82.2.
1) I fixed, once again, def-bwl.c bug, I hope. (Incorrectly added (cons repl used) to
rerun expand-cpp-macro-ref near bottom of cpp.scm.)
2) I reworked the ugly printer a bit.
3) I made ff-helper macros hygienic (i.e., datum->syntax is no longer used).
4) I made misc updates to the (experimental) ffi-helper -- many bugs fixed, news ones added :)
In examples/nyacc/lang/c99 is a program gtkdemo.scm, that I got to actually work using
modules glib, gtk2+, gobject, pango ... that were all generated by the ffi helper.
With this milestone complete, I am taking a little break.
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
^ permalink raw reply [flat|nested] 13+ messages in thread
* [ANN] nyacc 0.82.3 is released
2017-11-11 17:19 [ANN] nyacc 0.82.2 is released Matt Wette
@ 2017-11-11 18:37 ` Matt Wette
2017-11-11 19:53 ` Jan Nieuwenhuizen
2017-11-11 22:03 ` [ANN] nyacc 0.82.4 " Matt Wette
0 siblings, 2 replies; 13+ messages in thread
From: Matt Wette @ 2017-11-11 18:37 UTC (permalink / raw)
To: Matt Wette; +Cc: Guile User Mailing List
> On Nov 11, 2017, at 9:19 AM, Matt Wette <matt.wette@gmail.com> wrote:
>
> I have released nyacc version 0.82.2.
>
0.82.3 released to fix bug in modules/Makefile.nyacc
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [ANN] nyacc 0.82.3 is released
2017-11-11 18:37 ` [ANN] nyacc 0.82.3 " Matt Wette
@ 2017-11-11 19:53 ` Jan Nieuwenhuizen
2017-11-11 19:59 ` Jan Nieuwenhuizen
2017-11-11 20:00 ` Matt Wette
2017-11-11 22:03 ` [ANN] nyacc 0.82.4 " Matt Wette
1 sibling, 2 replies; 13+ messages in thread
From: Jan Nieuwenhuizen @ 2017-11-11 19:53 UTC (permalink / raw)
To: Matt Wette; +Cc: Guile User Mailing List
[-- Attachment #1: Type: text/plain, Size: 374 bytes --]
Matt Wette writes:
> 0.82.3 released to fix bug in modules/Makefile.nyacc
Thanks! I narrowed another tcc parse bug down, see attached foo.c
(use-modules (nyacc lang c99 parser))
(with-input-from-file "foo.c" parse-c99)
foo.c:22: parse failed at state 203, on input "i"
foo.c:22: C99 parse error
$51 = #f
This works with 0.80.4.
Thanks for all the good work,
jannneke
[-- Attachment #2: foo.c --]
[-- Type: application/octet-stream, Size: 221 bytes --]
#define USE_FOO 1
#ifndef USE_FOO
#else /* USE_FOO */
typedef int foo;
#endif /* USE_FOO */
#ifdef USE_FOO
typedef int foo;
#endif
#if defined (USE_FOO)
typedef int foo;
#endif
int
main ()
{
foo i;
return 0;
}
[-- 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] 13+ messages in thread
* Re: [ANN] nyacc 0.82.3 is released
2017-11-11 19:53 ` Jan Nieuwenhuizen
@ 2017-11-11 19:59 ` Jan Nieuwenhuizen
2017-11-11 20:00 ` Matt Wette
1 sibling, 0 replies; 13+ messages in thread
From: Jan Nieuwenhuizen @ 2017-11-11 19:59 UTC (permalink / raw)
To: Matt Wette; +Cc: Guile User Mailing List
Jan Nieuwenhuizen writes:
> This works with 0.80.4.
To be clear: only _one_ of the #if clauses should be present, of course.
Just testing here that none work.
> #define USE_FOO 1
>
> #ifndef USE_FOO
>
> #else /* USE_FOO */
>
> typedef int foo;
>
> #endif /* USE_FOO */
>
> #ifdef USE_FOO
> typedef int foo;
> #endif
>
> #if defined (USE_FOO)
> typedef int foo;
> #endif
>
> int
> main ()
> {
> foo i;
> return 0;
> }
--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [ANN] nyacc 0.82.3 is released
2017-11-11 19:53 ` Jan Nieuwenhuizen
2017-11-11 19:59 ` Jan Nieuwenhuizen
@ 2017-11-11 20:00 ` Matt Wette
1 sibling, 0 replies; 13+ messages in thread
From: Matt Wette @ 2017-11-11 20:00 UTC (permalink / raw)
To: Jan Nieuwenhuizen; +Cc: Guile User Mailing List
> On Nov 11, 2017, at 11:53 AM, Jan Nieuwenhuizen <janneke@gnu.org> wrote:
>
> Matt Wette writes:
>
>> 0.82.3 released to fix bug in modules/Makefile.nyacc
>
> Thanks! I narrowed another tcc parse bug down, see attached foo.c
>
> (use-modules (nyacc lang c99 parser))
> (with-input-from-file "foo.c" parse-c99)
> foo.c:22: parse failed at state 203, on input "i"
> foo.c:22: C99 parse error
> $51 = #f
>
> This works with 0.80.4.
>
> Thanks for all the good work,
> jannneke
>
> <foo.c>
> --
> Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
> Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
Thanks. Nice job of narrowing that down. That looks like more CPP ugliness.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [ANN] nyacc 0.82.4 is released
2017-11-11 18:37 ` [ANN] nyacc 0.82.3 " Matt Wette
2017-11-11 19:53 ` Jan Nieuwenhuizen
@ 2017-11-11 22:03 ` Matt Wette
2017-11-23 2:11 ` fix for c99dev string escape char read Jan Nieuwenhuizen
1 sibling, 1 reply; 13+ messages in thread
From: Matt Wette @ 2017-11-11 22:03 UTC (permalink / raw)
To: Guile User Mailing List
> On Nov 11, 2017, at 10:37 AM, Matt Wette <matt.wette@gmail.com> wrote:
>
>
>> On Nov 11, 2017, at 9:19 AM, Matt Wette <matt.wette@gmail.com> wrote:
>>
>> I have released nyacc version 0.82.2.
>>
>
> 0.82.3 released to fix bug in modules/Makefile.nyacc
0.82.4 released to fix bugs in CPP, chlit reader, and c99 pretty-printer.
Thanks to janneke for isolating those bugs.
^ permalink raw reply [flat|nested] 13+ messages in thread
* fix for c99dev string escape char read
2017-11-11 22:03 ` [ANN] nyacc 0.82.4 " Matt Wette
@ 2017-11-23 2:11 ` Jan Nieuwenhuizen
2017-11-23 3:28 ` Matt Wette
0 siblings, 1 reply; 13+ messages in thread
From: Jan Nieuwenhuizen @ 2017-11-23 2:11 UTC (permalink / raw)
To: Matt Wette; +Cc: Guile User Mailing List
[-- Attachment #1: Type: text/plain, Size: 152 bytes --]
Hi Matt,
Working with guile-2.0.14 (soon 2.0.9) on your recent c99dev branch I
need attached patch.
So, guile-2.0 resurrected, yay!
Thanks,
janneke
[-- Attachment #2: 0001-resurrect-reading-of.patch --]
[-- Type: text/x-patch, Size: 1130 bytes --]
From 0bb330c0c5c6d9298884dfecd0185e2520bb3267 Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <janneke@gnu.org>
Date: Thu, 23 Nov 2017 03:05:45 +0100
Subject: [PATCH] resurrect reading of '\'' '\\' '\'' '\"' '\?' '\|'.
* module/nyacc/lex.scm (read-c-chlit): in read-esc-char, accept string
(#\\ #\' #\" #\? #\|) too.
---
module/nyacc/lex.scm | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/module/nyacc/lex.scm b/module/nyacc/lex.scm
index c3e3e9b..17b8b03 100644
--- a/module/nyacc/lex.scm
+++ b/module/nyacc/lex.scm
@@ -290,7 +290,8 @@
((#\r) "\r") ; return U+000D
((#\0) (string (integer->char (read-oct)))) ; octal
((#\x) (string (integer->char (read-hex)))) ; hex
- (else (error "bad escape sequence")))))
+ ((#\\ #\' #\" #\? #\|) (string c2))
+ (else (error (format #f "bad escape sequence: ~s" c2))))))
(define (wchar t)
(case t ((#\L) '$chlit/L) ((#\u) '$chlit/u) ((#\U) '$chlit/U)))
(cond
--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
[-- 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 related [flat|nested] 13+ messages in thread
* Re: fix for c99dev string escape char read
2017-11-23 2:11 ` fix for c99dev string escape char read Jan Nieuwenhuizen
@ 2017-11-23 3:28 ` Matt Wette
2017-11-23 5:43 ` Jan Nieuwenhuizen
0 siblings, 1 reply; 13+ messages in thread
From: Matt Wette @ 2017-11-23 3:28 UTC (permalink / raw)
To: Jan Nieuwenhuizen; +Cc: Guile User Mailing List
> On Nov 22, 2017, at 6:11 PM, Jan Nieuwenhuizen <janneke@gnu.org> wrote:
>
> Hi Matt,
>
> Working with guile-2.0.14 (soon 2.0.9) on your recent c99dev branch I
> need attached patch.
>
> So, guile-2.0 resurrected, yay!
But there will be issues with 2.0in general since, IIRC, SRFI-43 is in guile-2.0.13 but not guile-2.0.11,
or something to that order. I don't know how far you want to go with the backward compatability.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: fix for c99dev string escape char read
2017-11-23 3:28 ` Matt Wette
@ 2017-11-23 5:43 ` Jan Nieuwenhuizen
2017-11-23 7:02 ` Jan Nieuwenhuizen
0 siblings, 1 reply; 13+ messages in thread
From: Jan Nieuwenhuizen @ 2017-11-23 5:43 UTC (permalink / raw)
To: Matt Wette; +Cc: Guile User Mailing List
Matt Wette writes:
>> So, guile-2.0 resurrected, yay!
>
> But there will be issues with 2.0in general since, IIRC, SRFI-43 is in guile-2.0.13 but not guile-2.0.11,
> or something to that order. I don't know how far you want to go with the backward compatability.
For now I'm happy; we'll see. srfi-43 can easily be injected from
stable-2.0 as far as I'm concerned.
thanks!
janneke
--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: fix for c99dev string escape char read
2017-11-23 5:43 ` Jan Nieuwenhuizen
@ 2017-11-23 7:02 ` Jan Nieuwenhuizen
2017-11-23 14:45 ` Matt Wette
0 siblings, 1 reply; 13+ messages in thread
From: Jan Nieuwenhuizen @ 2017-11-23 7:02 UTC (permalink / raw)
To: Matt Wette; +Cc: Guile User Mailing List
Jan Nieuwenhuizen writes:
> For now I'm happy; we'll see.
Still happy, found a bug though; on c99dev plus my previous patch this happens
--8<---------------cut here---------------start------------->8---
(use-modules (nyacc lang c99 parser) (ice-9 pretty-print))
(pretty-print (with-input-from-string "#define ELF \"\\177ELF\"\nchar *a = ELF;" parse-c99))
=>
(trans-unit
(decl (decl-spec-list (type-spec (fixed-type "char")))
(init-declr-list
(init-declr
(ptr-declr (pointer) (ident "a"))
(initzer (p-expr (string "177ELF")))))))
--8<---------------cut here---------------end--------------->8---
master (correctly) gives
... (p-expr (string "\x7fELF"))
janneke
--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: fix for c99dev string escape char read
2017-11-23 7:02 ` Jan Nieuwenhuizen
@ 2017-11-23 14:45 ` Matt Wette
2017-11-23 15:04 ` Matt Wette
0 siblings, 1 reply; 13+ messages in thread
From: Matt Wette @ 2017-11-23 14:45 UTC (permalink / raw)
To: Jan Nieuwenhuizen; +Cc: Guile User Mailing List
> On Nov 22, 2017, at 11:02 PM, Jan Nieuwenhuizen <janneke@gnu.org> wrote:
>
> Jan Nieuwenhuizen writes:
>
>> For now I'm happy; we'll see.
>
> Still happy, found a bug though; on c99dev plus my previous patch this happens
>
> --8<---------------cut here---------------start------------->8---
> (use-modules (nyacc lang c99 parser) (ice-9 pretty-print))
> (pretty-print (with-input-from-string "#define ELF \"\\177ELF\"\nchar *a = ELF;" parse-c99))
>
> =>
>
> (trans-unit
> (decl (decl-spec-list (type-spec (fixed-type "char")))
> (init-declr-list
> (init-declr
> (ptr-declr (pointer) (ident "a"))
> (initzer (p-expr (string "177ELF")))))))
> --8<---------------cut here---------------end--------------->8---
>
> master (correctly) gives
>
> ... (p-expr (string "\x7fELF"))
>
> janneke
>
> --
> Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
> Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
>
Right. I thought octals had to start with 0. I will fix.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: fix for c99dev string escape char read
2017-11-23 14:45 ` Matt Wette
@ 2017-11-23 15:04 ` Matt Wette
2017-11-23 15:14 ` Jan Nieuwenhuizen
0 siblings, 1 reply; 13+ messages in thread
From: Matt Wette @ 2017-11-23 15:04 UTC (permalink / raw)
To: Matt Wette; +Cc: Guile User Mailing List
> On Nov 23, 2017, at 6:45 AM, Matt Wette <matt.wette@gmail.com> wrote:
>
>
>> On Nov 22, 2017, at 11:02 PM, Jan Nieuwenhuizen <janneke@gnu.org> wrote:
>>
>> Jan Nieuwenhuizen writes:
>>
>>> For now I'm happy; we'll see.
>>
>> Still happy, found a bug though; on c99dev plus my previous patch this happens
>>
>> --8<---------------cut here---------------start------------->8---
>> (use-modules (nyacc lang c99 parser) (ice-9 pretty-print))
>> (pretty-print (with-input-from-string "#define ELF \"\\177ELF\"\nchar *a = ELF;" parse-c99))
>>
>> =>
>>
>> (trans-unit
>> (decl (decl-spec-list (type-spec (fixed-type "char")))
>> (init-declr-list
>> (init-declr
>> (ptr-declr (pointer) (ident "a"))
>> (initzer (p-expr (string "177ELF")))))))
>> --8<---------------cut here---------------end--------------->8---
>>
>> master (correctly) gives
>>
>> ... (p-expr (string "\x7fELF"))
>>
>> janneke
>>
>> --
>> Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
>> Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
>>
>
>
> Right. I thought octals had to start with 0. I will fix.
Or I though so yesterday when I changed the code. I believe I have a fix, but I'm going to
add and execute more lex tests before pushing.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: fix for c99dev string escape char read
2017-11-23 15:04 ` Matt Wette
@ 2017-11-23 15:14 ` Jan Nieuwenhuizen
0 siblings, 0 replies; 13+ messages in thread
From: Jan Nieuwenhuizen @ 2017-11-23 15:14 UTC (permalink / raw)
To: Matt Wette; +Cc: Guile User Mailing List
Matt Wette writes:
>> Right. I thought octals had to start with 0. I will fix.
>
> Or I though so yesterday when I changed the code. I believe I have a fix, but I'm going to
> add and execute more lex tests before pushing.
Ah, I now get your reasoning and code there.
Thanks!
--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2017-11-23 15:14 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-11-11 17:19 [ANN] nyacc 0.82.2 is released Matt Wette
2017-11-11 18:37 ` [ANN] nyacc 0.82.3 " Matt Wette
2017-11-11 19:53 ` Jan Nieuwenhuizen
2017-11-11 19:59 ` Jan Nieuwenhuizen
2017-11-11 20:00 ` Matt Wette
2017-11-11 22:03 ` [ANN] nyacc 0.82.4 " Matt Wette
2017-11-23 2:11 ` fix for c99dev string escape char read Jan Nieuwenhuizen
2017-11-23 3:28 ` Matt Wette
2017-11-23 5:43 ` Jan Nieuwenhuizen
2017-11-23 7:02 ` Jan Nieuwenhuizen
2017-11-23 14:45 ` Matt Wette
2017-11-23 15:04 ` Matt Wette
2017-11-23 15:14 ` Jan Nieuwenhuizen
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).