Skip to content

Commit 7306d68

Browse files
committed
Fixed Runtime.Reader
1 parent d20004d commit 7306d68

1 file changed

Lines changed: 3 additions & 1 deletion

File tree

Naggum.Runtime/Reader.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,21 +76,23 @@ private static Object ReadSymbol(StreamReader reader)
7676
private static Object ReadList(StreamReader reader)
7777
{
7878
bool in_list = true;
79+
Stack<Object> list_stack = new Stack<object>();
7980
Cons list = null;
8081
while (in_list)
8182
{
8283
var ch = reader.Peek();
8384
if (ch < 0) throw new IOException("Unexpected end of stream.");
8485
if ((char)ch != ')')
8586
{
86-
list = new Cons(ReadObject(reader), list);
87+
list_stack.Push(ReadObject(reader));
8788
}
8889
else
8990
{
9091
reader.Read(); //consume closing paren
9192
in_list = false;
9293
}
9394
}
95+
list = new Cons(list_stack.Pop(), list);
9496
return list;
9597
}
9698

0 commit comments

Comments
 (0)