src/Pure/Isar/spec_parse.ML
changeset 23919 af871d13e320
parent 22658 263d42253f53
child 24013 3063a756611d
equal deleted inserted replaced
23918:a4abccde0929 23919:af871d13e320
    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 ->
    26   val locale_insts: token list ->
    27     (string option list * (string * string) list) * token list
    27     (string option list * string list) * token list
    28   val locale_expr: token list -> Locale.expr * token list
    28   val locale_expr: token list -> Locale.expr * token list
    29   val locale_expr_unless: (token list -> 'a * token list) ->
    29   val locale_expr_unless: (token list -> 'a * token list) ->
    30     token list -> Locale.expr * token list
    30     token list -> Locale.expr * token list
    31   val locale_keyword: token list -> string * token list
    31   val locale_keyword: token list -> string * token list
    32   val locale_element: token list -> Element.context Locale.element * token list
    32   val locale_element: token list -> Element.context Locale.element * token list
    86     >> (single o P.triple1) ||
    86     >> (single o P.triple1) ||
    87   P.params >> map Syntax.no_syn) >> flat;
    87   P.params >> map Syntax.no_syn) >> flat;
    88 
    88 
    89 val locale_insts =
    89 val locale_insts =
    90   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))) [];
    91   -- Scan.optional (P.$$$ "where" |-- P.and_list1 P.term) [];
    92 
    92 
    93 local
    93 local
    94 
    94 
    95 val loc_keyword = P.$$$ "fixes" || P.$$$ "constrains" || P.$$$ "assumes" ||
    95 val loc_keyword = P.$$$ "fixes" || P.$$$ "constrains" || P.$$$ "assumes" ||
    96    P.$$$ "defines" || P.$$$ "notes" || P.$$$ "includes";
    96    P.$$$ "defines" || P.$$$ "notes" || P.$$$ "includes";