20 lines
751 B
Racket
20 lines
751 B
Racket
#lang racket/base
|
|
|
|
(provide schema->module-stx)
|
|
|
|
(require (only-in "compiler.rkt" schema->module-stx))
|
|
|
|
(module+ reader
|
|
(provide (rename-out [read-preserves-schema-module read-syntax]))
|
|
|
|
(require (only-in preserves port->preserves file->preserves))
|
|
(require (only-in "reader.rkt" parse-schema-dsl))
|
|
|
|
(define (read-preserves-schema-module src [p (current-input-port)])
|
|
(define-values (_dirname filename _must-be-dir) (split-path src))
|
|
(schema->module-stx
|
|
(string->symbol (path->string (path-replace-extension filename "")))
|
|
(parse-schema-dsl (port->preserves p #:read-syntax? #t #:source src)
|
|
#:source src
|
|
#:read-include (lambda (src) (file->preserves src #:read-syntax? #t))))))
|