src/Doc/Tutorial/Protocol/Message.thy
changeset 81261 0c9075bdff38
parent 81091 c007e6d9941d
child 82630 2bb4a8d0111d
equal deleted inserted replaced
81260:ff60c3b565da 81261:0c9075bdff38
    79 
    79 
    80 (*<*)
    80 (*<*)
    81 text\<open>Concrete syntax: messages appear as \<open>\<lbrace>A,B,NA\<rbrace>\<close>, etc...\<close>
    81 text\<open>Concrete syntax: messages appear as \<open>\<lbrace>A,B,NA\<rbrace>\<close>, etc...\<close>
    82 syntax
    82 syntax
    83   "_MTuple" :: "['a, args] \<Rightarrow> 'a * 'b"  ("(\<open>indent=2 notation=\<open>mixfix message tuple\<close>\<close>\<lbrace>_,/ _\<rbrace>)")
    83   "_MTuple" :: "['a, args] \<Rightarrow> 'a * 'b"  ("(\<open>indent=2 notation=\<open>mixfix message tuple\<close>\<close>\<lbrace>_,/ _\<rbrace>)")
       
    84 syntax_consts
       
    85   "_MTuple" \<rightleftharpoons> MPair
    84 translations
    86 translations
    85   "\<lbrace>x, y, z\<rbrace>" \<rightleftharpoons> "\<lbrace>x, \<lbrace>y, z\<rbrace>\<rbrace>"
    87   "\<lbrace>x, y, z\<rbrace>" \<rightleftharpoons> "\<lbrace>x, \<lbrace>y, z\<rbrace>\<rbrace>"
    86   "\<lbrace>x, y\<rbrace>" \<rightleftharpoons> "CONST MPair x y"
    88   "\<lbrace>x, y\<rbrace>" \<rightleftharpoons> "CONST MPair x y"
    87 
    89 
    88 
    90