Basic parsing

This commit is contained in:
Ian Gulliver
2021-11-16 21:08:46 -10:00
parent db33045391
commit 6449d4762a
5 changed files with 60 additions and 0 deletions

25
assembler/parse.go Normal file
View File

@@ -0,0 +1,25 @@
package assembler
import "gopkg.in/yaml.v2"
type Program struct {
Functions []*Function `yaml:"functions"`
}
type Function []*Operation
type Operation []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))
}