intern arbitrary constants
[bpt/guile.git] / module / ice-9 / peg.scm
1 ;;;; peg.scm --- Parsing Expression Grammar (PEG) parser generator
2 ;;;;
3 ;;;; Copyright (C) 2010, 2011 Free Software Foundation, Inc.
4 ;;;;
5 ;;;; This library is free software; you can redistribute it and/or
6 ;;;; modify it under the terms of the GNU Lesser General Public
7 ;;;; License as published by the Free Software Foundation; either
8 ;;;; version 3 of the License, or (at your option) any later version.
9 ;;;;
10 ;;;; This library is distributed in the hope that it will be useful,
11 ;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
12 ;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 ;;;; Lesser General Public License for more details.
14 ;;;;
15 ;;;; You should have received a copy of the GNU Lesser General Public
16 ;;;; License along with this library; if not, write to the Free Software
17 ;;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18 ;;;;
19
20 (define-module (ice-9 peg)
21 #:use-module (ice-9 peg codegen)
22 #:use-module (ice-9 peg string-peg)
23 ;; Note: the most important effect of using string-peg is not whatever
24 ;; functions it exports, but the fact that it adds a new handler to
25 ;; peg-sexp-compile.
26 #:use-module (ice-9 peg simplify-tree)
27 #:use-module (ice-9 peg using-parsers)
28 #:use-module (ice-9 peg cache)
29 #:re-export (define-peg-pattern
30 define-peg-string-patterns
31 match-pattern
32 search-for-pattern
33 compile-peg-pattern
34 keyword-flatten
35 context-flatten
36 peg:start
37 peg:end
38 peg:string
39 peg:tree
40 peg:substring
41 peg-record?))
42