test_expressions.xml 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <?xml version="1.0" ?>
  2. <test>
  3. <statechart>
  4. <semantics big_step_maximality="take_many"/>
  5. <root initial="comparisons">
  6. <state id="comparisons" initial="s1">
  7. <transition event="e" target="." port="in"/>
  8. <state id="s1">
  9. <transition cond="1 == 1" target="../s2"/>
  10. </state>
  11. <state id="s2">
  12. <transition cond="1 != 2" target="../s3"/>
  13. </state>
  14. <state id="s3">
  15. <transition cond="1 &lt; 2" target="../s4"/>
  16. </state>
  17. <state id="s4">
  18. <transition cond="2 &gt; 1" target="../s5"/>
  19. </state>
  20. <state id="s5">
  21. <transition target="/arithmetic"/>
  22. </state>
  23. </state>
  24. <state id="arithmetic" initial="s1">
  25. <state id="s1">
  26. <transition cond="1 + 1 == 2" target="../s2"/>
  27. </state>
  28. <state id="s2">
  29. <transition cond="42 == 52 - 11 + 1" target="../s3"/>
  30. </state>
  31. <state id="s3">
  32. <transition cond="2 * 3 == 6" target="../s4"/>
  33. </state>
  34. <state id="s4">
  35. <transition cond="21 // 3 == 7" target="../s5"/>
  36. </state>
  37. <state id="s5">
  38. <transition cond="256 == 2 ** 2 ** 3" target="../s6"/>
  39. </state>
  40. <state id="s6">
  41. <transition cond="5 % 2 == 1" target="../s7"/>
  42. </state>
  43. <state id="s7">
  44. <transition target="/boolean_logic"/>
  45. </state>
  46. </state>
  47. <state id="boolean_logic" initial="s1">
  48. <state id="s1">
  49. <transition cond="True" target="../s2"/>
  50. </state>
  51. <state id="s2">
  52. <transition cond="False or True" target="../s3"/>
  53. </state>
  54. <state id="s3">
  55. <transition cond="True and not False" target="../s4"/>
  56. </state>
  57. <state id="s4">
  58. <transition cond="not (True and False or False)" target="../s5"/>
  59. </state>
  60. <state id="s5">
  61. <transition cond="not (False or False and True)" target="../s6"/>
  62. </state>
  63. <state id="s6">
  64. <transition target="/final"/>
  65. </state>
  66. </state>
  67. <state id="final">
  68. <onentry>
  69. <raise event="all_good" port="out"/>
  70. </onentry>
  71. </state>
  72. </root>
  73. </statechart>
  74. <input>
  75. <event name="e" port="in" time="0 d"/>
  76. </input>
  77. <output>
  78. <big_step>
  79. <event name="all_good" port="out"/>
  80. </big_step>
  81. </output>
  82. </test>