mirror of
https://github.com/leporello-js/leporello-js
synced 2026-01-13 13:04:30 -08:00
refactor
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import {print_debug_node, load_modules} from '../src/parse_js.js'
|
||||
import {parse, print_debug_node, load_modules} from '../src/parse_js.js'
|
||||
import {eval_modules} from '../src/eval.js'
|
||||
import {active_frame, pp_calltree} from '../src/calltree.js'
|
||||
import {COMMANDS} from '../src/cmd.js'
|
||||
|
||||
@@ -48,6 +49,17 @@ export const original_setTimeout = globalThis.run_window.__original_setTimeout
|
||||
export const parse_modules = (entry, modules) =>
|
||||
load_modules(entry, module_name => modules[module_name])
|
||||
|
||||
export const eval_tree = code => {
|
||||
const parse_result = parse(code)
|
||||
assert_equal(parse_result.ok, true)
|
||||
return eval_modules(
|
||||
{
|
||||
modules: {'': parse_result.node},
|
||||
sorted: ['']
|
||||
}
|
||||
).calltree
|
||||
}
|
||||
|
||||
export const assert_code_evals_to = (codestring, expected) => {
|
||||
const s = test_initial_state(codestring)
|
||||
const frame = active_frame(s)
|
||||
|
||||
Reference in New Issue
Block a user