Fixing PR11515

This commit is contained in:
Jay McCarthy 2011-01-19 16:25:16 -07:00
parent 0512aa1e27
commit 5014cff4c1
3 changed files with 33 additions and 14 deletions

View File

@ -0,0 +1,20 @@
#lang racket/base
(define (configure data)
(printf "Configuring\n")
(current-read-interaction even-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)

View File

@ -0,0 +1,10 @@
#lang racket/base
(define (get-info data)
(λ (key default)
(case key
[(configure-runtime)
'(#(datalog/lang/configure-runtime configure #f))]
[else
default])))
(provide get-info)

View File

@ -3,6 +3,8 @@
#:read (lambda ([in (current-input-port)]) (this-read-syntax #f in))
#:read-syntax this-read-syntax
#:whole-body-readers? #t
#:language-info
'#(datalog/lang/lang-info get-info #f)
#:info (lambda (key defval default)
; XXX Should have different comment character key
(case key
@ -10,8 +12,6 @@
(dynamic-require 'datalog/tool/submit 'repl-submit?)]
[(color-lexer)
(dynamic-require 'datalog/tool/syntax-color 'get-syntax-token)]
[(configure-runtime)
(λ () (current-read-interaction even-read))]
[else (default key defval)]))
(require datalog/parse
datalog/private/compiler)
@ -19,15 +19,4 @@
(define (this-read-syntax [src #f] [in (current-input-port)])
(compile-program
(parameterize ([current-source-name src])
(parse-program in))))
; 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))
(parse-program in)))))