equal
deleted
inserted
replaced
187 } |
187 } |
188 |
188 |
189 def read(reader: Reader[Char], start: Token.Pos, strict: Boolean = true): Thy_Header = |
189 def read(reader: Reader[Char], start: Token.Pos, strict: Boolean = true): Thy_Header = |
190 { |
190 { |
191 val (_, tokens0) = read_tokens(reader, true) |
191 val (_, tokens0) = read_tokens(reader, true) |
192 val text = |
192 val text = Scan.reader_decode_utf8(reader, Token.implode(tokens0)) |
193 if (reader.isInstanceOf[Scan.Byte_Reader]) |
|
194 UTF8.decode_permissive(Token.implode(tokens0)) |
|
195 else Token.implode(tokens0) |
|
196 |
193 |
197 val (drop_tokens, tokens) = read_tokens(Scan.char_reader(text), strict) |
194 val (drop_tokens, tokens) = read_tokens(Scan.char_reader(text), strict) |
198 val pos = (start /: drop_tokens)(_.advance(_)) |
195 val pos = (start /: drop_tokens)(_.advance(_)) |
199 |
196 |
200 parse(commit(header), Token.reader(tokens, pos)) match { |
197 parse(commit(header), Token.reader(tokens, pos)) match { |