Starting to make k_prime lisp grammer, doing testing to get all MAL test cases parsing

This commit is contained in:
Nathan Braswell
2020-03-28 00:23:01 -04:00
parent 1fa60a5496
commit a9bb011bd9
3 changed files with 1710 additions and 38 deletions

View File

@@ -83,6 +83,12 @@ obj set<T> (Object, Serializable) {
to_ret.add(items)
return to_ret
}
fun operator-(items: ref set<T>): set<T> {
var to_ret.copy_construct(this): set<T>
for (var i = 0; i < items.data.size; i++;)
to_ret.remove(items.data[i])
return to_ret
}
fun add(item: ref T) {
if (!contains(item))
data.add(item)
@@ -142,5 +148,15 @@ obj set<T> (Object, Serializable) {
}
}
fun pop(): T {
var to_ret = data.last()
data.remove(data.size-1)
return to_ret
}
fun union(other: set<T>): set<T> {
for (var i = 0; i < data.size; i++;)
other.add(data[i])
return other
}
}