bsl/lang/reader.rkt
#lang s-exp syntax/module-reader

racket
#:read my-read
#:read-syntax my-read-syntax

(require "../lex.rkt"
         "../parse.rkt"
         )

(define (my-read ip)
  (syntax->datum (my-read-syntax #f ip)))

(define (my-read-syntax src ip)
  (parameterize ([current-source-name src])
    (check-parse ((program-parser #f) (lambda () (expression-lexer ip))))))