commit b828b12
chld
·
2026-08-15 16:00:46 +0000 UTC
parent 9bd9aff
make line parser
M
test.scm
+6,
-3
1@@ -8,9 +8,12 @@
2
3 (define m-list '())
4 (define f-list (file-read "Makefile"))
5+
6 (do ((l (- (length f-list) 1) (- l 1)))
7 ((< l 0))
8- (begin
9- (display (list-ref f-list l))(newline)
10- ))
11+ (set! m-list
12+ (cons (line-parse (list-ref f-list l))
13+ m-list)))
14
15+(display m-list)
16+(newline)
M
util.scm
+10,
-1
1@@ -1,7 +1,7 @@
2 (define-module (util)
3 #:use-module (ice-9 popen)
4 #:use-module (ice-9 rdelim)
5- #:export (file-read)
6+ #:export (file-read line-parse)
7 )
8
9 (define (file-read f)
10@@ -9,3 +9,12 @@
11 (let loop ((L '()))
12 (let ((l (read-line p)))
13 (if (eof-object? l)(reverse L)(loop (cons l L))))))))
14+
15+(define (line-parse l)
16+ (let* ((p (string-split l #\:))
17+ (t (string-trim-both (car p)))
18+ (ds (string-trim-both (cadr p)))
19+ (d (if (string-null? ds)
20+ '()
21+ (string-split ds #\space))))
22+ (list t d)))