src/Pure/Syntax/lexicon.ML
changeset 4902 8fbccead3695
parent 4703 a50ab39756db
child 4921 74bc10921f7d
equal deleted inserted replaced
4901:d492b2ab7351 4902:8fbccead3695
    12   val explode_xstr: string -> string list
    12   val explode_xstr: string -> string list
    13   val scan_id: string list -> string * string list
    13   val scan_id: string list -> string * string list
    14   val scan_longid: string list -> string * string list
    14   val scan_longid: string list -> string * string list
    15   val scan_var: string list -> string * string list
    15   val scan_var: string list -> string * string list
    16   val scan_tid: string list -> string * string list
    16   val scan_tid: string list -> string * string list
       
    17   val scan_tvar: string list -> string * string list
    17   val scan_nat: string list -> string * string list
    18   val scan_nat: string list -> string * string list
    18   val scan_int: string list -> string * string list
    19   val scan_int: string list -> string * string list
    19   val string_of_vname: indexname -> string
    20   val string_of_vname: indexname -> string
    20   val string_of_vname': indexname -> string
    21   val string_of_vname': indexname -> string
    21   val indexname: string list -> indexname
    22   val indexname: string list -> indexname
    91 val scan_nat = scan_digits1 >> implode;
    92 val scan_nat = scan_digits1 >> implode;
    92 val scan_int = $$ "~" ^^ scan_nat || scan_nat;
    93 val scan_int = $$ "~" ^^ scan_nat || scan_nat;
    93 
    94 
    94 val scan_id_nat = scan_id ^^ Scan.optional ($$ "." ^^ scan_nat) "";
    95 val scan_id_nat = scan_id ^^ Scan.optional ($$ "." ^^ scan_nat) "";
    95 val scan_var = $$ "?" ^^ scan_id_nat;
    96 val scan_var = $$ "?" ^^ scan_id_nat;
       
    97 val scan_tvar = $$ "?" ^^ $$ "'" ^^ scan_id_nat;
    96 
    98 
    97 
    99 
    98 
   100 
    99 (** string_of_vname **)
   101 (** string_of_vname **)
   100 
   102 
   244     val scan_xid =
   246     val scan_xid =
   245       if xids then $$ "_" ^^ scan_id || scan_id
   247       if xids then $$ "_" ^^ scan_id || scan_id
   246       else scan_id;
   248       else scan_id;
   247 
   249 
   248     val scan_val =
   250     val scan_val =
   249       $$ "?" ^^ $$ "'" ^^ scan_id_nat >> pair TVarSy ||
   251       scan_tvar >> pair TVarSy ||
   250       scan_var >> pair VarSy ||
   252       scan_var >> pair VarSy ||
   251       scan_tid >> pair TFreeSy ||
   253       scan_tid >> pair TFreeSy ||
   252       $$ "#" ^^ scan_int >> pair NumSy ||		(* FIXME remove "#" *)
   254       $$ "#" ^^ scan_int >> pair NumSy ||		(* FIXME remove "#" *)
   253       scan_longid >> pair LongIdentSy ||
   255       scan_longid >> pair LongIdentSy ||
   254       scan_xid >> pair IdentSy;
   256       scan_xid >> pair IdentSy;