[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master d8cd9d6 17/60: Better naming
From: |
Junpeng Qiu |
Subject: |
[elpa] master d8cd9d6 17/60: Better naming |
Date: |
Tue, 25 Oct 2016 17:45:13 +0000 (UTC) |
branch: master
commit d8cd9d654b80b73de8ccd4b649e4c00eaac0983a
Author: Junpeng Qiu <address@hidden>
Commit: Junpeng Qiu <address@hidden>
Better naming
---
parsec.el | 84 +++++++++++++++++++++++++++++++------------------------------
1 file changed, 43 insertions(+), 41 deletions(-)
diff --git a/parsec.el b/parsec.el
index c35ad05..3104776 100644
--- a/parsec.el
+++ b/parsec.el
@@ -38,14 +38,14 @@
(char-to-string c)
"`eob'")))
-(defun parsec-new-msg (msg)
- (cons 'parsec-msg msg))
+(defun parsec-error-new (msg)
+ (cons 'parsec-error msg))
-(defun parsec-msg-p (msg)
- (and (consp msg)
- (eq (car msg) 'parsec-msg)))
+(defun parsec-error-p (obj)
+ (and (consp obj)
+ (eq (car obj) 'parsec-error)))
-(defalias 'parsec-msg-get 'cdr)
+(defalias 'parsec-error-str 'cdr)
(defsubst parsec-throw (msg)
(throw 'parsec-failed msg))
@@ -59,10 +59,10 @@
(when (or (stringp msg)
(and (stringp expected)
(stringp found)))
- (parsec-new-msg (if (stringp msg)
- msg
- (format "Found \"%s\" -> Expected \"%s\""
- found expected))))))))
+ (parsec-error-new (if (stringp msg)
+ msg
+ (format "Found \"%s\" -> Expected \"%s\""
+ found expected))))))))
(defun parsec-ch (ch &rest args)
(let ((next-char (char-after)))
@@ -141,23 +141,23 @@
(defmacro parsec-or (&rest parsers)
(let ((outer-sym (make-symbol "outer"))
(parser-sym (make-symbol "parser"))
- (msg-sym (make-symbol "msg"))
- (error-list-sym (make-symbol "err-list")))
- `(let (,error-list-sym)
+ (error-sym (make-symbol "err"))
+ (error-str-list-sym (make-symbol "err-list")))
+ `(let (,error-str-list-sym)
(cl-loop named ,outer-sym for ,parser-sym in ',parsers
finally (parsec-stop
:message
(replace-regexp-in-string
"\n" "\n\t"
(concat "None of the parsers succeeds:\n"
- (mapconcat #'identity ,error-list-sym
"\n"))))
+ (mapconcat #'identity ,error-str-list-sym
"\n"))))
do
(parsec-protect-atom
- (parsec-start
- (cl-return-from ,outer-sym
- (parsec-eavesdrop-message ,msg-sym
- (parsec-make-atom (eval ,parser-sym))
- (push (parsec-msg-get ,msg-sym)
,error-list-sym)))))))))
+ (parsec-start
+ (cl-return-from ,outer-sym
+ (parsec-eavesdrop-error ,error-sym
+ (parsec-make-atom (eval ,parser-sym))
+ (push (parsec-error-str ,error-sym)
,error-str-list-sym)))))))))
(defalias 'parsec-and 'progn)
@@ -170,9 +170,9 @@
(defmacro parsec-try (&rest forms)
(let ((orig-pt-sym (make-symbol "orig-pt"))
- (msg-sym (make-symbol "msg")))
+ (error-sym (make-symbol "err")))
`(let ((,orig-pt-sym (point)))
- (parsec-eavesdrop-message ,msg-sym
+ (parsec-eavesdrop-error ,error-sym
(parsec-and ,@forms)
(goto-char ,orig-pt-sym)))))
@@ -186,12 +186,12 @@
(let ((orig-pt-sym (make-symbol "orig-pt"))
(error-sym (make-symbol "err")))
`(let ((,orig-pt-sym (point)))
- (parsec-eavesdrop-message ,error-sym
+ (parsec-eavesdrop-error ,error-sym
,parser
(unless (= (point) ,orig-pt-sym)
(throw 'parsec-failed-at-half ,error-sym))))))
-(defmacro parsec-eavesdrop-message (error-sym parser &rest handler)
+(defmacro parsec-eavesdrop-error (error-sym parser &rest handler)
(declare (indent 2))
`(catch 'parsec-success
(let ((,error-sym (parsec-start
@@ -199,23 +199,25 @@
,@handler
(parsec-throw ,error-sym))))
-(defmacro parsec-with-message (msg &rest forms)
+(defmacro parsec-with-error-message (msg &rest forms)
(declare (indent 1))
- `(parsec-eavesdrop-message _
+ `(parsec-eavesdrop-error _
(parsec-and ,@forms)
- (parsec-throw (parsec-new-msg msg))))
+ (parsec-throw (parsec-error-new msg))))
(defmacro parsec-ensure (&rest forms)
- `(parsec-eavesdrop-message msg
- (parsec-and ,@forms)
- (error "%s" (parsec-msg-get msg))))
+ (let ((error-sym (make-symbol "err")))
+ `(parsec-eavesdrop-error ,error-sym
+ (parsec-and ,@forms)
+ (error "%s" (parsec-error-str ,error-sym)))))
-(defmacro parsec-ensure-with-message (msg &rest forms)
+(defmacro parsec-ensure-with-error-message (msg &rest forms)
(declare (indent 1))
`(parsec-ensure
- (parsec-with-message msg
+ (parsec-with-error-message ,msg
(parsec-and ,@forms))))
+;;; TODO
(cl-defmacro parsec-until (parser &optional &key skip)
`(catch 'done
(while (not (eobp))
@@ -226,19 +228,19 @@
`(forward-char 1)))))
(defmacro parsec-many (parser)
- (let ((res (make-symbol "results"))
+ (let ((res-sym (make-symbol "results"))
(error-sym (make-symbol "err")))
- `(let (,res)
+ `(let (,res-sym)
(parsec-protect-atom
- (parsec-start
- (while (not (eobp))
- (push (parsec-make-atom ,parser) ,res))))
- (nreverse ,res))))
+ (parsec-start
+ (while (not (eobp))
+ (push (parsec-make-atom ,parser) ,res-sym))))
+ (nreverse ,res-sym))))
(defmacro parsec-many1 (parser)
`(cons ,parser (parsec-many ,parser)))
-(defun parsec-list-to-string (l)
+(defsubst parsec-list-to-string (l)
(mapconcat #'identity l ""))
(defmacro parsec-many-as-string (parser)
@@ -272,11 +274,11 @@
(consp x)
(eq (car x) 'Just))))
-(defmacro parsec-make-maybe (&rest body)
+(defmacro parsec-make-maybe (&rest forms)
(let ((res (make-symbol "result")))
`(let ((,res (parsec-start
- ,@body)))
- (if (parsec-msg-p ,res)
+ ,@forms)))
+ (if (parsec-error-p ,res)
parsec-nothing
(parsec-just ,res)))))
- [elpa] master updated (e479a3e -> dfb3af0), Junpeng Qiu, 2016/10/25
- [elpa] master d21bf7d 14/60: Remove unused code, Junpeng Qiu, 2016/10/25
- [elpa] master 108879f 11/60: Better propagate naming and implementation, Junpeng Qiu, 2016/10/25
- [elpa] master 5810eef 21/60: Remove parsec-continue, Junpeng Qiu, 2016/10/25
- [elpa] master 452ec1e 35/60: Update scheme parser, Junpeng Qiu, 2016/10/25
- [elpa] master 14b28a1 16/60: Add basic README, Junpeng Qiu, 2016/10/25
- [elpa] master 606fed1 10/60: Add simple JSON parser, Junpeng Qiu, 2016/10/25
- [elpa] master d8cd9d6 17/60: Better naming,
Junpeng Qiu <=
- [elpa] master a5ca813 04/60: Full & simple parser, Junpeng Qiu, 2016/10/25
- [elpa] master 9996b5b 31/60: Update full-csv-parser, Junpeng Qiu, 2016/10/25
- [elpa] master bdfcbde 23/60: Update library description, Junpeng Qiu, 2016/10/25
- [elpa] master 2e8c52b 40/60: Make sure parsec-not-followed-by consumes no input, Junpeng Qiu, 2016/10/25
- [elpa] master fb26929 34/60: Fix parsec-make-alternatives, Junpeng Qiu, 2016/10/25
- [elpa] master 31388e6 52/60: Add -s aliases, Junpeng Qiu, 2016/10/25
- [elpa] master 34521c6 53/60: Update README about *-s functions, Junpeng Qiu, 2016/10/25
- [elpa] master 8f0c266 58/60: Add doc for parsec-peek(-p), Junpeng Qiu, 2016/10/25
- [elpa] master ffd42de 45/60: Use simple-csv-parser.el as a demo, Junpeng Qiu, 2016/10/25
- [elpa] master bf49fb6 38/60: Upate README, Junpeng Qiu, 2016/10/25