Files
subcoding/assembler/parse.go
Ian Gulliver b8b13680ad Naming
2021-11-16 21:12:32 -10:00

26 lines
445 B
Go

package assembler
import "gopkg.in/yaml.v2"
type Program struct {
Functions []*Function `yaml:"functions"`
}
type Function []*Instruction
type Instruction []string
func NewProgramFromBytes(in []byte) (*Program, error) {
prog := &Program{}
err := yaml.UnmarshalStrict(in, &prog)
if err != nil {
return nil, err
}
return prog, nil
}
func NewProgramFromString(in string) (*Program, error) {
return NewProgramFromBytes([]byte(in))
}