equal
deleted
inserted
replaced
42 val ident_with: (string -> bool) -> T -> bool |
42 val ident_with: (string -> bool) -> T -> bool |
43 val is_command: T -> bool |
43 val is_command: T -> bool |
44 val is_name: T -> bool |
44 val is_name: T -> bool |
45 val is_proper: T -> bool |
45 val is_proper: T -> bool |
46 val is_improper: T -> bool |
46 val is_improper: T -> bool |
47 val is_semicolon: T -> bool |
|
48 val is_comment: T -> bool |
47 val is_comment: T -> bool |
49 val is_begin_ignore: T -> bool |
48 val is_begin_ignore: T -> bool |
50 val is_end_ignore: T -> bool |
49 val is_end_ignore: T -> bool |
51 val is_error: T -> bool |
50 val is_error: T -> bool |
52 val is_space: T -> bool |
51 val is_space: T -> bool |
231 | is_proper (Token (_, (Comment, _), _)) = false |
230 | is_proper (Token (_, (Comment, _), _)) = false |
232 | is_proper _ = true; |
231 | is_proper _ = true; |
233 |
232 |
234 val is_improper = not o is_proper; |
233 val is_improper = not o is_proper; |
235 |
234 |
236 fun is_semicolon (Token (_, (Keyword, ";"), _)) = true |
|
237 | is_semicolon _ = false; |
|
238 |
|
239 fun is_comment (Token (_, (Comment, _), _)) = true |
235 fun is_comment (Token (_, (Comment, _), _)) = true |
240 | is_comment _ = false; |
236 | is_comment _ = false; |
241 |
237 |
242 fun is_begin_ignore (Token (_, (Comment, "<"), _)) = true |
238 fun is_begin_ignore (Token (_, (Comment, "<"), _)) = true |
243 | is_begin_ignore _ = false; |
239 | is_begin_ignore _ = false; |
339 fun unparse_src (Src {args, ...}) = map unparse args; |
335 fun unparse_src (Src {args, ...}) = map unparse args; |
340 |
336 |
341 fun print tok = Markup.markup (markup tok) (unparse tok); |
337 fun print tok = Markup.markup (markup tok) (unparse tok); |
342 |
338 |
343 fun text_of tok = |
339 fun text_of tok = |
344 if is_semicolon tok then ("terminator", "") |
340 let |
345 else |
341 val k = str_of_kind (kind_of tok); |
346 let |
342 val m = markup tok; |
347 val k = str_of_kind (kind_of tok); |
343 val s = unparse tok; |
348 val m = markup tok; |
344 in |
349 val s = unparse tok; |
345 if s = "" then (k, "") |
350 in |
346 else if size s < 40 andalso not (exists_string (fn c => c = "\n") s) |
351 if s = "" then (k, "") |
347 then (k ^ " " ^ Markup.markup m s, "") |
352 else if size s < 40 andalso not (exists_string (fn c => c = "\n") s) |
348 else (k, Markup.markup m s) |
353 then (k ^ " " ^ Markup.markup m s, "") |
349 end; |
354 else (k, Markup.markup m s) |
|
355 end; |
|
356 |
350 |
357 |
351 |
358 |
352 |
359 (** associated values **) |
353 (** associated values **) |
360 |
354 |