mirror of
https://github.com/GayPizzaSpecifications/pork.git
synced 2025-08-03 21:21:33 +00:00
add debug mode
This commit is contained in:
@ -7,6 +7,7 @@ import gay.pizza.pork.ast.gen.visit
|
||||
import gay.pizza.pork.evaluator.*
|
||||
import gay.pizza.pork.execution.ExecutionContext
|
||||
import gay.pizza.pork.execution.ExecutionContextProvider
|
||||
import gay.pizza.pork.execution.ExecutionOptions
|
||||
import gay.pizza.pork.execution.InternalNativeProvider
|
||||
import gay.pizza.pork.execution.NativeRegistry
|
||||
import gay.pizza.pork.ffi.FfiNativeProvider
|
||||
@ -44,9 +45,9 @@ abstract class Tool {
|
||||
fun createExecutionContextProvider(type: ExecutionType): ExecutionContextProvider =
|
||||
type.create(buildWorld())
|
||||
|
||||
fun createExecutionContext(type: ExecutionType, symbol: Symbol, nativeRegistry: NativeRegistry): ExecutionContext {
|
||||
fun createExecutionContext(type: ExecutionType, symbol: Symbol, options: ExecutionOptions): ExecutionContext {
|
||||
val executionContextProvider = createExecutionContextProvider(type)
|
||||
return executionContextProvider.prepare(rootImportLocator, symbol, nativeRegistry)
|
||||
return executionContextProvider.prepare(rootImportLocator, symbol, options)
|
||||
}
|
||||
|
||||
fun buildWorld(): World {
|
||||
|
@ -3,6 +3,7 @@ package gay.pizza.pork.minimal
|
||||
import gay.pizza.dough.fs.PlatformFsProvider
|
||||
import gay.pizza.pork.ast.gen.Symbol
|
||||
import gay.pizza.pork.evaluator.Scope
|
||||
import gay.pizza.pork.execution.ExecutionOptions
|
||||
import gay.pizza.pork.execution.InternalNativeProvider
|
||||
import gay.pizza.pork.execution.NativeRegistry
|
||||
import kotlin.system.exitProcess
|
||||
@ -19,7 +20,7 @@ fun main(args: Array<String>) {
|
||||
val main = tool.createExecutionContext(
|
||||
ExecutionType.Evaluator,
|
||||
Symbol("main"),
|
||||
nativeRegistry
|
||||
ExecutionOptions(nativeRegistry = nativeRegistry)
|
||||
)
|
||||
main.execute()
|
||||
}
|
||||
|
Reference in New Issue
Block a user