diff --git a/main.go b/main.go index 3762bfe..df15123 100644 --- a/main.go +++ b/main.go @@ -73,11 +73,14 @@ func main() { return } - // if codigo != "" { - // // fmt.Printf("codigo: %v\n", codigo) - // ptst.InicializaDeString(codigo) - // return - // } + if codigo != "" { + _, err := ptst.ExecutarString(ctx, codigo) + + if err != nil { + ptst.LancarErro(err) + } + return + } playground.Inicializa(ctx, Version, Datetime, Commit) }, diff --git a/ptst/executar.go b/ptst/executar.go index a1ed1b3..101241f 100644 --- a/ptst/executar.go +++ b/ptst/executar.go @@ -1,5 +1,19 @@ package ptst +func ExecutarString(ctx *Contexto, codigo string) (*Modulo, error) { + ast, err := ctx.StringParaAst(codigo) + if err != nil { + return nil, err + } + + impl := &ModuloImpl{ + Info: ModuloInfo{}, + Ast: ast, + } + + return ctx.InicializarModulo(impl) +} + func ExecutarArquivo(ctx *Contexto, nome, caminho, curDir string, useSysPaths bool) (*Modulo, error) { caminhoCalculado, ast, err := ctx.TransformarEmAst(caminho, useSysPaths, curDir) if err != nil {