diff --git a/js-assembler/get-runtime.rkt b/js-assembler/get-runtime.rkt new file mode 100644 index 0000000..e27a544 --- /dev/null +++ b/js-assembler/get-runtime.rkt @@ -0,0 +1,19 @@ +#lang racket/base + +;; Function to get the runtime library. + +(require racket/contract + racket/runtime-path + racket/port) + + +(provide/contract [get-runtime (-> string?)]) + +(define-runtime-path runtime.js "runtime.js") + +(define text (call-with-input-file runtime.js + (lambda (ip) + (port->string ip)))) + +(define (get-runtime) + text) \ No newline at end of file diff --git a/runtime.js b/js-assembler/runtime.js similarity index 100% rename from runtime.js rename to js-assembler/runtime.js diff --git a/test-assemble.rkt b/test-assemble.rkt index c4a8077..0833b97 100644 --- a/test-assemble.rkt +++ b/test-assemble.rkt @@ -1,6 +1,7 @@ #lang racket (require "js-assembler/assemble.rkt" + "js-assembler/get-runtime.rkt" "browser-evaluate.rkt" "lexical-structs.rkt" "il-structs.rkt" @@ -8,9 +9,8 @@ racket/promise racket/runtime-path) -(define-runtime-path runtime.js "runtime.js") -(define runtime (call-with-input-file runtime.js - (lambda (ip) (port->string ip)))) +(define runtime (get-runtime)) + ; Test out the compiler, using the simulator. (define-syntax (test stx) diff --git a/test-browser-evaluate.rkt b/test-browser-evaluate.rkt index c3b761d..f086b30 100644 --- a/test-browser-evaluate.rkt +++ b/test-browser-evaluate.rkt @@ -1,12 +1,10 @@ #lang racket -(require "browser-evaluate.rkt" +(require "js-assembler/get-runtime.rkt" + "browser-evaluate.rkt" "package.rkt" racket/runtime-path) -(define-runtime-path runtime.js - "runtime.js" - #;"runtime.compressed.js") (define evaluate (make-evaluate (lambda (program op) @@ -14,9 +12,7 @@ (fprintf op "(function () {") ;; The runtime code - (call-with-input-file* runtime.js - (lambda (ip) - (copy-port ip op))) + (displayln (get-runtime) op) (newline op) diff --git a/test-conform-browser.rkt b/test-conform-browser.rkt index 33e0378..66350f5 100644 --- a/test-conform-browser.rkt +++ b/test-conform-browser.rkt @@ -1,20 +1,17 @@ #lang racket (require "browser-evaluate.rkt" "package.rkt" + "js-assembler/get-runtime.rkt" racket/port racket/runtime-path) -(define-runtime-path runtime.js "runtime.js") (define evaluate (make-evaluate (lambda (program op) (fprintf op "(function () {") - ;; The runtime code - (call-with-input-file* runtime.js - (lambda (ip) - (copy-port ip op))) + (displayln (get-runtime) op) (newline op) diff --git a/test-earley-browser.rkt b/test-earley-browser.rkt index 4d3dd73..ae4be70 100644 --- a/test-earley-browser.rkt +++ b/test-earley-browser.rkt @@ -1,20 +1,17 @@ #lang racket (require "browser-evaluate.rkt" "package.rkt" + "js-assembler/get-runtime.rkt" racket/port racket/runtime-path) -(define-runtime-path runtime.js "runtime.js") (define evaluate (make-evaluate (lambda (program op) (fprintf op "(function () {") - ;; The runtime code - (call-with-input-file* runtime.js - (lambda (ip) - (copy-port ip op))) + (displayln (get-runtime) op) (newline op)