aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorPierre Neidhardt <ambrevar@gmail.com>2018-08-24 11:19:24 +0200
committerPierre Neidhardt <mail@ambrevar.xyz>2018-10-19 17:54:10 +0200
commitef091e91552dc849dcf454334449045333af9811 (patch)
tree18750c46aa453ffcc44afad2d8043bde9fc0a2dd /gnu
parent2d418bfa39149df75b3975ad677d3c9b696d1954 (diff)
downloadpatches-ef091e91552dc849dcf454334449045333af9811.tar
patches-ef091e91552dc849dcf454334449045333af9811.tar.gz
gnu: Add cl-yacc.
* gnu/packages/lisp.scm (cl-cl-yacc, ecl-cl-yacc, sbcl-cl-yacc): New variables.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/lisp.scm35
1 files changed, 35 insertions, 0 deletions
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index f5c0b90946..d9a2cce260 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -1675,3 +1675,38 @@ GNU libiconv, but completely written in Common Lisp.")
(define-public ecl-babel
(sbcl-package->ecl-package sbcl-babel))
+
+(define-public sbcl-cl-yacc
+ (package
+ (name "sbcl-cl-yacc")
+ (version "0.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jech/cl-yacc")
+ (commit (string-append "cl-yacc-" version))))
+ (sha256
+ (base32
+ "16946pzf8vvadnyfayvj8rbh4zjzw90h0azz2qk1mxrvhh5wklib"))
+ (file-name (string-append "cl-yacc-" version "-checkout"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ `(#:asd-file "yacc.asd"
+ #:asd-system-name "yacc"))
+ (synopsis "LALR(1) parser generator for Common Lisp, similar in spirit to Yacc")
+ (description
+ "CL-Yacc is a LALR(1) parser generator for Common Lisp, similar in spirit
+to AT&T Yacc, Berkeley Yacc, GNU Bison, Zebu, lalr.cl or lalr.scm.
+
+CL-Yacc uses the algorithm due to Aho and Ullman, which is the one also used
+by AT&T Yacc, Berkeley Yacc and Zebu. It does not use the faster algorithm due
+to DeRemer and Pennello, which is used by Bison and lalr.scm (not lalr.cl).")
+ (home-page "https://www.irif.fr/~jch//software/cl-yacc/")
+ (license license:expat)))
+
+(define-public cl-yacc
+ (sbcl-package->cl-source-package sbcl-cl-yacc))
+
+(define-public ecl-cl-yacc
+ (sbcl-package->ecl-package sbcl-cl-yacc))