19 lines
343 B
Go
19 lines
343 B
Go
//go:generate gocc -a azschema.bnf
|
|
package schema
|
|
|
|
import (
|
|
"azalea/schema/ast"
|
|
"azalea/schema/lexer"
|
|
"azalea/schema/parser"
|
|
)
|
|
|
|
func CreateSchema(in string) (schema ast.Schema, err error) {
|
|
s := lexer.NewLexer([]byte(in))
|
|
p := parser.NewParser()
|
|
a, err := p.Parse(s)
|
|
if err == nil {
|
|
schema = ast.Schema(a.(ast.ExprList))
|
|
}
|
|
return
|
|
}
|