23 lines
646 B
23 lines
646 B
package parser
|
|
|
|
import (
|
|
"git.jfdev.de/JonasFranzDEV/hal/hal"
|
|
)
|
|
|
|
func GetModulesFromConfig(config *hal.ClusterConfig, debug bool, handler hal.PageErrorHandler) (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
|
|
}
|
|
// By default, all IO is the standard IO, we'll override it with channels where needed.
|
|
modules[node.Name], err = hal.NewNamedHALModule(program, 4096, 4, debug, node.Name, handler)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
}
|
|
return
|
|
}
|
|
|