diff --git a/cmd/burntsushi-tester/main.go b/cmd/burntsushi-tester/main.go index 4e30b7b..990c77b 100644 --- a/cmd/burntsushi-tester/main.go +++ b/cmd/burntsushi-tester/main.go @@ -32,7 +32,7 @@ func main() { flag.Usage() } - toml, err := parse.Run(os.Stdin) + toml, err := parse.RunWithoutSanityChecks(os.Stdin) if err != nil { log.Fatalf("Error decoding TOML: %s", err) } else { diff --git a/parse/parse.go b/parse/parse.go index 532de9c..0f9141f 100644 --- a/parse/parse.go +++ b/parse/parse.go @@ -57,3 +57,11 @@ func Run(input interface{}) (ast.Table, error) { err := parse.New(p.startDocument)(input) return p.doc.Root, err } + +// RunWithoutSanityChecks runs the TOML parser against the provided input data. +// The parsekit sanity checks are disabled during the parse run. +func RunWithoutSanityChecks(input interface{}) (ast.Table, error) { + p := newParser() + err := parse.New(p.startDocument)(input) + return p.doc.Root, err +} diff --git a/parse2/grammar.go b/parse2/grammar.go index 6e392ff..d10496b 100644 --- a/parse2/grammar.go +++ b/parse2/grammar.go @@ -12,7 +12,7 @@ import ( "github.com/pkg/profile" ) -const runProfiler = false +const runProfiler = true func main() { bytes, _ := ioutil.ReadAll(os.Stdin) diff --git a/parse2/parse2 b/parse2/parse2 index 193eadd..0d6afc8 100755 Binary files a/parse2/parse2 and b/parse2/parse2 differ