add debug mode

This commit is contained in:
Alex Zenla
2025-07-26 00:47:32 -07:00
parent 8d8866c26c
commit ff2aaabd93
12 changed files with 109 additions and 19 deletions

View File

@ -3,14 +3,15 @@ package gay.pizza.pork.evaluator
import gay.pizza.pork.ast.gen.Symbol
import gay.pizza.pork.execution.ExecutionContext
import gay.pizza.pork.execution.ExecutionContextProvider
import gay.pizza.pork.execution.ExecutionOptions
import gay.pizza.pork.execution.NativeRegistry
import gay.pizza.pork.frontend.ImportLocator
import gay.pizza.pork.frontend.World
class EvaluatorProvider(val world: World) : ExecutionContextProvider {
override fun prepare(importLocator: ImportLocator, entryPointSymbol: Symbol, nativeRegistry: NativeRegistry): ExecutionContext {
override fun prepare(importLocator: ImportLocator, entryPointSymbol: Symbol, options: ExecutionOptions): ExecutionContext {
val evaluator = Evaluator(world)
nativeRegistry.forEachProvider { form, provider ->
options.nativeRegistry.forEachProvider { form, provider ->
if (provider is ExpandedNativeProvider) {
evaluator.addNativeProvider(form, provider)
} else {