Matt Wette writes: > Split-cppdef is now sing just string functions: > > (define (split-cppdef defstr) > (let ((x2st (string-index defstr #\()) ; start of args > (x2nd (string-index defstr #\))) ; end of args > (x3 (string-index defstr #\=))) ; start of replacement > (cond > ((not x3) #f) > ((and x2st x3) > ;;(if (not (eq? (1+ x2nd) x3)) (c99-err "bad CPP def: ~S" defstr)) > (cons* (substring defstr 0 x2st) > (string-split > (string-delete #\space (substring defstr (1+ x2st) x2nd)) > #\,) > (substring defstr (1+ x3)))) > (else > (cons (substring defstr 0 x3) (substring defstr (1+ x3)))))))
Very nice, thank you so much! > And with regard to your name clashes I have added prefixes. Here is the call > to generate the table and action files: > > (write-lalr-actions c99-mach (xtra-dir "c99act.scm.new") #:prefix "c99-") > (write-lalr-tables c99-mach (xtra-dir "c99tab.scm.new") #:prefix "c99-“) Okay, beautiful. You distribute these in Git too, right? > These should show up in the first nyacc release after 0.77.0. I'll be looking to make a new Mes release for Guix too, with Nyacc unbundled. For that, we need to package Nyacc and having `./configure make install' would be the first step. Do you have plans or ideas for that? If you want I could have a look and copy what I've for Mes, but Nyacc can be much simpler. I never use autotools but do try to conform to GNU standards. Greetings, janneke -- Jan Nieuwenhuizen <[email protected]> | GNU LilyPond http://lilypond.org Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.nl
