package main

import "os"

func main() {
	parser := NewParser()
	var err error
	if len(os.Args) < 2 {
		err = parser.ParseInput()
	} else {
		err = parser.ParseFile(os.Args[1])
	}
	if err != nil {
		panic(err)
	}
}

package main

import (
	"fmt"
	"os"
)

func main() {
	parser := NewParser()
	var err error
	if len(os.Args) < 2 {
		err = parser.ParseInput()
	} else {
		err = parser.ParseFile(os.Args[1])
	}
	if err != nil {
		fmt.Fprintln(os.Stderr, "Parse error:", err)
		os.Exit(1)
	}
}

Print to stderr instead of panicking
Print to stderr instead of panicking
