59 val local_syntax = thy_syntax |
59 val local_syntax = thy_syntax |
60 |> Syntax.extend_trfuns |
60 |> Syntax.extend_trfuns |
61 (map Syntax.mk_trfun atrs, map Syntax.mk_trfun trs, |
61 (map Syntax.mk_trfun atrs, map Syntax.mk_trfun trs, |
62 map Syntax.mk_trfun trs', map Syntax.mk_trfun atrs') |
62 map Syntax.mk_trfun trs', map Syntax.mk_trfun atrs') |
63 |> fold (uncurry (Syntax.extend_const_gram is_logtype)) |
63 |> fold (uncurry (Syntax.extend_const_gram is_logtype)) |
64 (coalesce (op =) (rev (map snd mixfixes))); |
64 (AList.coalesce (op =) (rev (map snd mixfixes))); |
65 in make_syntax (thy_syntax, local_syntax, mixfixes, idents) end; |
65 in make_syntax (thy_syntax, local_syntax, mixfixes, idents) end; |
66 |
66 |
67 fun init thy = build_syntax thy ([], ([], [])); |
67 fun init thy = build_syntax thy ([], ([], [])); |
68 |
68 |
69 fun rebuild thy (syntax as Syntax {mixfixes, idents, ...}) = |
69 fun rebuild thy (syntax as Syntax {mixfixes, idents, ...}) = |