src/Pure/Isar/outer_parse.ML
changeset 14949 5f5605361aad
parent 14835 695ee8ad0bb6
child 14981 e73f8140af78
equal deleted inserted replaced
14948:aa6d54648b32 14949:5f5605361aad
    43   val and_list: (token list -> 'a * token list) -> token list -> 'a list * token list
    43   val and_list: (token list -> 'a * token list) -> token list -> 'a list * token list
    44   val and_list1: (token list -> 'a * token list) -> token list -> 'a list * token list
    44   val and_list1: (token list -> 'a * token list) -> token list -> 'a list * token list
    45   val name: token list -> bstring * token list
    45   val name: token list -> bstring * token list
    46   val xname: token list -> xstring * token list
    46   val xname: token list -> xstring * token list
    47   val text: token list -> string * token list
    47   val text: token list -> string * token list
       
    48   val path: token list -> Path.T * token list
    48   val uname: token list -> string option * token list
    49   val uname: token list -> string option * token list
    49   val sort: token list -> string * token list
    50   val sort: token list -> string * token list
    50   val arity: token list -> (string list * string) * token list
    51   val arity: token list -> (string list * string) * token list
    51   val type_args: token list -> string list * token list
    52   val type_args: token list -> string list * token list
    52   val typ: token list -> string * token list
    53   val typ: token list -> string * token list
   173 (* names and text *)
   174 (* names and text *)
   174 
   175 
   175 val name = group "name declaration" (short_ident || sym_ident || string || number);
   176 val name = group "name declaration" (short_ident || sym_ident || string || number);
   176 val xname = group "name reference" (short_ident || long_ident || sym_ident || string || number);
   177 val xname = group "name reference" (short_ident || long_ident || sym_ident || string || number);
   177 val text = group "text" (short_ident || long_ident || sym_ident || string || number || verbatim);
   178 val text = group "text" (short_ident || long_ident || sym_ident || string || number || verbatim);
       
   179 val path = group "file name/path specification" name >> Path.unpack;
   178 
   180 
   179 val uname = underscore >> K None || name >> Some;
   181 val uname = underscore >> K None || name >> Some;
   180 
   182 
   181 
   183 
   182 (* sorts and arities *)
   184 (* sorts and arities *)