summaryrefslogtreecommitdiff
path: root/src/texec
diff options
context:
space:
mode:
authorKyle Gunger <kgunger12@gmail.com>2021-11-02 13:57:27 -0400
committerKyle Gunger <kgunger12@gmail.com>2021-11-02 13:57:27 -0400
commit92b72f0357c553add6f010626e85268428ad5eb5 (patch)
tree0c1083a9fd61371eb0ac7f335691c6dc7c793ae5 /src/texec
parente18043e5ac4e09870e9f5b1498e0ef954064ee49 (diff)
[EXEC] General changes, refactoring
Diffstat (limited to 'src/texec')
-rw-r--r--src/texec/eval.go7
-rw-r--r--src/texec/world.go7
-rw-r--r--src/texec/worldbuilder.go35
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
}