equal
deleted
inserted
replaced
7 package isabelle |
7 package isabelle |
8 |
8 |
9 |
9 |
10 import scala.annotation.tailrec |
10 import scala.annotation.tailrec |
11 import scala.collection.mutable |
11 import scala.collection.mutable |
12 import scala.util.parsing.input.Reader |
12 import scala.util.parsing.input.{Reader, CharSequenceReader} |
13 import scala.util.matching.Regex |
13 import scala.util.matching.Regex |
14 |
14 |
15 import java.io.File |
15 import java.io.File |
16 |
16 |
17 |
17 |
97 case Success(result, _) => result |
97 case Success(result, _) => result |
98 case bad => error(bad.toString) |
98 case bad => error(bad.toString) |
99 } |
99 } |
100 } |
100 } |
101 |
101 |
|
102 def read(source: CharSequence): Header = |
|
103 read(new CharSequenceReader(source)) |
|
104 |
102 def read(file: File): Header = |
105 def read(file: File): Header = |
103 { |
106 { |
104 val reader = Scan.byte_reader(file) |
107 val reader = Scan.byte_reader(file) |
105 try { read(reader).decode_permissive_utf8 } |
108 try { read(reader).decode_permissive_utf8 } |
106 finally { reader.close } |
109 finally { reader.close } |