We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent d20004d commit 7306d68Copy full SHA for 7306d68
1 file changed
Naggum.Runtime/Reader.cs
@@ -76,21 +76,23 @@ private static Object ReadSymbol(StreamReader reader)
76
private static Object ReadList(StreamReader reader)
77
{
78
bool in_list = true;
79
+ Stack<Object> list_stack = new Stack<object>();
80
Cons list = null;
81
while (in_list)
82
83
var ch = reader.Peek();
84
if (ch < 0) throw new IOException("Unexpected end of stream.");
85
if ((char)ch != ')')
86
- list = new Cons(ReadObject(reader), list);
87
+ list_stack.Push(ReadObject(reader));
88
}
89
else
90
91
reader.Read(); //consume closing paren
92
in_list = false;
93
94
95
+ list = new Cons(list_stack.Pop(), list);
96
return list;
97
98
0 commit comments