Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,22 @@
|
|||
;; the reader
|
||||
(define (read-rules source)
|
||||
(with-input-from-string source
|
||||
(λ () (for*/list ([line (in-lines)]
|
||||
#:unless (should-be-skipped? line))
|
||||
(match line
|
||||
[(rx-split A "[[:blank:]]->[[:blank:]][.]" B) (->. A B)]
|
||||
[(rx-split A "[[:blank:]]->[[:blank:]]" B) (-> A B)])))))
|
||||
|
||||
;; the new pattern for the match form
|
||||
(define-match-expander rx-split
|
||||
(syntax-rules ()
|
||||
[(rx-split A rx B)
|
||||
(app (λ (s) (regexp-split (pregexp rx) s)) (list A B))]))
|
||||
|
||||
;; skip empty lines and comments
|
||||
(define (should-be-skipped? line)
|
||||
(or (regexp-match? #rx"^#.*" line)
|
||||
(regexp-match? #px"^[[:blank:]]*$" line)))
|
||||
|
||||
(define (read-Markov-algorithm source)
|
||||
(apply Markov-algorithm (read-rules source)))
|
||||
Loading…
Add table
Add a link
Reference in a new issue