From f814c9a81fc589134ddf96352cce577e16db1eba Mon Sep 17 00:00:00 2001 From: Matthew Butterick Date: Sun, 13 Oct 2013 13:47:38 -0700 Subject: [PATCH] =?UTF-8?q?fold=20#lang=20mb/pollen/pre=20into=C2=A0#lang?= =?UTF-8?q?=20mb/pollen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lang/reader.rkt | 14 ++++++++++---- main-pre.rkt => main-preproc.rkt | 0 pre/lang/reader.rkt | 27 --------------------------- 3 files changed, 10 insertions(+), 31 deletions(-) rename main-pre.rkt => main-preproc.rkt (100%) delete mode 100644 pre/lang/reader.rkt diff --git a/lang/reader.rkt b/lang/reader.rkt index ad2d914..914cb31 100644 --- a/lang/reader.rkt +++ b/lang/reader.rkt @@ -1,6 +1,7 @@ #lang racket/base (require (only-in scribble/reader make-at-reader) - (only-in (planet mb/pollen/world) POLLEN_EXPRESSION_DELIMITER)) + (only-in "../world.rkt" POLLEN_EXPRESSION_DELIMITER) + (only-in "../pollen-file-tools.rkt" preproc-source?)) (provide (rename-out [mb-read read] [mb-read-syntax read-syntax]) @@ -20,8 +21,13 @@ `(module pollen-lang-module (planet mb/pollen) ,@i)) -(define (mb-read-syntax name p) - (define i (read-inner name p)) + +(define (mb-read-syntax path-string p) + (define i (read-inner path-string p)) (datum->syntax i - (make-output-datum i) + ;; select pollen dialect based on file type + `(module pollen-lang-module ,(if (preproc-source? path-string) + '(planet mb/pollen/main-preproc) + '(planet mb/pollen/main)) + ,@i) i)) diff --git a/main-pre.rkt b/main-preproc.rkt similarity index 100% rename from main-pre.rkt rename to main-preproc.rkt diff --git a/pre/lang/reader.rkt b/pre/lang/reader.rkt deleted file mode 100644 index 0521318..0000000 --- a/pre/lang/reader.rkt +++ /dev/null @@ -1,27 +0,0 @@ -#lang racket/base -(require (only-in scribble/reader make-at-reader) - (only-in (planet mb/pollen/world) POLLEN_EXPRESSION_DELIMITER)) - -(provide (rename-out [mb-read read] - [mb-read-syntax read-syntax]) - read-inner - ) - -(define read-inner - (make-at-reader #:command-char POLLEN_EXPRESSION_DELIMITER - #:syntax? #t - #:inside? #t)) - -(define (mb-read p) - (syntax->datum - (mb-read-syntax (object-name p) p))) - -(define (make-output-datum i) - `(module lang-module (planet mb/pollen/main-pre) - ,@i)) - -(define (mb-read-syntax name p) - (define i (read-inner name p)) - (datum->syntax i - (make-output-datum i) - i))