diff options
author | Ryo Nihei <nihei.dev@gmail.com> | 2021-08-15 21:35:16 +0900 |
---|---|---|
committer | Ryo Nihei <nihei.dev@gmail.com> | 2021-08-15 21:47:48 +0900 |
commit | 118732eccef2350bf4e20e389b35b2433613b1ab (patch) | |
tree | 81e77cef89c3f460742da1c72c7944a4caec1072 | |
parent | Print a stack trace only when a panic occured (diff) | |
download | urubu-118732eccef2350bf4e20e389b35b2433613b1ab.tar.gz urubu-118732eccef2350bf4e20e389b35b2433613b1ab.tar.xz |
Fix panic on a syntax error
-rw-r--r-- | driver/parser.go | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/driver/parser.go b/driver/parser.go index a96f89a..1e46606 100644 --- a/driver/parser.go +++ b/driver/parser.go @@ -253,9 +253,11 @@ func (p *Parser) Parse() error { eKinds, eof := p.expectedKinds(p.top()) var b strings.Builder - fmt.Fprintf(&b, "%v", eKinds[0]) - for _, k := range eKinds[1:] { - fmt.Fprintf(&b, ", %v", k) + if len(eKinds) > 0 { + fmt.Fprintf(&b, "%v", eKinds[0]) + for _, k := range eKinds[1:] { + fmt.Fprintf(&b, ", %v", k) + } } if eof { if len(eKinds) > 0 { |