From 92b72f0357c553add6f010626e85268428ad5eb5 Mon Sep 17 00:00:00 2001 From: Kyle Gunger Date: Tue, 2 Nov 2021 13:57:27 -0400 Subject: [EXEC] General changes, refactoring --- src/texec/eval.go | 7 ++++++- src/texec/world.go | 7 +------ src/texec/worldbuilder.go | 35 ++++++++++++++++++++++++++++++++--- 3 files changed, 39 insertions(+), 10 deletions(-) (limited to 'src/texec') diff --git a/src/texec/eval.go b/src/texec/eval.go index 9d2e64d..f863c5d 100644 --- a/src/texec/eval.go +++ b/src/texec/eval.go @@ -17,8 +17,13 @@ package texec import "strings" +import "tparse" + +func isMain(artifact tparse.Node) bool { + return false +} // EvalTNSL starts the evaluation on the World's main function with the given flags passed to the program -func EvalTNSL(world *TWorld, f string) { +func EvalTNSL(world *TModule, f string) { flags := strings.Split(f, " ") } \ No newline at end of file diff --git a/src/texec/world.go b/src/texec/world.go index d87119d..86660bc 100644 --- a/src/texec/world.go +++ b/src/texec/world.go @@ -40,14 +40,9 @@ type TContext struct { // TModule represents a collection of files and sub-modules in a program type TModule struct { + Name string Files []tparse.Node Globals []map[string]TVariable Sub []TModule } -// TWorld represents the full program -type TWorld struct { - Modules []TModule - MainPath TPath - MainFunc tparse.Node -} diff --git a/src/texec/worldbuilder.go b/src/texec/worldbuilder.go index 8e5648f..e0fefa4 100644 --- a/src/texec/worldbuilder.go +++ b/src/texec/worldbuilder.go @@ -30,7 +30,36 @@ func parseFile(p string) tparse.Node { return tparse.MakeTree(&(tokens), p) } -// BuildWorld creates a new TWorld by parsing a main file and recursively parsing imports. -func BuildWorld(file string) TWorld { - return nil +func buildModule(module tparse.Node) TModule { + out := TModule{} + + for n := 0 ; n < len(module.Sub) ; n++ { + + switch module.Sub[n].Data.Type { + case 11: + + case 10: + + } + } + + return out +} + +// BuildRoot builds the root module, ready for eval +func BuildRoot(file tparse.Node) TModule { + out := TModule{} + + out.Files = append(out.Files, file) + + for n := 0 ; n < len(file.Sub) ; n++ { + + switch file.Sub[n].Data.Type { + case 11: + + case 10: + } + } + + return out } -- cgit v1.2.3