From 70ea599b6e0787102f12cd543dcd65a2eb3751d5 Mon Sep 17 00:00:00 2001 From: Joel Martin Date: Sat, 4 Oct 2014 21:49:26 -0500 Subject: go: step1_read_print print working. --- go/src/reader/reader.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'go/src/reader') diff --git a/go/src/reader/reader.go b/go/src/reader/reader.go index 3222d6f..6a08840 100644 --- a/go/src/reader/reader.go +++ b/go/src/reader/reader.go @@ -29,7 +29,7 @@ func (tr *TokenReader) next() *string { } func (tr *TokenReader) peek() *string { - if tr.position > len(tr.tokens) { return nil } + if tr.position >= len(tr.tokens) { return nil } return &tr.tokens[tr.position] } @@ -79,8 +79,9 @@ func read_list(rdr Reader) (types.MalType, error) { return nil, errors.New("expected '('") } token = rdr.peek() - for ; token != nil && *token != ")" ; token = rdr.peek() { + for ; true ; token = rdr.peek() { if token == nil { return nil, errors.New("exepected ')', got EOF") } + if *token == ")" { break } f, e := read_form(rdr) if e != nil { return nil, e } ast_list = append(ast_list, f) -- cgit v1.2.3