diff options
author | Noam Rosenthal <nrosenth@nokia.com> | 2009-06-08 12:28:41 -0700 |
---|---|---|
committer | Noam Rosenthal <nrosenth@nokia.com> | 2009-06-08 12:28:41 -0700 |
commit | 7a41ce5b7a595c67c16ae5ef1711927623602b6a (patch) | |
tree | 5a6917940daa31c04f21bbb67417504674b6418a /examples/calc/calc.scxml | |
parent | d0441f605434a89b53735427e4e81182c65debbd (diff) |
some missing files
Diffstat (limited to 'examples/calc/calc.scxml')
-rw-r--r-- | examples/calc/calc.scxml | 215 |
1 files changed, 106 insertions, 109 deletions
diff --git a/examples/calc/calc.scxml b/examples/calc/calc.scxml index 35a9b9e..ec732c7 100644 --- a/examples/calc/calc.scxml +++ b/examples/calc/calc.scxml @@ -1,6 +1,3 @@ -<!-- http://www.state-machine.com/devzone/Recipe_DesigningHSM.pdf --> -<!-- events: OPER.PLUS OPER.MINUS OPER.MULTIPLY OPER.DIVIDE DIGIT.0 DIGIT.1_9 EQUALS CE C POINT - ---> <scxml initial="on" profile="ecma" name="calc"> <script> @@ -70,26 +67,26 @@ <datamodel> <data id="long_expr" /> <data id="res" >0</data> - </datamodel> + </datamodel> <onentry> - <script> + <script> var short_expr = 0; _data.res = 0; _data.long_expr = ""; updateDisplay(); - </script> - </onentry> - <state id="ready" initial="begin"> - <state id="begin"> - <transition event="OPER.MINUS" target="negated1" /> - <onentry> - <script> - updateDisplay (); - </script> - </onentry> - </state> - <state id="result"> - </state> + </script> + </onentry> + <state id="ready" initial="begin"> + <state id="begin"> + <transition event="OPER.MINUS" target="negated1" /> + <onentry> + <script> + updateDisplay (); + </script> + </onentry> + </state> + <state id="result"> + </state> <transition event="OPER" target="opEntered" /> <transition event="DIGIT.0" target="zero1"> <script> @@ -107,107 +104,107 @@ </script> </transition> </state> - <state id="negated1"> - <onentry> - <script> - negate (); - </script> - </onentry> - <transition event="DIGIT.0" target="zero1" /> + <state id="negated1"> + <onentry> + <script> + negate (); + </script> + </onentry> + <transition event="DIGIT.0" target="zero1" /> <transition event="DIGIT" target="int1" /> - <transition event="POINT" target="frac1" /> - </state> - <state id="operand1"> - <state id="zero1"> + <transition event="POINT" target="frac1" /> + </state> + <state id="operand1"> + <state id="zero1"> <transition event="DIGIT" cond="_event.name != 'DIGIT.0'" target="int1" /> - <transition event="POINT" target="frac1" /> - </state> - <state id="int1"> - <transition event="POINT" target="frac1" /> + <transition event="POINT" target="frac1" /> + </state> + <state id="int1"> + <transition event="POINT" target="frac1" /> <transition event="DIGIT"> - <script> - insertDigit (); - </script> - </transition> - <onentry> - <script> - insertDigit (); - </script> - </onentry> - </state> - <state id="frac1"> - <onentry> - <script> - insert ('.'); - </script> - </onentry> + <script> + insertDigit (); + </script> + </transition> + <onentry> + <script> + insertDigit (); + </script> + </onentry> + </state> + <state id="frac1"> + <onentry> + <script> + insert ('.'); + </script> + </onentry> <transition event="DIGIT"> - <script> - insertDigit (); - </script> - </transition> - </state> - <transition event="CE" target="ready" /> + <script> + insertDigit (); + </script> + </transition> + </state> + <transition event="CE" target="ready" /> <transition event="OPER" target="opEntered" /> - </state> - <state id="error" /> - <state id="opEntered"> - <transition event="OPER.MINUS" target="negated2" /> - <transition event="POINT" target="frac2" /> - <transition event="DIGIT.0" target="zero2" /> + </state> + <state id="error" /> + <state id="opEntered"> + <transition event="OPER.MINUS" target="negated2" /> + <transition event="POINT" target="frac2" /> + <transition event="DIGIT.0" target="zero2" /> <transition event="DIGIT" target="int2" /> - <onentry> - <script> - insertOp (); - </script> - </onentry> - </state> - <state id="negated2"> - <onentry> - <script> - negate (); - </script> - </onentry> - <transition event="CE" target="opEntered" /> - <transition event="DIGIT.0" target="zero2" /> + <onentry> + <script> + insertOp (); + </script> + </onentry> + </state> + <state id="negated2"> + <onentry> + <script> + negate (); + </script> + </onentry> + <transition event="CE" target="opEntered" /> + <transition event="DIGIT.0" target="zero2" /> <transition event="DIGIT" target="int2" /> - <transition event="POINT" target="frac2" /> - </state> - <state id="operand2"> - <state id="zero2"> + <transition event="POINT" target="frac2" /> + </state> + <state id="operand2"> + <state id="zero2"> <transition event="DIGIT" cond="_event.name != 'DIGIT.0'" target="int2" /> - <transition event="POINT" target="frac2" /> - </state> - <state id="int2"> + <transition event="POINT" target="frac2" /> + </state> + <state id="int2"> <transition event="DIGIT"> - <script> - insertDigit (); - </script> - </transition> - <onentry> - <script> - insertDigit (); - </script> - </onentry> - <transition event="POINT" target="frac2" /> - </state> - <state id="frac2"> - <onentry> - <script> - insert ('.'); - </script> - </onentry> + <script> + insertDigit (); + </script> + </transition> + <onentry> + <script> + insertDigit (); + </script> + </onentry> + <transition event="POINT" target="frac2" /> + </state> + <state id="frac2"> + <onentry> + <script> + insert ('.'); + </script> + </onentry> <transition event="DIGIT"> - <script> - insertDigit (); - </script> - </transition> - </state> + <script> + insertDigit (); + </script> + </transition> + </state> <transition event="OPER" cond="!insertOp()" target="error" /> <transition event="OPER" target="opEntered" /> - <transition event="EQUALS" cond="!calc()" target="error" /> - <transition event="EQUALS" target="result" /> - </state> - <transition event="C" target="on" /> - </state> + <transition event="EQUALS" cond="!calc()" target="error" /> + <transition event="EQUALS" target="result" /> + </state> + <transition event="C" target="on" /> + </state> </scxml> |