mescc.scm: compile simple, well-behaved for-loop.
[mes.git] / c-lexer.scm
index 3ad1c94e4fe4f652664b33323b4b832648f736b5..7deadacbc56a0a2374873e3fa20230de0599a1e3 100644 (file)
@@ -26,7 +26,7 @@
 
 (cond-expand
   (guile
-   (use-modules ((ice-9 rdelim)))
+   ;;(use-modules ((ice-9 rdelim)))
 
    (define (syntax-error what loc form . args)
      (throw 'syntax-error #f what
    )
   (mes
 
+      
    )
   )
 
+(define (read-delimited delims port handle-delim)
+     (let ((stop (string->list delims)))
+       (let loop ((c (peek-char)) (lst '()))
+         (if (member c stop)
+             (list->string lst)
+             (begin
+               (read-char)
+               (loop (peek-char) (append lst (list c))))))))
+
+(define (read-line . rest ;; port handle-delim
+         )
+  (let ((line (read-delimited "\n\r" (current-input-port) 'peek)))
+    (read-char)
+    line))
+
 (define (port-source-location port)
   (make-source-location (port-filename port)
                         (port-line port)