Fixing PR11515
This commit is contained in:
parent
0512aa1e27
commit
5014cff4c1
20
collects/datalog/lang/configure-runtime.rkt
Normal file
20
collects/datalog/lang/configure-runtime.rkt
Normal 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)
|
10
collects/datalog/lang/lang-info.rkt
Normal file
10
collects/datalog/lang/lang-info.rkt
Normal 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)
|
|
@ -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)))))
|
Loading…
Reference in New Issue
Block a user