src/Pure/Isar/parse.ML
changeset 45488 6d71d9e52369
parent 45331 6e0a8aba99ec
child 45596 a27cd85b6028
equal deleted inserted replaced
45487:ae60518ac054 45488:6d71d9e52369
    97   val type_const: string parser
    97   val type_const: string parser
    98   val const: string parser
    98   val const: string parser
    99   val literal_fact: string parser
    99   val literal_fact: string parser
   100   val propp: (string * string list) parser
   100   val propp: (string * string list) parser
   101   val termp: (string * string list) parser
   101   val termp: (string * string list) parser
   102   val target: xstring parser
   102   val target: (xstring * Position.T) parser
   103   val opt_target: xstring option parser
   103   val opt_target: (xstring * Position.T) option parser
   104 end;
   104 end;
   105 
   105 
   106 structure Parse: PARSE =
   106 structure Parse: PARSE =
   107 struct
   107 struct
   108 
   108 
   360 val termp = term -- Scan.optional ($$$ "(" |-- !!! (is_terms --| $$$ ")")) [];
   360 val termp = term -- Scan.optional ($$$ "(" |-- !!! (is_terms --| $$$ ")")) [];
   361 
   361 
   362 
   362 
   363 (* targets *)
   363 (* targets *)
   364 
   364 
   365 val target = ($$$ "(" -- $$$ "in") |-- !!! (xname --| $$$ ")");
   365 val target = ($$$ "(" -- $$$ "in") |-- !!! (position xname --| $$$ ")");
   366 val opt_target = Scan.option target;
   366 val opt_target = Scan.option target;
   367 
   367 
   368 end;
   368 end;
   369 
   369 
   370 type 'a parser = 'a Parse.parser;
   370 type 'a parser = 'a Parse.parser;