src/Pure/Isar/local_syntax.ML
changeset 25390 8bfa6566ac6b
parent 25385 42df506673ed
child 29606 fedb8be05f24
equal deleted inserted replaced
25389:3e58c7cb5a73 25390:8bfa6566ac6b
    61     val is_logtype = Sign.is_logtype thy;
    61     val is_logtype = Sign.is_logtype thy;
    62     fun const_gram ((true, m), decls) = Syntax.update_const_gram is_logtype m decls
    62     fun const_gram ((true, m), decls) = Syntax.update_const_gram is_logtype m decls
    63       | const_gram ((false, m), decls) = Syntax.remove_const_gram is_logtype m decls;
    63       | const_gram ((false, m), decls) = Syntax.remove_const_gram is_logtype m decls;
    64     val (atrs, trs, trs', atrs') = Syntax.struct_trfuns structs;
    64     val (atrs, trs, trs', atrs') = Syntax.struct_trfuns structs;
    65     val local_syntax = thy_syntax
    65     val local_syntax = thy_syntax
    66       |> Syntax.extend_trfuns
    66       |> Syntax.update_trfuns
    67           (map Syntax.mk_trfun atrs, map Syntax.mk_trfun trs,
    67           (map Syntax.mk_trfun atrs, map Syntax.mk_trfun trs,
    68            map Syntax.mk_trfun trs', map Syntax.mk_trfun atrs')
    68            map Syntax.mk_trfun trs', map Syntax.mk_trfun atrs')
    69       |> fold const_gram (AList.coalesce (op =) (rev (map snd mixfixes)));
    69       |> fold const_gram (AList.coalesce (op =) (rev (map snd mixfixes)));
    70   in make_syntax (thy_syntax, local_syntax, mode, mixfixes, idents) end;
    70   in make_syntax (thy_syntax, local_syntax, mode, mixfixes, idents) end;
    71 
    71