feat: Atomic & Compound parsen

This commit is contained in:
Tibo De Peuter 2025-05-08 09:35:49 +02:00
parent e1763e0510
commit 973365e2ec
Signed by: tdpeuter
GPG key ID: 38297DE43F75FFE2
2 changed files with 22 additions and 1 deletions

View file

@ -137,3 +137,23 @@ class ClauseOp(private val head: Head, private val body: Body) :
}
}
}
class AtomicOp(private val term: Term) : Operator(Atom("atomic"), null, term) {
override fun satisfy(subs: Substitutions): Answers {
return if (atomic(term, subs)) {
sequenceOf(Result.success(emptyMap()))
} else {
emptySequence()
}
}
}
class CompoundOp(private val term: Term) : Operator(Atom("compound"), null, term) {
override fun satisfy(subs: Substitutions): Answers {
return if (compound(term, subs)) {
sequenceOf(Result.success(emptyMap()))
} else {
emptySequence()
}
}
}