diff options
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 } |