equal
deleted
inserted
replaced
86 val syntax_mode: Syntax.mode parser |
86 val syntax_mode: Syntax.mode parser |
87 val where_: string parser |
87 val where_: string parser |
88 val const_decl: (string * string * mixfix) parser |
88 val const_decl: (string * string * mixfix) parser |
89 val const_binding: (binding * string * mixfix) parser |
89 val const_binding: (binding * string * mixfix) parser |
90 val params: (binding * string option * mixfix) list parser |
90 val params: (binding * string option * mixfix) list parser |
91 val fixes: (binding * string option * mixfix) list parser |
91 val vars: (binding * string option * mixfix) list parser |
92 val for_fixes: (binding * string option * mixfix) list parser |
92 val for_fixes: (binding * string option * mixfix) list parser |
93 val ML_source: Input.source parser |
93 val ML_source: Input.source parser |
94 val document_source: Input.source parser |
94 val document_source: Input.source parser |
95 val const: string parser |
95 val const: string parser |
96 val term: string parser |
96 val term: string parser |
372 val params = |
372 val params = |
373 (binding -- Scan.repeat binding) -- Scan.option ($$$ "::" |-- !!! (Scan.ahead typ -- embedded)) |
373 (binding -- Scan.repeat binding) -- Scan.option ($$$ "::" |-- !!! (Scan.ahead typ -- embedded)) |
374 >> (fn ((x, ys), T) => |
374 >> (fn ((x, ys), T) => |
375 (x, Option.map #1 T, NoSyn) :: map (fn y => (y, Option.map #2 T, NoSyn)) ys); |
375 (x, Option.map #1 T, NoSyn) :: map (fn y => (y, Option.map #2 T, NoSyn)) ys); |
376 |
376 |
377 val fixes = and_list1 (param_mixfix || params) >> flat; |
377 val vars = and_list1 (param_mixfix || params) >> flat; |
378 val for_fixes = Scan.optional ($$$ "for" |-- !!! fixes) []; |
378 |
|
379 val for_fixes = Scan.optional ($$$ "for" |-- !!! vars) []; |
379 |
380 |
380 |
381 |
381 (* embedded source text *) |
382 (* embedded source text *) |
382 |
383 |
383 val ML_source = input (group (fn () => "ML source") text); |
384 val ML_source = input (group (fn () => "ML source") text); |