equal
deleted
inserted
replaced
37 val keyword_with: (string -> bool) -> string parser |
37 val keyword_with: (string -> bool) -> string parser |
38 val keyword_markup: bool * Markup.T -> string -> string parser |
38 val keyword_markup: bool * Markup.T -> string -> string parser |
39 val keyword_improper: string -> string parser |
39 val keyword_improper: string -> string parser |
40 val $$$ : string -> string parser |
40 val $$$ : string -> string parser |
41 val reserved: string -> string parser |
41 val reserved: string -> string parser |
42 val semicolon: string parser |
|
43 val underscore: string parser |
42 val underscore: string parser |
44 val maybe: 'a parser -> 'a option parser |
43 val maybe: 'a parser -> 'a option parser |
45 val tag_name: string parser |
44 val tag_name: string parser |
46 val tags: string list parser |
45 val tags: string list parser |
47 val opt_unit: unit parser |
46 val opt_unit: unit parser |
214 |
213 |
215 fun reserved x = |
214 fun reserved x = |
216 group (fn () => "reserved identifier " ^ quote x) |
215 group (fn () => "reserved identifier " ^ quote x) |
217 (RESET_VALUE (Scan.one (Token.ident_with (fn y => x = y)) >> Token.content_of)); |
216 (RESET_VALUE (Scan.one (Token.ident_with (fn y => x = y)) >> Token.content_of)); |
218 |
217 |
219 val semicolon = $$$ ";"; |
|
220 |
|
221 val minus = sym_ident :-- (fn "-" => Scan.succeed () | _ => Scan.fail) >> #1; |
218 val minus = sym_ident :-- (fn "-" => Scan.succeed () | _ => Scan.fail) >> #1; |
222 val underscore = sym_ident :-- (fn "_" => Scan.succeed () | _ => Scan.fail) >> #1; |
219 val underscore = sym_ident :-- (fn "_" => Scan.succeed () | _ => Scan.fail) >> #1; |
223 fun maybe scan = underscore >> K NONE || scan >> SOME; |
220 fun maybe scan = underscore >> K NONE || scan >> SOME; |
224 |
221 |
225 val nat = number >> (#1 o Library.read_int o Symbol.explode); |
222 val nat = number >> (#1 o Library.read_int o Symbol.explode); |