Removing even/odd reading hack and just protecting parser from eof-ing ports

This commit is contained in:
Jay McCarthy 2013-03-19 08:58:32 -06:00
parent 829a640299
commit 41e07b0cc6
2 changed files with 20 additions and 24 deletions

View File

@ -1,20 +1,18 @@
#lang racket/base
(define (configure data)
;; (printf "Configuring\n")
(current-read-interaction even-read))
(current-read-interaction the-read))
(provide configure)
(require datalog/parse
datalog/private/compiler)
; XXX This is almost certainly wrong.
(define (even-read src ip)
(begin0
(compile-statement
(parameterize ([current-source-name src])
(parse-statement ip)))
(current-read-interaction odd-read)))
(define (odd-read src ip)
(current-read-interaction even-read)
eof)
(define (the-read src ip)
(cond
[(or (not (char-ready? ip))
(eof-object? (peek-char ip)))
eof]
[else
(compile-statement
(parameterize ([current-source-name src])
(parse-statement ip)))]))

View File

@ -1,20 +1,18 @@
#lang racket/base
(define (configure data)
;; (printf "Configuring\n")
(current-read-interaction even-read))
(current-read-interaction the-read))
(provide configure)
(require datalog/parse
racklog/lang/compiler)
; XXX This is almost certainly wrong.
(define (even-read src ip)
(begin0
(compile-statement
(parameterize ([current-source-name src])
(parse-statement ip)))
(current-read-interaction odd-read)))
(define (odd-read src ip)
(current-read-interaction even-read)
eof)
(define (the-read src ip)
(cond
[(or (not (char-ready? ip))
(eof-object? (peek-char ip)))
eof]
[else
(compile-statement
(parameterize ([current-source-name src])
(parse-statement ip)))]))