Index: trunk/parse.lisp
===================================================================
--- trunk/parse.lisp	(revision trunk,20)
+++ 	(revision )
@@ -1,58 +1,0 @@
-;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp -*-
-
-(defun hash-names (names &optional (map (make-hash-table)))
-  (if names
-    (let ((name (first names)))
-      (setf (gethash name map) name)
-      (hash-names (rest names) map))
-    map))
-
-(defun make-named-parser (name rule)
-  (declare (special *filter*))
-  `(defun ,name (token-list)
-    (let ((parser ,(make-parser rule)))
-      (multiple-value-bind (matched rlist mtree) (funcall parser token-list)
-	(when matched
-	  (values t
-		  rlist
-		  ,(if *filter*
-		       `(list (append (list (quote ,name)) (,*filter* mtree)))
-		       `(list (append (list (quote ,name)) mtree))
-)))))))
-
-(defun make-named-class (name rule)
-  (declare (special *filter*))
-  `(defun ,name (token-list)
-    (let ((parser ,(make-parser rule)))
-      ,(if *filter*
-	   `(multiple-value-bind (matched rlist mtree)
-	     (funcall parser token-list)
-	     (when matched
-	       (values t rlist (,*filter* mtree))))
-	   `(funcall parser token-list)))))
-
-(defun make-named (definition)
-  (declare (special *classes*))
-  (destructuring-bind (name rule &key filter) definition
-    (specials ((*filter* filter))
-      (if (member name *classes*)
-	  (make-named-class name rule)
-	  (make-named-parser name rule)))))
-
-(defmacro defgrammar ((&key classes import regex-flags skip)
-		      &body definitions)
-  (specials ((*classes* classes)
-	     (*import* import)		; used only for warnings
-	     (*regex-flags* (as-list regex-flags))
-	     (*skip* skip)		; unused
-	     (definition-names (mapcar #'first definitions)))
-    (let ((rule-map (hash-names definition-names)))
-      `(progn
-	,@(mapcar #'make-named definitions)))))
-
-#|
-dot-all dot recognizes line-breaks
-single-line matches extend across lines
-import section supress warnings
-skip tokens automatically allow these between all parts
-|#
