diff --git a/parser/from_config.go b/parser/from_config.go new file mode 100644 index 0000000..49d6788 --- /dev/null +++ b/parser/from_config.go @@ -0,0 +1,22 @@ +package parser + +import ( + "git.jfdev.de/JonasFranzDEV/hal/hal" +) + +func getModulesFromConfig(config *hal.ClusterConfig) (modules map[string]*hal.Module, err error) { + // all modules with their name as key + modules = make(map[string]*hal.Module) + + for _, node := range config.Nodes { + program, err := ParseFile(node.Program) + if err != nil { + return nil, err + } + modules[node.Name], err = hal.NewHALModule(program, 256, 0, false) + if err != nil { + return nil, err + } + } + return +}