# HG changeset patch # User wenzelm # Date 1728504093 -7200 # Node ID 3e3e7a68cd80ee59d15e00308a774fd94d345c0c # Parent e66172629fccdd8485ed7bff1df481baa4303fa8 back to specific nonterminals (amending 52ed95fa4656): otherwise AFP/CakeML won't terminate; diff -r e66172629fcc -r 3e3e7a68cd80 src/HOL/Library/Datatype_Records.thy --- a/src/HOL/Library/Datatype_Records.thy Wed Oct 09 22:00:12 2024 +0200 +++ b/src/HOL/Library/Datatype_Records.thy Wed Oct 09 22:01:33 2024 +0200 @@ -26,6 +26,15 @@ \<^item> extensible records are not supported \ +nonterminal + ident and + field_type and + field_types and + field and + fields and + field_update and + field_updates + open_bundle datatype_record_syntax begin @@ -38,14 +47,14 @@ "_datatype_field" :: "ident => 'a => field" (\(\indent=2 notation=\infix field value\\_ =/ _)\) "" :: "field => fields" (\_\) "_datatype_fields" :: "field => fields => fields" (\_,/ _\) - "_datatype_record" :: "fields => 'a" (\(\indent=3 notation=\mixfix datatype record type\\\_\)\) + "_datatype_record" :: "fields => 'a" (\(\indent=3 notation=\mixfix datatype record value\\\_\)\) "_datatype_field_update" :: "ident => 'a => field_update" (\(\indent=2 notation=\infix field update\\_ :=/ _)\) "" :: "field_update => field_updates" (\_\) "_datatype_field_updates" :: "field_update => field_updates => field_updates" (\_,/ _\) "_datatype_record_update" :: "'a => field_updates => 'b" (\(\open_block notation=\mixfix datatype record update\\_/(3\_\))\ [900, 0] 900) syntax (ASCII) - "_datatype_record" :: "fields => 'a" (\(\indent=3 notation=\mixfix datatype record type\\'(| _ |'))\) + "_datatype_record" :: "fields => 'a" (\(\indent=3 notation=\mixfix datatype record value\\'(| _ |'))\) "_datatype_record_update" :: "'a => field_updates => 'b" (\(\open_block notation=\mixfix datatype record update\\_/(3'(| _ |')))\ [900, 0] 900) end