aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyo Nihei <nihei.dev@gmail.com>2021-08-15 21:35:16 +0900
committerRyo Nihei <nihei.dev@gmail.com>2021-08-15 21:47:48 +0900
commit118732eccef2350bf4e20e389b35b2433613b1ab (patch)
tree81e77cef89c3f460742da1c72c7944a4caec1072
parentPrint a stack trace only when a panic occured (diff)
downloadurubu-118732eccef2350bf4e20e389b35b2433613b1ab.tar.gz
urubu-118732eccef2350bf4e20e389b35b2433613b1ab.tar.xz
Fix panic on a syntax error
-rw-r--r--driver/parser.go8
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 {