Skip to content

Commit 30f8a88

Browse files
committed
crook
1 parent 5cb072e commit 30f8a88

File tree

6 files changed

+64
-6
lines changed

6 files changed

+64
-6
lines changed

iniquity-plus/exec-io.rkt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#lang racket
2+
(require a86/interp)
3+
(require "compile.rkt")
4+
(require "interp-io.rkt")
5+
(require "types.rkt")
6+
(require "build-runtime.rkt")
7+
(provide exec/io)
8+
;; Prog String -> (cons Answer String)
9+
(define (exec/io p in)
10+
(parameterize ((current-objs (list (path->string runtime-path))))
11+
(match (asm-interp/io (compile p) in)
12+
[(cons 'err o) (cons 'err o)]
13+
[(cons b o) (cons (bits->value b) o)])))
14+

iniquity-plus/exec.rkt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#lang racket
2+
(require a86/interp)
3+
(require "compile.rkt")
4+
(require "interp.rkt")
5+
(require "types.rkt")
6+
(require "build-runtime.rkt")
7+
(provide exec)
8+
;; Prog -> Answer
9+
(define (exec p)
10+
(parameterize ((current-objs (list (path->string runtime-path))))
11+
(match (asm-interp (compile p))
12+
['err 'err]
13+
[b (bits->value b)])))
14+

iniquity-plus/test/compile.rkt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
#lang racket
22
(require "../compile.rkt")
33
(require "../parse.rkt")
4-
(require "../run.rkt")
4+
(require "../exec.rkt")
5+
(require "../exec-io.rkt")
56
(require "test-runner.rkt")
6-
(test (λ p (run (compile (apply parse p)))))
7-
(test/io (λ (in . p) (run/io (compile (apply parse p)) in)))
7+
(test (λ p (exec (apply parse p))))
8+
(test/io (λ (in . p) (exec/io (apply parse p) in)))
89

knock-plus/exec-io.rkt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#lang racket
2+
(require a86/interp)
3+
(require "compile.rkt")
4+
(require "interp-io.rkt")
5+
(require "types.rkt")
6+
(require "build-runtime.rkt")
7+
(provide exec/io)
8+
;; Prog String -> (cons Answer String)
9+
(define (exec/io p in)
10+
(parameterize ((current-objs (list (path->string runtime-path))))
11+
(match (asm-interp/io (compile p) in)
12+
[(cons 'err o) (cons 'err o)]
13+
[(cons b o) (cons (bits->value b) o)])))
14+

knock-plus/exec.rkt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#lang racket
2+
(require a86/interp)
3+
(require "compile.rkt")
4+
(require "interp.rkt")
5+
(require "types.rkt")
6+
(require "build-runtime.rkt")
7+
(provide exec)
8+
;; Prog -> Answer
9+
(define (exec p)
10+
(parameterize ((current-objs (list (path->string runtime-path))))
11+
(match (asm-interp (compile p))
12+
['err 'err]
13+
[b (bits->value b)])))
14+

knock-plus/test/compile.rkt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
#lang racket
22
(require "../compile.rkt")
33
(require "../parse.rkt")
4-
(require "../run.rkt")
4+
(require "../exec.rkt")
5+
(require "../exec-io.rkt")
56
(require "test-runner.rkt")
6-
(test (λ p (run (compile (apply parse p)))))
7-
(test/io (λ (in . p) (run/io (compile (apply parse p)) in)))
7+
(test (λ p (exec (apply parse p))))
8+
(test/io (λ (in . p) (exec/io (apply parse p) in)))
89

0 commit comments

Comments
 (0)