debuggings
[software/python-on-guile.git] / modules / language / python / module / re / parser.scm
index 89462ae5732bfbc2905f95b96a9b14f5dc90824b..9ecc75644ab33b5ff9eef5d55219128d5c14a7a1 100644 (file)
                     lookh lookh! rev rev! f-^ f-$ flags))
 (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 line   (f-cons* #:seq aatom (ff* aatom )))
+(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 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 (parse-reg str) (pk (parse str (f-seq ee f-eof))))
+(define (parse-reg str)
+  (pk
+   (with-fluids ((*whitespace* ws))
+     (parse str (f-seq ee f-eof)))))
 
 (define e-matcher ee)