feat: Atomic & Compound parsen
This commit is contained in:
parent
e1763e0510
commit
973365e2ec
2 changed files with 22 additions and 1 deletions
|
@ -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()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Reference in a new issue