diff options
author | Kyle Gunger <kgunger12@gmail.com> | 2021-11-02 13:57:27 -0400 |
---|---|---|
committer | Kyle Gunger <kgunger12@gmail.com> | 2021-11-02 13:57:27 -0400 |
commit | 92b72f0357c553add6f010626e85268428ad5eb5 (patch) | |
tree | 0c1083a9fd61371eb0ac7f335691c6dc7c793ae5 /src/texec | |
parent | e18043e5ac4e09870e9f5b1498e0ef954064ee49 (diff) |
[EXEC] General changes, refactoring
Diffstat (limited to 'src/texec')
-rw-r--r-- | src/texec/eval.go | 7 | ||||
-rw-r--r-- | src/texec/world.go | 7 | ||||
-rw-r--r-- | src/texec/worldbuilder.go | 35 |
3 files changed, 39 insertions, 10 deletions
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 } |