only pretty regex string for compile fkn
authorStefan Israelsson Tampe <stefan.itampe@gmail.com>
Wed, 15 Aug 2018 20:09:20 +0000 (22:09 +0200)
committerStefan Israelsson Tampe <stefan.itampe@gmail.com>
Wed, 15 Aug 2018 20:09:20 +0000 (22:09 +0200)
modules/language/python/module/re.scm
modules/language/python/module/re/compile.scm
modules/language/python/module/re/parser.scm

index 6765654ba23930fa73da33c3e207243a89ba6d7b..edd869df6634d16b3da3b643aa78372d085e24c8 100644 (file)
@@ -1,6 +1,7 @@
 (define-module (language python module re)
   #:use-module (language python module re compile)
   #:use-module (language python module re flags)
+  #:use-module (language python module re parser)
   #:use-module (language python list)
   #:use-module (language python dict)
   #:use-module (language python try)
   
   
      
-(def (compile s (= flags 0)) (Regexp s flags))
+(def (compile s (= flags 0))
+     (with-fluids ((pretty #t))
+        (Regexp s flags)))
+
+(def (compile-r s (= flags 0))
+     (with-fluids ((pretty #f))
+        (Regexp s flags)))
 
 (define (purge) (values))
 
index 9fe6fc09cafb81063aa867ac857679ce4c615be5..f92a8dd25777d2234183d1e1cba9658fa2a0bc80 100644 (file)
@@ -4,7 +4,7 @@
   #:use-module (language python list)
   #:use-module (language python string)
   #:use-module ((parser stis-parser) #:select 
-               ((parse . stisparse) <p-lambda> <p-cc> .. f-nl! f-nl
+               ((parse . stis-parse) <p-lambda> <p-cc> .. f-nl! f-nl
                 f-tag! f-tag f-seq f-or f-or! f-and f-true g* g+ gmn ng* ng+
                  ngmn f-reg! f-and! f-test N M X XL f-pk
                 g? ng? f-test! f-eof f-not! f-prev f-not f-out f-rev
@@ -13,7 +13,7 @@
   
   #:use-module (parser stis-parser macros)
   #:use-module (ice-9 match)
-  #:export (compile-reg test-reg parse))
+  #:export (parse compile-reg test-reg parse))
 
 (define trace? #f)
 (define (trace nm f)
   (let ((p (f-seq (f-out '(() ())) (compile (parse-reg x)))))
     (list p (fluid-ref groups) (fluid-ref groupindex))))
 
-(define (test-reg y x)
+(define (parse s x)
   (with-fluids ((*whitespace* f-true))
-    (stisparse (maybe-add-nk y)  (car (compile-reg x)))))
-
-(define (parse y x)
-  (with-fluids ((*whitespace* f-true))
-    (stisparse (maybe-add-nk y) x)))
-
+    (stis-parse s x)))
index b20d2720ad08bdeb7469e9588bf858a58e00af1d..05ce4c6c551edb39653084507275d85e9c2209d3 100644 (file)
@@ -1,6 +1,6 @@
 (define-module (language python module re parser)
   #:use-module (parser stis-parser)
-  #:export(parse-reg e-matcher))
+  #:export(parse-reg e-matcher pretty))
 
 (define-syntax-rule (mk n tag str) (define n (f-seq tag (f-tag str))))
 (mk f-. #:dot  ".")
 (define spec   (f-list #:op atom (f-or! q+? q?? q*? q* q? q+ repn? repnm? repn repnm)))
 (define aatom  (f-or! spec atom))
 (define f-com  (f-seq (f-tag "#") (f* (f-not (f-or! f-eof f-nl)))))
-(define ws     (f* (f-or! f-com f-nl (f-reg "[ \t\r]"))))
+(define ws     (Ds (if (fluid-ref pretty)
+                       (f* (f-or! f-com f-nl (f-reg "[ \t\r]")))
+                       f-true)))
 (define line   (f-cons* #:seq ws aatom ws (ff* (f-seq ws aatom ws) )))
 (define ee     (f-cons* #:or line (ff* (f-seq f-bar line))))
+(define pretty (make-fluid #f))
 (define (parse-reg str)
   (with-fluids ((*whitespace* ws))
-     (parse str (f-seq ee f-eof))))
+    (parse str (f-seq ee f-eof))))
 
 (define e-matcher ee)
+
+