diff options
| author | Juan Manuel Tomás <jtomas1815@gmail.com> | 2025-11-24 07:01:47 -0300 |
|---|---|---|
| committer | Juan Manuel Tomás <jtomas1815@gmail.com> | 2025-11-24 07:01:47 -0300 |
| commit | 2ebab36f8c689fa3e6f88cfc25cecd83848ca129 (patch) | |
| tree | 63208a8be028b19974b8a5e686470bd4fb3fc657 /main.lisp | |
| parent | 1c1162747d8d7e12140329a105c0776d5555a351 (diff) | |
| download | monparser-2ebab36f8c689fa3e6f88cfc25cecd83848ca129.tar.gz monparser-2ebab36f8c689fa3e6f88cfc25cecd83848ca129.zip | |
Big update
Diffstat (limited to 'main.lisp')
| -rw-r--r-- | main.lisp | 17 |
1 files changed, 8 insertions, 9 deletions
@@ -1,17 +1,16 @@ (in-package #:monparser) (defun parse (parser data) - (let* ((result (funcall parser - (make-instance 'cursed:text - :data data)))) - (if (parsing-p result) - (let ((finished? (not (cursed:has-data? (parsing-end result))))) - (values (parsing-tree result) finished?)) - result))) + (if (typep data 'string) + (funcall parser + (make-instance 'text :data data) + (make-instance 'text :data data)) + (error "Only string parsing is allowed."))) (defun append-on-failure (p message) - (lambda (input) - (let ((result (funcall p input))) + (lambda (start input) + (declare (ignore start)) + (let ((result (funcall p input input))) (if (failure-p result) (make-failure :place (failure-place result) :message (concatenate 'string message (failure-message result)) |
