@@ -23,10 +23,10 @@ class Tokenizer(s: String, delimiters: String) extends Iterator[String] {
2323 var ch = s.charAt(i); i = i + 1 ;
2424 if (isDelimiter(ch)) ch.toString()
2525 else {
26- while (i < s.length() &&
27- s.charAt(i) > ' ' &&
28- ! isDelimiter(s.charAt(i))){ i = i + 1 }
29- s.substring(start, i)
26+ while (i < s.length() &&
27+ s.charAt(i) > ' ' &&
28+ ! isDelimiter(s.charAt(i))){ i = i + 1 }
29+ s.substring(start, i)
3030 }
3131 } else " " ;
3232
@@ -100,8 +100,8 @@ object Terms {
100100 case (List (), List ()) => Some (s)
101101 case (x :: xs1, y :: ys1) =>
102102 unify(x, y, s) match {
103- case Some (s1) => unify(xs1, ys1, s1)
104- case None => None
103+ case Some (s1) => unify(xs1, ys1, s1)
104+ case None => None
105105 }
106106 case _ => None
107107 }
@@ -136,14 +136,14 @@ object Programs {
136136
137137 def solve2 (query : List [Term ], s : Subst ): LazyList [Subst ] = query match {
138138 case List () =>
139- LazyList .cons(s, LazyList .empty)
139+ LazyList .cons(s, LazyList .empty)
140140 case Con (" not" , qs) :: query1 =>
141- if (solve1(qs, s).isEmpty) LazyList .cons(s, LazyList .empty)
142- else LazyList .empty
141+ if (solve1(qs, s).isEmpty) LazyList .cons(s, LazyList .empty)
142+ else LazyList .empty
143143 case q :: query1 =>
144- for (clause <- list2stream(clauses);
145- s1 <- tryClause(clause.newInstance, q, s);
146- s2 <- solve1(query1, s1)) yield s2
144+ for (clause <- list2stream(clauses);
145+ s1 <- tryClause(clause.newInstance, q, s);
146+ s2 <- solve1(query1, s1)) yield s2
147147 }
148148
149149 def solve1 (query : List [Term ], s : Subst ): LazyList [Subst ] = {
@@ -200,7 +200,7 @@ class Parser(s: String) {
200200 token = it.next;
201201 Clause (NoTerm , rep(constructor));
202202 } else {
203- Clause (
203+ Clause (
204204 constructor,
205205 if (token equals " :-" ) { token = it.next; rep(constructor) } else List ())
206206 }
@@ -219,27 +219,27 @@ object Prolog {
219219 var tvs : List [String ] = List ();
220220 { input =>
221221 new Parser (input).all foreach { c =>
222- if (c.lhs == NoTerm ) {
223- c.rhs match {
224- case List (Con (" more" , List ())) =>
222+ if (c.lhs == NoTerm ) {
223+ c.rhs match {
224+ case List (Con (" more" , List ())) =>
225225 solutions = solutions.tail;
226- case _ =>
226+ case _ =>
227227 solutions = solve(c.rhs, program);
228- tvs = c.tyvars;
228+ tvs = c.tyvars;
229229 }
230- if (solutions.isEmpty) {
231- Console .println(" no" )
232- } else {
233- val s : Subst = solutions.head
234- .filter(b => tvs contains b.name)
235- .map(b => Binding (b.name, b.term map solutions.head))
230+ if (solutions.isEmpty) {
231+ Console .println(" no" )
232+ } else {
233+ val s : Subst = solutions.head
234+ .filter(b => tvs contains b.name)
235+ .map(b => Binding (b.name, b.term map solutions.head))
236236 .reverse;
237- if (s.isEmpty) Console .println(" yes" )
238- else Console .println(s);
237+ if (s.isEmpty) Console .println(" yes" )
238+ else Console .println(s);
239239 }
240- } else {
241- program = program ::: List (c);
242- }
240+ } else {
241+ program = program ::: List (c);
242+ }
243243 }
244244 }
245245 }
0 commit comments