summaryrefslogtreecommitdiff
path: root/package.lisp
diff options
context:
space:
mode:
authorJuan Manuel Tomás <jtomas1815@gmail.com>2023-05-01 23:03:53 -0300
committerJuan Manuel Tomás <jtomas1815@gmail.com>2023-05-01 23:03:53 -0300
commitaa378b3568b7dbb05de0de9f17abaae03863058a (patch)
tree7646ee29fc91bcd6add3f38dc73bf38820e4d1c6 /package.lisp
parentd63d9d6d881a67bd132b1f55000fe4dc54491173 (diff)
downloadmonparser-aa378b3568b7dbb05de0de9f17abaae03863058a.tar.gz
monparser-aa378b3568b7dbb05de0de9f17abaae03863058a.zip
Improve flexibility
This will make it easier to run the parser in a multi-stage setup without sacrificing the standalone setups. Modified comp to extract the location of parsed things. I expose the parts of the Input, Parsing and Failure objects to customize error handling. Parsing and Failure objects have a default printer now.
Diffstat (limited to 'package.lisp')
-rw-r--r--package.lisp19
1 files changed, 15 insertions, 4 deletions
diff --git a/package.lisp b/package.lisp
index 6e868f9..5936a52 100644
--- a/package.lisp
+++ b/package.lisp
@@ -1,11 +1,23 @@
(defpackage #:input
(:use #:cl)
- (:export #:from-string
+ (:export #:file
+ #:data
+ #:cursor
+ #:line-and-column
+ #:has-data?
+ #:prefix?
+ #:peek
+ #:advance
+ #:from-string
#:from-file))
(defpackage #:parser
(:use #:cl)
- (:export #:run
+ (:export #:parsing-p
+ #:parsing-tree
+ #:parsing-left
+ #:failure-place
+ #:failure-message
#:fail
#:comp
#:one-of
@@ -19,5 +31,4 @@
#:nothing
#:optional
#:many
- #:separated-list
- #:whitespace))
+ #:separated-list))