Fix reader None error

This commit is contained in:
2020-11-13 12:28:16 -07:00
parent d10cb54439
commit 69df6a9e20

View File

@@ -38,13 +38,16 @@ class Reader {
case Some(exp):
exp;
case None:
throw "There were no expressions left in the stream at $position";
throw 'There were no expressions left in the stream at $position';
};
}
public function read(stream:Stream):Option<ReaderExp> {
stream.dropWhitespace();
if (stream.isEmpty())
return None;
var readTableKeys = [for (key in readTable.keys()) key];
readTableKeys.sort((a, b) -> b.length - a.length);
@@ -53,7 +56,7 @@ class Reader {
case Some(k) if (k == key):
stream.dropString(key);
var expOrNull = readTable[key](stream);
return if (expOrNull != null) Some(expOrNull) else None;
return if (expOrNull != null) Some(expOrNull) else read(stream);
default:
}
}