|
@@ -1090,7 +1090,208 @@ Rule Continue_N16 {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-Rule If_False_N21 {
|
|
|
+Rule Declare_Init_N17 {
|
|
|
+ Root N17_0 {}
|
|
|
+ Match N17_1 {}
|
|
|
+ Match N17_2 {}
|
|
|
+ Delete N17_3 {
|
|
|
+ value = "'init'"
|
|
|
+ }
|
|
|
+ Create N17_4 {
|
|
|
+ value = "'finish'"
|
|
|
+ }
|
|
|
+ Match N17_5 {
|
|
|
+ value = "!declare"
|
|
|
+ }
|
|
|
+ Match N17_6 {}
|
|
|
+ Match N17_7 {}
|
|
|
+ Create N17_8 {}
|
|
|
+
|
|
|
+ MatchEdge (N17_0, N17_1) {
|
|
|
+ value = "username"
|
|
|
+ }
|
|
|
+ MatchEdge (N17_1, N17_2) {
|
|
|
+ value = "'frame'"
|
|
|
+ }
|
|
|
+ DeleteEdge (N17_2, N17_3) {
|
|
|
+ value = "'phase'"
|
|
|
+ }
|
|
|
+ CreateEdge (N17_2, N17_4) {
|
|
|
+ value = "'finish'"
|
|
|
+ }
|
|
|
+ MatchEdge (N17_2, N17_5) {
|
|
|
+ value = "'IP'"
|
|
|
+ }
|
|
|
+ MatchEdge (N17_2, N17_6) {
|
|
|
+ value = "'symbols'"
|
|
|
+ }
|
|
|
+ MatchEdge (N17_5, N17_7) {
|
|
|
+ value = "'var'"
|
|
|
+ }
|
|
|
+ CreateEdge N17_9 (N17_6, N17_8) {}
|
|
|
+ CreateEdge (N17_9, N17_7) {}
|
|
|
+}
|
|
|
+
|
|
|
+Rule Global_Init_N18 {
|
|
|
+ Root N18_0 {}
|
|
|
+ Match N18_1 {}
|
|
|
+ Match N18_2 {}
|
|
|
+ Match N18_3 {}
|
|
|
+ Delete N18_4 {
|
|
|
+ value = "'init'"
|
|
|
+ }
|
|
|
+ Create N18_5 {
|
|
|
+ value = "'finish'"
|
|
|
+ }
|
|
|
+ Match N18_6 {
|
|
|
+ value = "!global"
|
|
|
+ }
|
|
|
+ Match N18_7 {}
|
|
|
+ Create N18_8 {}
|
|
|
+
|
|
|
+ MatchEdge (N18_0, N18_1) {
|
|
|
+ value = "username"
|
|
|
+ }
|
|
|
+ MatchEdge (N18_1, N18_2) {
|
|
|
+ value = "'frame'"
|
|
|
+ }
|
|
|
+ MatchEdge (N18_1, N18_3) {
|
|
|
+ value = "'globals'"
|
|
|
+ }
|
|
|
+ DeleteEdge (N18_2, N18_4) {
|
|
|
+ value = "'phase'"
|
|
|
+ }
|
|
|
+ CreateEdge (N18_2, N18_5) {
|
|
|
+ value = "'finish'"
|
|
|
+ }
|
|
|
+ MatchEdge (N18_2, N18_6) {
|
|
|
+ value = "'IP'"
|
|
|
+ }
|
|
|
+ MatchEdge (N18_6, N18_7) {
|
|
|
+ value = "'var'"
|
|
|
+ }
|
|
|
+ CreateEdge N18_9 (N18_3, N18_8) {}
|
|
|
+ CreateEdge (N18_9, N18_7) {}
|
|
|
+}
|
|
|
+
|
|
|
+Rule If_Cond_N19 {
|
|
|
+ Root N19_0 {}
|
|
|
+ Match N19_1 {}
|
|
|
+ Match N19_2 {}
|
|
|
+ Match N19_3 {
|
|
|
+ value = "'init'"
|
|
|
+ }
|
|
|
+ Create N19_4 {}
|
|
|
+ Match N19_5 {}
|
|
|
+ Match N19_6 {
|
|
|
+ value = "!if"
|
|
|
+ }
|
|
|
+ Create N19_7 {
|
|
|
+ value = "'cond'"
|
|
|
+ }
|
|
|
+ Match N19_8 {}
|
|
|
+
|
|
|
+ MatchEdge (N19_0, N19_1) {
|
|
|
+ value = "username"
|
|
|
+ }
|
|
|
+ MatchEdge (N19_1, N19_2) {
|
|
|
+ value = "'frame'"
|
|
|
+ }
|
|
|
+ MatchEdge (N19_2, N19_3) {
|
|
|
+ value = "'phase'"
|
|
|
+ }
|
|
|
+ DeleteEdge (N19_2, N19_6) {
|
|
|
+ value = "'IP'"
|
|
|
+ }
|
|
|
+ CreateEdge (N19_2, N19_4) {
|
|
|
+ value = "'evalstack'"
|
|
|
+ }
|
|
|
+ DeleteEdge (N19_2, N19_5) {
|
|
|
+ value = "'evalstack'"
|
|
|
+ }
|
|
|
+ CreateEdge (N19_2, N19_8) {
|
|
|
+ value = "'IP'"
|
|
|
+ }
|
|
|
+ CreateEdge (N19_4, N19_5) {
|
|
|
+ value = "'prev'"
|
|
|
+ }
|
|
|
+ CreateEdge (N19_5, N19_6) {
|
|
|
+ value = "'inst'"
|
|
|
+ }
|
|
|
+ CreateEdge (N19_5, N19_7) {
|
|
|
+ value = "'phase'"
|
|
|
+ }
|
|
|
+ MatchEdge (N19_6, N19_8) {
|
|
|
+ value = "'cond'"
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+Rule If_False_Else_N20 {
|
|
|
+ Root N20_0 {}
|
|
|
+ Match N20_1 {}
|
|
|
+ Match N20_2 {}
|
|
|
+ Match N20_3 {
|
|
|
+ value = "'cond'"
|
|
|
+ }
|
|
|
+ Match N20_4 {
|
|
|
+ value = "!if"
|
|
|
+ }
|
|
|
+ Create N20_5 {}
|
|
|
+ Match N20_6 {
|
|
|
+ value = "False"
|
|
|
+ match = True
|
|
|
+ }
|
|
|
+ Create N20_7 {
|
|
|
+ value = "'init'"
|
|
|
+ }
|
|
|
+ Match N20_8 {}
|
|
|
+ Match N20_9 {}
|
|
|
+ Create N20_10 {
|
|
|
+ value = "'finish'"
|
|
|
+ }
|
|
|
+
|
|
|
+ MatchEdge (N20_0, N20_1) {
|
|
|
+ value = "username"
|
|
|
+ }
|
|
|
+ MatchEdge (N20_1, N20_2) {
|
|
|
+ value = "'frame'"
|
|
|
+ }
|
|
|
+ DeleteEdge (N20_2, N20_3) {
|
|
|
+ value = "'phase'"
|
|
|
+ }
|
|
|
+ DeleteEdge (N20_2, N20_4) {
|
|
|
+ value = "'IP'"
|
|
|
+ }
|
|
|
+ CreateEdge (N20_2, N20_5) {
|
|
|
+ value = "'evalstack'"
|
|
|
+ }
|
|
|
+ MatchEdge (N20_2, N20_6) {
|
|
|
+ value = "'returnvalue'"
|
|
|
+ }
|
|
|
+ CreateEdge (N20_2, N20_7) {
|
|
|
+ value = "'phase'"
|
|
|
+ }
|
|
|
+ DeleteEdge (N20_2, N20_9) {
|
|
|
+ value = "'evalstack'"
|
|
|
+ }
|
|
|
+ CreateEdge (N20_2, N20_8) {
|
|
|
+ value = "'IP'"
|
|
|
+ }
|
|
|
+ MatchEdge (N20_4, N20_8) {
|
|
|
+ value = "'else'"
|
|
|
+ }
|
|
|
+ CreateEdge (N20_5, N20_9) {
|
|
|
+ value = "'prev'"
|
|
|
+ }
|
|
|
+ CreateEdge (N20_9, N20_4) {
|
|
|
+ value = "'inst'"
|
|
|
+ }
|
|
|
+ CreateEdge (N20_9, N20_10) {
|
|
|
+ value = "'phase'"
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+Rule If_False_None_N21 {
|
|
|
Root N21_root {}
|
|
|
Match N21_userroot {
|
|
|
match = True
|