equal
deleted
inserted
replaced
27 val extra_parse_rule = Syntax.Parse_Rule (Ast.Constant name2, Ast.Constant name1) |
27 val extra_parse_rule = Syntax.Parse_Rule (Ast.Constant name2, Ast.Constant name1) |
28 in |
28 in |
29 [Syntax.Parse_Print_Rule |
29 [Syntax.Parse_Print_Rule |
30 (Ast.mk_appl (Ast.Constant name2) (map Ast.Variable vnames), |
30 (Ast.mk_appl (Ast.Constant name2) (map Ast.Variable vnames), |
31 fold (fn a => fn t => |
31 fold (fn a => fn t => |
32 Ast.mk_appl (Ast.Constant @{const_syntax Rep_cfun}) [t, Ast.Variable a]) |
32 Ast.mk_appl (Ast.Constant \<^const_syntax>\<open>Rep_cfun\<close>) [t, Ast.Variable a]) |
33 vnames (Ast.Constant name1))] @ |
33 vnames (Ast.Constant name1))] @ |
34 (case mx of |
34 (case mx of |
35 Infix _ => [extra_parse_rule] |
35 Infix _ => [extra_parse_rule] |
36 | Infixl _ => [extra_parse_rule] |
36 | Infixl _ => [extra_parse_rule] |
37 | Infixr _ => [extra_parse_rule] |
37 | Infixr _ => [extra_parse_rule] |
55 ((c, T, NoSyn), |
55 ((c, T, NoSyn), |
56 (Binding.name c2, change_arrow n T, mx), |
56 (Binding.name c2, change_arrow n T, mx), |
57 trans_rules (syntax c2) (syntax c1) n mx) |
57 trans_rules (syntax c2) (syntax c1) n mx) |
58 end |
58 end |
59 |
59 |
60 fun cfun_arity (Type (n, [_, T])) = if n = @{type_name cfun} then 1 + cfun_arity T else 0 |
60 fun cfun_arity (Type (n, [_, T])) = if n = \<^type_name>\<open>cfun\<close> then 1 + cfun_arity T else 0 |
61 | cfun_arity _ = 0 |
61 | cfun_arity _ = 0 |
62 |
62 |
63 fun is_contconst (_, _, NoSyn) = false |
63 fun is_contconst (_, _, NoSyn) = false |
64 | is_contconst (_, _, Binder _) = false (* FIXME ? *) |
64 | is_contconst (_, _, Binder _) = false (* FIXME ? *) |
65 | is_contconst (c, T, mx) = |
65 | is_contconst (c, T, mx) = |