changelog shortlog graph tags branches changeset files revisions annotate raw help

Mercurial > core / lisp/lib/parse/pkg.lisp

changeset 357: 7c1383c08493
parent: 2a4f11c0e8c8
child: ee8a3a0c57b8
author: Richard Westhaver <ellis@rwest.io>
date: Tue, 21 May 2024 22:20:29 -0400
permissions: -rw-r--r--
description: port xsubseq, proc-parse. work on http and clap
1 (defpackage :parse/lex
2  (:nicknames :lex)
3  (:use :cl :cl-ppcre :std)
4  (:export
5  #:*string*
6  #:*length*
7  #:*index*
8  #:with-lexer-environment
9  #:consume
10  #:advance
11  #:unread
12  #:peek
13  #:advance-n
14  #:unread-n
15  #:consume-until
16  #:matcher-character
17  #:matcher-string
18  #:matcher-range
19  #:matcher-find
20  #:matcher-or
21  #:matcher-and
22  #:matcher-not
23  #:matcher-next
24  #:matcher-prev
25  #:matcher-any
26  #:make-matcher
27  #:define-matcher))
28 
29 (defpackage :parse/yacc
30  (:use :cl :std)
31  (:export :make-production :make-grammar :make-parser :parse-with-lexer
32  :define-grammar :define-parser
33  :yacc-compile-warning :conflict-warning :conflict-summary-warning
34  :yacc-runtime-error :yacc-parse-error :yacc-parse-error-terminal
35  :yacc-parse-error-value :yacc-parse-error-expected-terminals))
36 
37 (defpackage parse/bytes
38  (:use :cl)
39  (:import-from :sb-cltl2
40  :variable-information)
41  (:import-from :std :with-gensyms :once-only
42  :ensure-cons :ignore-some-conditions)
43  (:export :with-vector-parsing
44  :with-string-parsing
45  :with-octets-parsing
46  :eofp
47  :current
48  :peek
49  :eof-value
50  :pos
51  :advance
52  :advance*
53  :advance-to
54  :advance-to*
55  :skip
56  :skip*
57  :skip+
58  :skip?
59  :skip-until
60  :skip-while
61  :bind
62  :match
63  :match-i
64  :match?
65  :match-case
66  :match-i-case
67  :match-failed))
68 
69 
70 (uiop:define-package :parse
71  (:use :cl :std)
72  (:use-reexport :parse/lex :parse/yacc :parse/bytes))