equal
deleted
inserted
replaced
20 |
20 |
21 class Input(val name: String, val args: List[String]) extends Message |
21 class Input(val name: String, val args: List[String]) extends Message |
22 { |
22 { |
23 override def toString: String = |
23 override def toString: String = |
24 XML.Elem(Markup(Markup.PROVER_COMMAND, List((Markup.NAME, name))), |
24 XML.Elem(Markup(Markup.PROVER_COMMAND, List((Markup.NAME, name))), |
25 args.map(s => |
25 args.flatMap(s => |
26 List(XML.newline, XML.elem(Markup.PROVER_ARG, YXML.parse_body(s)))).flatten).toString |
26 List(XML.newline, XML.elem(Markup.PROVER_ARG, YXML.parse_body(s))))).toString |
27 } |
27 } |
28 |
28 |
29 class Output(val message: XML.Elem) extends Message |
29 class Output(val message: XML.Elem) extends Message |
30 { |
30 { |
31 def kind: String = message.markup.name |
31 def kind: String = message.markup.name |
222 var finished = false |
222 var finished = false |
223 while (!finished) { |
223 while (!finished) { |
224 //{{{ |
224 //{{{ |
225 var c = -1 |
225 var c = -1 |
226 var done = false |
226 var done = false |
227 while (!done && (result.length == 0 || reader.ready)) { |
227 while (!done && (result.isEmpty || reader.ready)) { |
228 c = reader.read |
228 c = reader.read |
229 if (c >= 0) result.append(c.asInstanceOf[Char]) |
229 if (c >= 0) result.append(c.asInstanceOf[Char]) |
230 else done = true |
230 else done = true |
231 } |
231 } |
232 if (result.length > 0) { |
232 if (result.nonEmpty) { |
233 output(markup, Nil, List(XML.Text(Symbol.decode(result.toString)))) |
233 output(markup, Nil, List(XML.Text(Symbol.decode(result.toString)))) |
234 result.clear |
234 result.clear |
235 } |
235 } |
236 else { |
236 else { |
237 reader.close |
237 reader.close |