equal
deleted
inserted
replaced
32 val print_outer_syntax: unit -> unit |
32 val print_outer_syntax: unit -> unit |
33 val scan: Position.T -> string -> Token.T list |
33 val scan: Position.T -> string -> Token.T list |
34 val parse: Position.T -> string -> Toplevel.transition list |
34 val parse: Position.T -> string -> Toplevel.transition list |
35 type isar |
35 type isar |
36 val isar: TextIO.instream -> bool -> isar |
36 val isar: TextIO.instream -> bool -> isar |
37 val span_cmts: Token.T list -> Token.T list |
|
38 val read_span: outer_syntax -> Token.T list -> Toplevel.transition |
37 val read_span: outer_syntax -> Token.T list -> Toplevel.transition |
39 end; |
38 end; |
40 |
39 |
41 structure Outer_Syntax: OUTER_SYNTAX = |
40 structure Outer_Syntax: OUTER_SYNTAX = |
42 struct |
41 struct |
275 |> Symbol.source |
274 |> Symbol.source |
276 |> Token.source {do_recover = SOME true} Keyword.get_lexicons Position.none |
275 |> Token.source {do_recover = SOME true} Keyword.get_lexicons Position.none |
277 |> toplevel_source term (SOME true) lookup_commands_dynamic; |
276 |> toplevel_source term (SOME true) lookup_commands_dynamic; |
278 |
277 |
279 |
278 |
280 (* side-comments *) |
|
281 |
|
282 local |
|
283 |
|
284 fun cmts (t1 :: t2 :: toks) = |
|
285 if Token.keyword_with (fn s => s = "--") t1 then t2 :: cmts toks |
|
286 else cmts (t2 :: toks) |
|
287 | cmts _ = []; |
|
288 |
|
289 in |
|
290 |
|
291 val span_cmts = filter Token.is_proper #> cmts; |
|
292 |
|
293 end; |
|
294 |
|
295 |
|
296 (* read command span -- fail-safe *) |
279 (* read command span -- fail-safe *) |
297 |
280 |
298 fun read_span outer_syntax toks = |
281 fun read_span outer_syntax toks = |
299 let |
282 let |
300 val commands = lookup_commands outer_syntax; |
283 val commands = lookup_commands outer_syntax; |