src/Pure/Isar/isar_syn.ML
changeset 9323 b54ebef48858
parent 9273 798673f65f02
child 9454 ea80449107cc
equal deleted inserted replaced
9322:b5bd2709a2c2 9323:b54ebef48858
   167 
   167 
   168 val axiomsP =
   168 val axiomsP =
   169   OuterSyntax.command "axioms" "state arbitrary propositions (axiomatic!)" K.thy_decl
   169   OuterSyntax.command "axioms" "state arbitrary propositions (axiomatic!)" K.thy_decl
   170     (Scan.repeat1 (P.spec_name -- P.marg_comment) >> (Toplevel.theory o IsarThy.add_axioms));
   170     (Scan.repeat1 (P.spec_name -- P.marg_comment) >> (Toplevel.theory o IsarThy.add_axioms));
   171 
   171 
       
   172 val opt_overloaded =
       
   173   Scan.optional (P.$$$ "(" |-- P.!!! ((P.$$$ "overloaded" >> K true) --| P.$$$ ")")) false;
       
   174 
   172 val defsP =
   175 val defsP =
   173   OuterSyntax.command "defs" "define constants" K.thy_decl
   176   OuterSyntax.command "defs" "define constants" K.thy_decl
   174     (Scan.repeat1 (P.spec_name -- P.marg_comment) >> (Toplevel.theory o IsarThy.add_defs));
   177     (opt_overloaded -- Scan.repeat1 (P.spec_name -- P.marg_comment)
       
   178   >> (Toplevel.theory o IsarThy.add_defs));
   175 
   179 
   176 val constdefsP =
   180 val constdefsP =
   177   OuterSyntax.command "constdefs" "declare and define constants" K.thy_decl
   181   OuterSyntax.command "constdefs" "declare and define constants" K.thy_decl
   178     (Scan.repeat1 ((P.const -- P.marg_comment) -- (P.term -- P.marg_comment))
   182     (Scan.repeat1 ((P.const -- P.marg_comment) -- (P.term -- P.marg_comment))
   179       >> (Toplevel.theory o IsarThy.add_constdefs));
   183       >> (Toplevel.theory o IsarThy.add_constdefs));
   650   outer_parse.ML, otherwise be prepared for unexpected errors*)
   654   outer_parse.ML, otherwise be prepared for unexpected errors*)
   651 
   655 
   652 val keywords =
   656 val keywords =
   653  ["!", "!!", "%", "%%", "(", ")", "+", ",", "--", ":", "::", ";", "<",
   657  ["!", "!!", "%", "%%", "(", ")", "+", ",", "--", ":", "::", ";", "<",
   654   "<=", "=", "==", "=>", "?", "[", "]", "and", "binder", "concl",
   658   "<=", "=", "==", "=>", "?", "[", "]", "and", "binder", "concl",
   655   "files", "in", "infixl", "infixr", "is", "output", "|"];
   659   "files", "in", "infixl", "infixr", "is", "output", "overloaded", "|"];
   656 
   660 
   657 val parsers = [
   661 val parsers = [
   658   (*theory structure*)
   662   (*theory structure*)
   659   theoryP, end_excursionP, contextP,
   663   theoryP, end_excursionP, contextP,
   660   (*markup commands*)
   664   (*markup commands*)