[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] 03/255: parse-prop -> parse-props
From: |
Eric Schulte |
Subject: |
[elpa] 03/255: parse-prop -> parse-props |
Date: |
Sun, 16 Mar 2014 01:02:08 +0000 |
eschulte pushed a commit to branch go
in repository elpa.
commit 5325f5d627ddfdfd562fd92d3340f3ec64d75325
Author: Eric Schulte <address@hidden>
Date: Tue May 15 06:53:45 2012 -0400
parse-prop -> parse-props
---
sgf.el | 23 ++++++++++-------------
1 files changed, 10 insertions(+), 13 deletions(-)
diff --git a/sgf.el b/sgf.el
index ba613ba..82b027b 100644
--- a/sgf.el
+++ b/sgf.el
@@ -53,15 +53,12 @@
(defun parse-props (str)
(let (res (start 0))
- (while (string-match "[[:space:]]*;\\([[:alpha:]]+\\(\\[[^;]+?\\]\\)+\\)"
str start)
+ (while (string-match "[[:space:]]*\\([[:alpha:]]+\\(\\[[^;]+?\\]\\)+\\)"
str start)
(setq start (match-end 0))
- (push (parse-prop (match-string 1 str)) res))
+ (multiple-value-bind (id rest) (parse-prop-ident (match-string 1 str))
+ (push (cons id (parse-prop-vals rest)) res)))
(nreverse res)))
-(defun parse-prop (str)
- (multiple-value-bind (id rest) (parse-prop-ident str)
- (cons id (parse-prop-vals rest))))
-
(defun parse-prop-ident (str)
(let ((end (if (and (<= ?A (aref str 1))
(< (aref str 1) ?Z))
@@ -76,21 +73,21 @@
(push (match-string 1 str) res))
(nreverse res)))
-(defun parse-node ())
+(defun parse-nodes ())
;;; Tests
(require 'ert)
-(ert-deftest parse-prop-tests ()
+(ert-deftest sgf-parse-prop-tests ()
(flet ((should= (a b) (should (tree-equal a b :test #'string=))))
- (should= (parse-prop "B[pq]") '("B" "pq"))
- (should= (parse-prop "GM[1]") '("GM" "1"))
- (should (= (length (cdr (parse-prop "TB[as][bs][cq][cr][ds][ep]")))
+ (should= (parse-props "B[pq]") '(("B" "pq")))
+ (should= (parse-props "GM[1]") '(("GM" "1")))
+ (should (= (length (cdar (parse-props "TB[as][bs][cq][cr][ds][ep]")))
6))))
-(ert-deftest parse-nodes-test ()
+(ert-deftest sgf-parse-nodes-test ()
(let* ((str ";B[pq];W[dd];B[pc];W[eq];B[cp];W[cm];B[do];W[hq];B[qn];W[cj]")
- (nodes (parse-props str)))
+ (nodes (parse-nodes str)))
(should (= (length nodes) 10))
(should (tree-equal (car nodes) '("B" "pq") :test #'string=))))
- [elpa] branch go created (now a5154e6), Eric Schulte, 2014/03/15
- [elpa] 01/255: parsing properties in SGF files, Eric Schulte, 2014/03/15
- [elpa] 02/255: parse nodes, Eric Schulte, 2014/03/15
- [elpa] 04/255: parse-many macro, Eric Schulte, 2014/03/15
- [elpa] 05/255: parse-nodes, Eric Schulte, 2014/03/15
- [elpa] 03/255: parse-prop -> parse-props,
Eric Schulte <=
- [elpa] 08/255: parsing simple trees, Eric Schulte, 2014/03/15
- [elpa] 06/255: passing all tests, Eric Schulte, 2014/03/15
- [elpa] 07/255: some fixes, Eric Schulte, 2014/03/15
- [elpa] 11/255: ignore data directory, Eric Schulte, 2014/03/15
- [elpa] 14/255: processing simple/core properties, Eric Schulte, 2014/03/15
- [elpa] 13/255: splitting into sections & stubbing out parsing, Eric Schulte, 2014/03/15
- [elpa] 12/255: headers, Eric Schulte, 2014/03/15
- [elpa] 15/255: board display, Eric Schulte, 2014/03/15
- [elpa] 22/255: example sgf file generated using gcoban, Eric Schulte, 2014/03/15
- [elpa] 17/255: not using "I" as an index, Eric Schulte, 2014/03/15