src/Doc/Implementation/Logic.thy
changeset 74915 cdd2284c8047
parent 74910 bdaf29253394
parent 74880 944d4d616ca0
child 76987 4c275405faae
equal deleted inserted replaced
74914:70be57333ea1 74915:cdd2284c8047
   215 
   215 
   216 
   216 
   217   \<^rail>\<open>
   217   \<^rail>\<open>
   218     @{syntax_def type_const}: @{syntax name} (@{syntax embedded_ml}*)
   218     @{syntax_def type_const}: @{syntax name} (@{syntax embedded_ml}*)
   219     ;
   219     ;
   220     @{syntax_def type_const_fn}: @{syntax type_const} @'=>' @{syntax embedded}
   220     @{syntax_def type_const_fn}: @{syntax type_const} @'=>' @{syntax embedded_ml}
   221     ;
   221     ;
   222     @{syntax_def embedded_ml}: @{syntax embedded} |
   222     @{syntax_def embedded_ml}:
   223       @{syntax control_symbol} @{syntax embedded} | @'_'
   223       @'_' | @{syntax embedded} | @{syntax control_symbol} @{syntax embedded}
   224   \<close>
   224   \<close>
   225 
   225 
   226   The text provided as @{syntax embedded_ml} is treated as regular Isabelle/ML
   226   The text provided as @{syntax embedded_ml} is treated as regular Isabelle/ML
   227   source, possibly with nested antiquotations. ML text that only consists of a
   227   source, possibly with nested antiquotations. ML text that only consists of a
   228   single antiquotation in compact control-cartouche notation, can be written
   228   single antiquotation in compact control-cartouche notation, can be written
   489 
   489 
   490   \<^rail>\<open>
   490   \<^rail>\<open>
   491     @{syntax_def term_const}:
   491     @{syntax_def term_const}:
   492       @{syntax name} (@{syntax embedded_ml}*) (@{syntax for_args})?
   492       @{syntax name} (@{syntax embedded_ml}*) (@{syntax for_args})?
   493     ;
   493     ;
   494     @{syntax_def term_const_fn}: @{ syntax term_const} @'=>' @{syntax embedded}
   494     @{syntax_def term_const_fn}:
       
   495       @{syntax term_const} @'=>' @{syntax embedded_ml}
   495     ;
   496     ;
   496     @{syntax_def for_args}: @'for' (@{syntax embedded_ml}*)
   497     @{syntax_def for_args}: @'for' (@{syntax embedded_ml}+)
   497   \<close>
   498   \<close>
   498 \<close>
   499 \<close>
   499 
   500 
   500 text %mlex \<open>
   501 text %mlex \<open>
   501   Here are some minimal examples for term constant antiquotations. Type
   502   Here are some minimal examples for term constant antiquotations. Type