working on the evaluator
This commit is contained in:
parent
5f42959da5
commit
55a7de098f
|
@ -27,16 +27,25 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
(define e (make-evaluate
|
(define -E (make-evaluate
|
||||||
(lambda (a-statement op)
|
(lambda (a-statement+inspector op)
|
||||||
(let ([code
|
(let* ([a-statement (car a-statement+inspector)]
|
||||||
|
[inspector (cdr a-statement+inspector)]
|
||||||
|
[code
|
||||||
(string-append
|
(string-append
|
||||||
"(function() { "
|
"(function() { "
|
||||||
runtime
|
runtime
|
||||||
"return function(success, fail, params){" (assemble-statement a-statement) "success(String(MACHINE.val)); };"
|
"return function(success, fail, params){" (assemble-statement a-statement)
|
||||||
|
(format "success(String(~a)); };" inspector)
|
||||||
"});")])
|
"});")])
|
||||||
(display code op)))))
|
(display code op)))))
|
||||||
|
|
||||||
|
(define (E a-statement (inspector "MACHINE.val"))
|
||||||
|
(evaluated-value (-E (cons a-statement inspector))))
|
||||||
|
|
||||||
(test (evaluated-value (e (make-AssignImmediateStatement 'val (make-Const 42))))
|
|
||||||
|
|
||||||
|
(test (E (make-AssignImmediateStatement 'val (make-Const 42)))
|
||||||
"42")
|
"42")
|
||||||
|
(test (E (make-AssignImmediateStatement 'val (make-Const "Danny")))
|
||||||
|
"Danny")
|
Loading…
Reference in New Issue
Block a user