src/Pure/Isar/outer_parse.ML
changeset 28965 1de908189869
parent 28941 128459bd72d2
child 29310 1a633304fa5e
equal deleted inserted replaced
28963:f6d9e0e0b153 28965:1de908189869
    59   val and_list1': ('a * token list -> 'b * ('a * token list)) ->
    59   val and_list1': ('a * token list -> 'b * ('a * token list)) ->
    60     'a * token list -> 'b list * ('a * token list)
    60     'a * token list -> 'b list * ('a * token list)
    61   val list: (token list -> 'a * token list) -> token list -> 'a list * token list
    61   val list: (token list -> 'a * token list) -> token list -> 'a list * token list
    62   val list1: (token list -> 'a * token list) -> token list -> 'a list * token list
    62   val list1: (token list -> 'a * token list) -> token list -> 'a list * token list
    63   val name: token list -> bstring * token list
    63   val name: token list -> bstring * token list
    64   val binding: token list -> Name.binding * token list
    64   val binding: token list -> Binding.T * token list
    65   val xname: token list -> xstring * token list
    65   val xname: token list -> xstring * token list
    66   val text: token list -> string * token list
    66   val text: token list -> string * token list
    67   val path: token list -> Path.T * token list
    67   val path: token list -> Path.T * token list
    68   val parname: token list -> string * token list
    68   val parname: token list -> string * token list
    69   val parbinding: token list -> Name.binding * token list
    69   val parbinding: token list -> Binding.T * token list
    70   val sort: token list -> string * token list
    70   val sort: token list -> string * token list
    71   val arity: token list -> (string * string list * string) * token list
    71   val arity: token list -> (string * string list * string) * token list
    72   val multi_arity: token list -> (string list * string list * string) * token list
    72   val multi_arity: token list -> (string list * string list * string) * token list
    73   val type_args: token list -> string list * token list
    73   val type_args: token list -> string list * token list
    74   val typ_group: token list -> string * token list
    74   val typ_group: token list -> string * token list
    79   val opt_infix': token list -> mixfix * token list
    79   val opt_infix': token list -> mixfix * token list
    80   val opt_mixfix: token list -> mixfix * token list
    80   val opt_mixfix: token list -> mixfix * token list
    81   val opt_mixfix': token list -> mixfix * token list
    81   val opt_mixfix': token list -> mixfix * token list
    82   val where_: token list -> string * token list
    82   val where_: token list -> string * token list
    83   val const: token list -> (string * string * mixfix) * token list
    83   val const: token list -> (string * string * mixfix) * token list
    84   val params: token list -> (Name.binding * string option) list * token list
    84   val params: token list -> (Binding.T * string option) list * token list
    85   val simple_fixes: token list -> (Name.binding * string option) list * token list
    85   val simple_fixes: token list -> (Binding.T * string option) list * token list
    86   val fixes: token list -> (Name.binding * string option * mixfix) list * token list
    86   val fixes: token list -> (Binding.T * string option * mixfix) list * token list
    87   val for_fixes: token list -> (Name.binding * string option * mixfix) list * token list
    87   val for_fixes: token list -> (Binding.T * string option * mixfix) list * token list
    88   val for_simple_fixes: token list -> (Name.binding * string option) list * token list
    88   val for_simple_fixes: token list -> (Binding.T * string option) list * token list
    89   val ML_source: token list -> (SymbolPos.text * Position.T) * token list
    89   val ML_source: token list -> (SymbolPos.text * Position.T) * token list
    90   val doc_source: token list -> (SymbolPos.text * Position.T) * token list
    90   val doc_source: token list -> (SymbolPos.text * Position.T) * token list
    91   val properties: token list -> Properties.T * token list
    91   val properties: token list -> Properties.T * token list
    92   val props_text: token list -> (Position.T * string) * token list
    92   val props_text: token list -> (Position.T * string) * token list
    93   val term_group: token list -> string * token list
    93   val term_group: token list -> string * token list
   226 
   226 
   227 
   227 
   228 (* names and text *)
   228 (* names and text *)
   229 
   229 
   230 val name = group "name declaration" (short_ident || sym_ident || string || number);
   230 val name = group "name declaration" (short_ident || sym_ident || string || number);
   231 val binding = position name >> Binding.binding_pos;
   231 val binding = position name >> Binding.name_pos;
   232 val xname = group "name reference" (short_ident || long_ident || sym_ident || string || number);
   232 val xname = group "name reference" (short_ident || long_ident || sym_ident || string || number);
   233 val text = group "text" (short_ident || long_ident || sym_ident || string || number || verbatim);
   233 val text = group "text" (short_ident || long_ident || sym_ident || string || number || verbatim);
   234 val path = group "file name/path specification" name >> Path.explode;
   234 val path = group "file name/path specification" name >> Path.explode;
   235 
   235 
   236 val parname = Scan.optional ($$$ "(" |-- name --| $$$ ")") "";
   236 val parname = Scan.optional ($$$ "(" |-- name --| $$$ ")") "";
   237 val parbinding = Scan.optional ($$$ "(" |-- binding --| $$$ ")") Name.no_binding;
   237 val parbinding = Scan.optional ($$$ "(" |-- binding --| $$$ ")") Binding.empty;
   238 
   238 
   239 
   239 
   240 (* sorts and arities *)
   240 (* sorts and arities *)
   241 
   241 
   242 val sort = group "sort" (inner_syntax xname);
   242 val sort = group "sort" (inner_syntax xname);