src/Pure/Isar/parse.ML
changeset 59917 9830c944670f
parent 59809 87641097d0f3
child 59918 d01e6d159c33
equal deleted inserted replaced
59916:f673ce6b1e2b 59917:9830c944670f
    44   val maybe: 'a parser -> 'a option parser
    44   val maybe: 'a parser -> 'a option parser
    45   val tag_name: string parser
    45   val tag_name: string parser
    46   val tags: string list parser
    46   val tags: string list parser
    47   val opt_unit: unit parser
    47   val opt_unit: unit parser
    48   val opt_keyword: string -> bool parser
    48   val opt_keyword: string -> bool parser
       
    49   val opt_bang: bool parser
    49   val begin: string parser
    50   val begin: string parser
    50   val opt_begin: bool parser
    51   val opt_begin: bool parser
    51   val nat: int parser
    52   val nat: int parser
    52   val int: int parser
    53   val int: int parser
    53   val real: real parser
    54   val real: real parser
   229 val tag_name = group (fn () => "tag name") (short_ident || string);
   230 val tag_name = group (fn () => "tag name") (short_ident || string);
   230 val tags = Scan.repeat ($$$ "%" |-- !!! tag_name);
   231 val tags = Scan.repeat ($$$ "%" |-- !!! tag_name);
   231 
   232 
   232 val opt_unit = Scan.optional ($$$ "(" -- $$$ ")" >> (K ())) ();
   233 val opt_unit = Scan.optional ($$$ "(" -- $$$ ")" >> (K ())) ();
   233 fun opt_keyword s = Scan.optional ($$$ "(" |-- !!! (($$$ s >> K true) --| $$$ ")")) false;
   234 fun opt_keyword s = Scan.optional ($$$ "(" |-- !!! (($$$ s >> K true) --| $$$ ")")) false;
       
   235 val opt_bang = Scan.optional ($$$ "!" >> K true) false;
   234 
   236 
   235 val begin = $$$ "begin";
   237 val begin = $$$ "begin";
   236 val opt_begin = Scan.optional (begin >> K true) false;
   238 val opt_begin = Scan.optional (begin >> K true) false;
   237 
   239 
   238 
   240 
   458     position xname -- Scan.option thm_sel >> Facts.Named) -- opt_attribs;
   460     position xname -- Scan.option thm_sel >> Facts.Named) -- opt_attribs;
   459 
   461 
   460 val xthms1 = Scan.repeat1 xthm;
   462 val xthms1 = Scan.repeat1 xthm;
   461 
   463 
   462 end;
   464 end;
   463