equal
deleted
inserted
replaced
65 val name: string parser |
65 val name: string parser |
66 val binding: binding parser |
66 val binding: binding parser |
67 val embedded: string parser |
67 val embedded: string parser |
68 val text: string parser |
68 val text: string parser |
69 val path: string parser |
69 val path: string parser |
|
70 val session_name: string parser |
70 val theory_name: string parser |
71 val theory_name: string parser |
71 val liberal_name: string parser |
72 val liberal_name: string parser |
72 val parname: string parser |
73 val parname: string parser |
73 val parbinding: binding parser |
74 val parbinding: binding parser |
74 val class: string parser |
75 val class: string parser |
107 val attribs: Token.src list parser |
108 val attribs: Token.src list parser |
108 val opt_attribs: Token.src list parser |
109 val opt_attribs: Token.src list parser |
109 val thm_sel: Facts.interval list parser |
110 val thm_sel: Facts.interval list parser |
110 val thm: (Facts.ref * Token.src list) parser |
111 val thm: (Facts.ref * Token.src list) parser |
111 val thms1: (Facts.ref * Token.src list) list parser |
112 val thms1: (Facts.ref * Token.src list) list parser |
|
113 val option_name: string parser |
|
114 val option_value: string parser |
|
115 val options: ((string * Position.T) * (string * Position.T)) list parser |
112 end; |
116 end; |
113 |
117 |
114 structure Parse: PARSE = |
118 structure Parse: PARSE = |
115 struct |
119 struct |
116 |
120 |
270 |
274 |
271 val text = group (fn () => "text") (embedded || verbatim); |
275 val text = group (fn () => "text") (embedded || verbatim); |
272 |
276 |
273 val path = group (fn () => "file name/path specification") embedded; |
277 val path = group (fn () => "file name/path specification") embedded; |
274 |
278 |
|
279 val session_name = group (fn () => "session name") name; |
275 val theory_name = group (fn () => "theory name") name; |
280 val theory_name = group (fn () => "theory name") name; |
276 |
281 |
277 val liberal_name = keyword_with Token.ident_or_symbolic || name; |
282 val liberal_name = keyword_with Token.ident_or_symbolic || name; |
278 |
283 |
279 val parname = Scan.optional ($$$ "(" |-- name --| $$$ ")") ""; |
284 val parname = Scan.optional ($$$ "(" |-- name --| $$$ ")") ""; |
464 (literal_fact >> Facts.Fact || |
469 (literal_fact >> Facts.Fact || |
465 position name -- Scan.option thm_sel >> Facts.Named) -- opt_attribs; |
470 position name -- Scan.option thm_sel >> Facts.Named) -- opt_attribs; |
466 |
471 |
467 val thms1 = Scan.repeat1 thm; |
472 val thms1 = Scan.repeat1 thm; |
468 |
473 |
|
474 |
|
475 (* options *) |
|
476 |
|
477 val option_name = group (fn () => "option name") name; |
|
478 val option_value = group (fn () => "option value") ((token real || token name) >> Token.content_of); |
|
479 |
|
480 val option = |
|
481 position option_name :-- (fn (_, pos) => |
|
482 Scan.optional ($$$ "=" |-- !!! (position option_value)) ("true", pos)); |
|
483 |
|
484 val options = $$$ "[" |-- list1 option --| $$$ "]"; |
|
485 |
469 end; |
486 end; |