src/Pure/Syntax/mixfix.ML
changeset 19673 853f5a3cc06e
parent 19482 9f11af8f7ef9
child 20786 96077403f619
equal deleted inserted replaced
19672:9be07d531694 19673:853f5a3cc06e
    28   val no_syn: 'a * 'b -> 'a * 'b * mixfix
    28   val no_syn: 'a * 'b -> 'a * 'b * mixfix
    29   val pretty_mixfix: mixfix -> Pretty.T
    29   val pretty_mixfix: mixfix -> Pretty.T
    30   val type_name: string -> mixfix -> string
    30   val type_name: string -> mixfix -> string
    31   val const_name: string -> mixfix -> string
    31   val const_name: string -> mixfix -> string
    32   val const_mixfix: string -> mixfix -> string * mixfix
    32   val const_mixfix: string -> mixfix -> string * mixfix
    33   val mixfix_const: string -> mixfix -> string * bool
       
    34   val unlocalize_mixfix: mixfix -> mixfix
    33   val unlocalize_mixfix: mixfix -> mixfix
    35   val mixfix_args: mixfix -> int
    34   val mixfix_args: mixfix -> int
    36   val mixfix_content: mixfix -> string list list
    35   val mixfix_content: mixfix -> string list list
    37 end;
    36 end;
    38 
    37 
   127   | fix_mixfix c (Infixl p) = InfixlName (c, p)
   126   | fix_mixfix c (Infixl p) = InfixlName (c, p)
   128   | fix_mixfix c (Infixr p) = InfixrName (c, p)
   127   | fix_mixfix c (Infixr p) = InfixrName (c, p)
   129   | fix_mixfix _ mx = mx;
   128   | fix_mixfix _ mx = mx;
   130 
   129 
   131 fun const_mixfix c mx = (const_name c mx, fix_mixfix c mx);
   130 fun const_mixfix c mx = (const_name c mx, fix_mixfix c mx);
   132 
       
   133 fun mixfix_const c NoSyn = (c, true)
       
   134   | mixfix_const c _ = (Lexicon.constN ^ c, false);
       
   135 
   131 
   136 fun map_mixfix _ NoSyn = NoSyn
   132 fun map_mixfix _ NoSyn = NoSyn
   137   | map_mixfix f (Mixfix (sy, ps, p)) = Mixfix (f sy, ps, p)
   133   | map_mixfix f (Mixfix (sy, ps, p)) = Mixfix (f sy, ps, p)
   138   | map_mixfix f (Delimfix sy) = Delimfix (f sy)
   134   | map_mixfix f (Delimfix sy) = Delimfix (f sy)
   139   | map_mixfix f (InfixName (sy, p)) = InfixName (f sy, p)
   135   | map_mixfix f (InfixName (sy, p)) = InfixName (f sy, p)