src/Pure/Isar/spec_parse.ML
changeset 22658 263d42253f53
parent 22104 e8a1c88be824
child 23919 af871d13e320
equal deleted inserted replaced
22657:731622340817 22658:263d42253f53
    21   val xthms1: token list -> (thmref * Attrib.src list) list * token list
    21   val xthms1: token list -> (thmref * Attrib.src list) list * token list
    22   val name_facts: token list ->
    22   val name_facts: token list ->
    23     ((bstring * Attrib.src list) * (thmref * Attrib.src list) list) list * token list
    23     ((bstring * Attrib.src list) * (thmref * Attrib.src list) list) list * token list
    24   val locale_mixfix: token list -> mixfix * token list
    24   val locale_mixfix: token list -> mixfix * token list
    25   val locale_fixes: token list -> (string * string option * mixfix) list * token list
    25   val locale_fixes: token list -> (string * string option * mixfix) list * token list
    26   val locale_insts: token list -> string option list * token list
    26   val locale_insts: token list ->
       
    27     (string option list * (string * string) list) * token list
    27   val locale_expr: token list -> Locale.expr * token list
    28   val locale_expr: token list -> Locale.expr * token list
    28   val locale_expr_unless: (token list -> 'a * token list) ->
    29   val locale_expr_unless: (token list -> 'a * token list) ->
    29     token list -> Locale.expr * token list
    30     token list -> Locale.expr * token list
    30   val locale_keyword: token list -> string * token list
    31   val locale_keyword: token list -> string * token list
    31   val locale_element: token list -> Element.context Locale.element * token list
    32   val locale_element: token list -> Element.context Locale.element * token list
    84   P.and_list1 (P.name -- Scan.option (P.$$$ "::" |-- P.typ) -- locale_mixfix
    85   P.and_list1 (P.name -- Scan.option (P.$$$ "::" |-- P.typ) -- locale_mixfix
    85     >> (single o P.triple1) ||
    86     >> (single o P.triple1) ||
    86   P.params >> map Syntax.no_syn) >> flat;
    87   P.params >> map Syntax.no_syn) >> flat;
    87 
    88 
    88 val locale_insts =
    89 val locale_insts =
    89   Scan.optional (P.$$$ "[" |-- P.!!! (Scan.repeat1 (P.maybe P.term) --| P.$$$ "]")) [];
    90   Scan.optional (P.$$$ "[" |-- P.!!! (Scan.repeat1 (P.maybe P.term) --| P.$$$ "]")) []
       
    91   -- Scan.optional (P.$$$ "where" |-- P.and_list1 (P.term -- (P.$$$ "=" |-- P.!!! P.term))) [];
    90 
    92 
    91 local
    93 local
    92 
    94 
    93 val loc_keyword = P.$$$ "fixes" || P.$$$ "constrains" || P.$$$ "assumes" ||
    95 val loc_keyword = P.$$$ "fixes" || P.$$$ "constrains" || P.$$$ "assumes" ||
    94    P.$$$ "defines" || P.$$$ "notes" || P.$$$ "includes";
    96    P.$$$ "defines" || P.$$$ "notes" || P.$$$ "includes";