src/Pure/Isar/outer_parse.ML
changeset 12876 a70df1e5bf10
parent 12272 9bc50336dab6
child 12942 48fbe245879e
equal deleted inserted replaced
12875:bda60442bf02 12876:a70df1e5bf10
    43   val and_list1: (token list -> 'a * token list) -> token list -> 'a list * token list
    43   val and_list1: (token list -> 'a * token list) -> token list -> 'a list * token list
    44   val name: token list -> bstring * token list
    44   val name: token list -> bstring * token list
    45   val xname: token list -> xstring * token list
    45   val xname: token list -> xstring * token list
    46   val text: token list -> string * token list
    46   val text: token list -> string * token list
    47   val uname: token list -> string option * token list
    47   val uname: token list -> string option * token list
    48   val comment: token list -> Comment.text * token list
       
    49   val marg_comment: token list -> Comment.text * token list
       
    50   val interest: token list -> Comment.interest * token list
       
    51   val sort: token list -> string * token list
    48   val sort: token list -> string * token list
    52   val arity: token list -> (string list * string) * token list
    49   val arity: token list -> (string list * string) * token list
    53   val simple_arity: token list -> (string list * xclass) * token list
    50   val simple_arity: token list -> (string list * xclass) * token list
    54   val type_args: token list -> string list * token list
    51   val type_args: token list -> string list * token list
    55   val typ: token list -> string * token list
    52   val typ: token list -> string * token list
   175 val text = group "text" (short_ident || long_ident || sym_ident || string || number || verbatim);
   172 val text = group "text" (short_ident || long_ident || sym_ident || string || number || verbatim);
   176 
   173 
   177 val uname = underscore >> K None || name >> Some;
   174 val uname = underscore >> K None || name >> Some;
   178 
   175 
   179 
   176 
   180 (* formal comments *)
       
   181 
       
   182 val comment = text >> (Comment.plain o Library.single);
       
   183 val marg_comment = Scan.repeat ($$$ "--" |-- text) >> Comment.plain;
       
   184 
       
   185 val interest = Scan.optional ($$$ "%%" >> K Comment.no_interest ||
       
   186   $$$ "%" |-- Scan.optional nat 1 >> Comment.interest) Comment.default_interest;
       
   187 
       
   188 
       
   189 (* sorts and arities *)
   177 (* sorts and arities *)
   190 
   178 
   191 val sort = group "sort" xname;
   179 val sort = group "sort" xname;
   192 
   180 
   193 fun gen_arity cod =
   181 fun gen_arity cod =