--- a/src/Pure/Isar/isar_syn.ML Thu Dec 03 10:45:06 1998 +0100
+++ b/src/Pure/Isar/isar_syn.ML Thu Dec 03 14:10:04 1998 +0100
@@ -297,17 +297,17 @@
val assumeP =
OuterSyntax.parser false "assume" "assume propositions"
- (opt_thm_name ":" -- Scan.repeat1 propp >>
+ (opt_thm_name ":" -- and_list1 propp >>
(fn ((x, y), z) => Toplevel.print o Toplevel.proof (IsarThy.assume x y z)));
val fixP =
OuterSyntax.parser false "fix" "fix variables (Skolem constants)"
- (Scan.repeat1 (name -- Scan.option ($$$ "::" |-- typ))
+ (and_list1 (name -- Scan.option ($$$ "::" |-- typ))
>> (fn xs => Toplevel.print o Toplevel.proof (IsarThy.fix xs)));
val letP =
OuterSyntax.parser false "let" "bind text variables"
- (enum1 "and" (enum1 "as" term -- ($$$ "=" |-- term))
+ (and_list1 (enum1 "as" term -- ($$$ "=" |-- term))
>> (fn bs => Toplevel.print o Toplevel.proof (IsarThy.match_bind bs)));
@@ -508,7 +508,7 @@
val keywords =
["(", ")", "*", "+", "--", ",", ":", "::", ";", "<", "<=", "=", "==", "=>",
"?", "[", "]", "and", "as", "binder", "infixl", "infixr", "is",
- "mixfix", "output", "{", "|", "}"];
+ "output", "{", "|", "}"];
val parsers = [
(*theory structure*)
--- a/src/Pure/Isar/outer_parse.ML Thu Dec 03 10:45:06 1998 +0100
+++ b/src/Pure/Isar/outer_parse.ML Thu Dec 03 14:10:04 1998 +0100
@@ -30,6 +30,8 @@
val enum1: string -> (token list -> 'a * token list) -> token list -> 'a list * token list
val list: (token list -> 'a * token list) -> token list -> 'a list * token list
val list1: (token list -> 'a * token list) -> token list -> 'a list * token list
+ val and_list: (token list -> 'a * token list) -> token list -> 'a list * token list
+ val and_list1: (token list -> 'a * token list) -> token list -> 'a list * token list
val name: token list -> bstring * token list
val xname: token list -> xstring * token list
val text: token list -> string * token list
@@ -133,6 +135,9 @@
fun list1 scan = enum1 "," scan;
fun list scan = enum "," scan;
+fun and_list1 scan = enum1 "and" scan;
+fun and_list scan = enum "and" scan;
+
(* names and text *)
@@ -234,7 +239,7 @@
fun opt_thm_name s = Scan.optional (thm_name s) ("", []);
val xthm = xname -- opt_attribs;
-val xthms1 = Scan.repeat1 xthm;
+val xthms1 = and_list1 xthm;
(* proof methods *)