https://github.com/schemeway/lalr-scm
http://www.iro.umontreal.ca/~boucherd/Lalr/documentation/lalr.html (和訳)
lalr-2.0をGaucheで動かすには以下のパッチを当てる。
diff -crN Lalr/Makefile Lalr.new/Makefile *** Lalr/Makefile Thu Jun 20 03:25:57 2002 --- Lalr.new/Makefile Fri Dec 13 19:43:38 2002 *************** *** 19,24 **** --- 19,25 ---- @echo " make plt-scheme" @echo " make sisc" @echo " make chicken" + @echo " make gauche" @echo "********************" #; ---------------------------------------------------------------------- ;# *************** *** 54,59 **** --- 55,68 ---- @echo "done." #; ---------------------------------------------------------------------- ;# + #; Gauche build ;# + #; ---------------------------------------------------------------------- ;# + gauche: + @echo "building lalr.scm for gauche..." + @./lalr.skl gauche + @echo "done." + + #; ---------------------------------------------------------------------- ;# #; documentation ;# #; ---------------------------------------------------------------------- ;# doc: diff -crN Lalr/lalr.skl Lalr.new/lalr.skl *** Lalr/lalr.skl Thu Jun 20 03:58:42 2002 --- Lalr.new/lalr.skl Fri Dec 13 19:50:53 2002 *************** *** 9,14 **** --- 9,15 ---- plt-scheme) DECLS=ports/plt-scheme.decls;; sisc) DECLS=ports/sisc.decls;; chicken) DECLS=ports/chicken.decls;; + gauche) DECLS=ports/gauche.decls;; *) echo "invalid Scheme system: $1" ; exit 1;; esac diff -crN Lalr/ports/gauche.decls Lalr.new/ports/gauche.decls *** Lalr/ports/gauche.decls Wed Dec 31 14:00:00 1969 --- Lalr.new/ports/gauche.decls Fri Dec 13 19:49:50 2002 *************** *** 0 **** --- 1,7 ---- + (begin + (define-macro (def-macro form . body) + `(define-macro ,form . ,body)) + + (def-macro (BITS-PER-WORD) 30) ;; different on LP64 processors, but for now. + (def-macro (logical-or x . y) `(logior ,x . ,y)) + )