|
@@ -693,6 +693,280 @@ Rule Call_Params_First_Single_N10 {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+Rule Call_Params_Last_N11 {
|
|
|
+ Root N11_0 {}
|
|
|
+ Match N11_1 {
|
|
|
+ match = True
|
|
|
+ }
|
|
|
+ Match N11_2 {
|
|
|
+ match = True
|
|
|
+ }
|
|
|
+ Match N11_3 {}
|
|
|
+ Match N11_4 {}
|
|
|
+ Match N11_5 {}
|
|
|
+ Match N11_6 {}
|
|
|
+ Match N11_7 {}
|
|
|
+ Create N11_8 {}
|
|
|
+ Create N11_9 {}
|
|
|
+ Match N11_10 {}
|
|
|
+ Match N11_11 {}
|
|
|
+ Match N11_12 {
|
|
|
+ value = "a"
|
|
|
+ }
|
|
|
+ Match N11_13 {}
|
|
|
+ Match N11_14 {}
|
|
|
+ Create N11_15 {
|
|
|
+ value = "'call'"
|
|
|
+ }
|
|
|
+ Match N11_16 {
|
|
|
+ value = "!call"
|
|
|
+ }
|
|
|
+ Match N11_17 {}
|
|
|
+ Create N11_18 {}
|
|
|
+ Create N11_19 {
|
|
|
+ value = "'init'"
|
|
|
+ }
|
|
|
+ Match N11_20 {}
|
|
|
+
|
|
|
+ MatchEdge (N11_0, N11_1) {
|
|
|
+ value = "username"
|
|
|
+ }
|
|
|
+ MatchEdge (N11_1, N11_2) {
|
|
|
+ value = "'frame'"
|
|
|
+ }
|
|
|
+ DeleteEdge (N11_2, N11_16) {
|
|
|
+ value = "'IP'"
|
|
|
+ }
|
|
|
+ DeleteEdge (N11_2, N11_17) {
|
|
|
+ value = "'evalstack'"
|
|
|
+ }
|
|
|
+ CreateEdge (N11_2, N11_18) {
|
|
|
+ value = "'evalstack'"
|
|
|
+ }
|
|
|
+ CreateEdge (N11_2, N11_19) {
|
|
|
+ value = "'phase'"
|
|
|
+ }
|
|
|
+ DeleteEdge (N11_2, N11_14) {
|
|
|
+ value = "'phase'"
|
|
|
+ }
|
|
|
+ MatchEdge (N11_2, N11_10) {
|
|
|
+ value = "'returnvalue'"
|
|
|
+ }
|
|
|
+ CreateEdge (N11_2, N11_13) {
|
|
|
+ value = "'IP'"
|
|
|
+ }
|
|
|
+ MatchEdge (N11_3, N11_16) {
|
|
|
+ value = "'caller'"
|
|
|
+ }
|
|
|
+ MatchEdge (N11_3, N11_2) {
|
|
|
+ value = "'prev'"
|
|
|
+ }
|
|
|
+ MatchEdge (N11_3, N11_20) {
|
|
|
+ value = "'symbols'"
|
|
|
+ }
|
|
|
+ MatchEdge (N11_3, N11_5) {
|
|
|
+ value = "'IP'"
|
|
|
+ }
|
|
|
+ MatchEdge (N11_4, N11_5) {
|
|
|
+ value = "'body'"
|
|
|
+ }
|
|
|
+ MatchEdge (N11_4, N11_6) {
|
|
|
+ value = "'params'"
|
|
|
+ }
|
|
|
+ MatchEdge (N11_6, N11_7) {
|
|
|
+ value = "a"
|
|
|
+ }
|
|
|
+ CreateEdge (N11_8, N11_7) {}
|
|
|
+ CreateEdge (N11_8, N11_9) {}
|
|
|
+ CreateEdge (N11_9, N11_10) {
|
|
|
+ value = "'value'"
|
|
|
+ }
|
|
|
+ MatchEdge (N11_11, N11_14) {
|
|
|
+ value = "'next_param'"
|
|
|
+ }
|
|
|
+ MatchEdge (N11_11, N11_12) {
|
|
|
+ value = "'name'"
|
|
|
+ }
|
|
|
+ MatchEdge (N11_14, N11_13) {
|
|
|
+ value = "'value'"
|
|
|
+ }
|
|
|
+ MatchEdge (N11_16, N11_14) {
|
|
|
+ value = "'last_param'"
|
|
|
+ }
|
|
|
+ CreateEdge (N11_17, N11_16) {
|
|
|
+ value = "'inst'"
|
|
|
+ }
|
|
|
+ CreateEdge (N11_17, N11_15) {
|
|
|
+ value = "'phase'"
|
|
|
+ }
|
|
|
+ CreateEdge (N11_18, N11_17) {
|
|
|
+ value = "'prev'"
|
|
|
+ }
|
|
|
+ CreateEdge (N11_20, N11_8) {}
|
|
|
+}
|
|
|
+
|
|
|
+Rule Call_Params_Next_N12 {
|
|
|
+ Root N12_0 {}
|
|
|
+ Match N12_1 {}
|
|
|
+ Match N12_2 {}
|
|
|
+ Match N12_3 {}
|
|
|
+ Match N12_4 {}
|
|
|
+ Match N12_5 {}
|
|
|
+ Match N12_6 {}
|
|
|
+ Match N12_7 {}
|
|
|
+ Create N12_8 {}
|
|
|
+ Create N12_9 {}
|
|
|
+ Match N12_10 {}
|
|
|
+ Match N12_11 {}
|
|
|
+ Match N12_12 {}
|
|
|
+ Match N12_13 {}
|
|
|
+ Match N12_14 {
|
|
|
+ value = "a"
|
|
|
+ }
|
|
|
+ Create N12_15 {}
|
|
|
+ Match N12_16 {}
|
|
|
+ Match N12_17 {}
|
|
|
+ Match N12_18 {}
|
|
|
+ Match N12_19 {
|
|
|
+ value = "!call"
|
|
|
+ }
|
|
|
+ Create N12_20 {
|
|
|
+ value = "'init'"
|
|
|
+ }
|
|
|
+
|
|
|
+ MatchEdge (N12_0, N12_1) {
|
|
|
+ value = "username"
|
|
|
+ }
|
|
|
+ MatchEdge (N12_1, N12_2) {
|
|
|
+ value = "'frame'"
|
|
|
+ }
|
|
|
+ MatchEdge (N12_2, N12_10) {
|
|
|
+ value = "'returnvalue'"
|
|
|
+ }
|
|
|
+ DeleteEdge (N12_2, N12_11) {
|
|
|
+ value = "'phase'"
|
|
|
+ }
|
|
|
+ DeleteEdge (N12_2, N12_17) {
|
|
|
+ value = "'evalstack'"
|
|
|
+ }
|
|
|
+ CreateEdge (N12_2, N12_15) {
|
|
|
+ value = "'evalstack'"
|
|
|
+ }
|
|
|
+ CreateEdge (N12_2, N12_16) {
|
|
|
+ value = "'IP'"
|
|
|
+ }
|
|
|
+ DeleteEdge (N12_2, N12_19) {
|
|
|
+ value = "'IP'"
|
|
|
+ }
|
|
|
+ CreateEdge (N12_2, N12_20) {
|
|
|
+ value = "'phase'"
|
|
|
+ }
|
|
|
+ MatchEdge (N12_3, N12_5) {
|
|
|
+ value = "'IP'"
|
|
|
+ }
|
|
|
+ MatchEdge (N12_3, N12_13) {
|
|
|
+ value = "'symbols'"
|
|
|
+ }
|
|
|
+ MatchEdge (N12_3, N12_2) {
|
|
|
+ value = "'prev'"
|
|
|
+ }
|
|
|
+ MatchEdge (N12_3, N12_19) {
|
|
|
+ value = "'caller'"
|
|
|
+ }
|
|
|
+ MatchEdge (N12_4, N12_6) {
|
|
|
+ value = "'params'"
|
|
|
+ }
|
|
|
+ MatchEdge (N12_4, N12_5) {
|
|
|
+ value = "'body'"
|
|
|
+ }
|
|
|
+ MatchEdge (N12_6, N12_7) {
|
|
|
+ value = "a"
|
|
|
+ }
|
|
|
+ CreateEdge (N12_8, N12_7) {}
|
|
|
+ CreateEdge (N12_8, N12_9) {}
|
|
|
+ CreateEdge (N12_9, N12_10) {
|
|
|
+ value = "'value'"
|
|
|
+ }
|
|
|
+ MatchEdge (N12_11, N12_18) {
|
|
|
+ value = "'next_param'"
|
|
|
+ }
|
|
|
+ MatchEdge (N12_11, N12_16) {
|
|
|
+ value = "'value'"
|
|
|
+ }
|
|
|
+ MatchEdge (N12_12, N12_14) {
|
|
|
+ value = "'name'"
|
|
|
+ }
|
|
|
+ MatchEdge (N12_12, N12_11) {
|
|
|
+ value = "'next_param'"
|
|
|
+ }
|
|
|
+ CreateEdge (N12_13, N12_8) {}
|
|
|
+ CreateEdge (N12_15, N12_17) {
|
|
|
+ value = "'prev'"
|
|
|
+ }
|
|
|
+ CreateEdge (N12_17, N12_18) {
|
|
|
+ value = "'phase'"
|
|
|
+ }
|
|
|
+ CreateEdge (N12_17, N12_19) {
|
|
|
+ value = "'inst'"
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+Rule Call_Resolve_No_Params_N13 {
|
|
|
+ Root N13_0 {}
|
|
|
+ Match N13_1 {}
|
|
|
+ Match N13_2 {}
|
|
|
+ Match N13_3 {
|
|
|
+ value = "'init'"
|
|
|
+ }
|
|
|
+ Create N13_4 {}
|
|
|
+ Match N13_5 {}
|
|
|
+ Match N13_6 {
|
|
|
+ value = "!call"
|
|
|
+ }
|
|
|
+ Create N13_7 {
|
|
|
+ value = "'call'"
|
|
|
+ }
|
|
|
+ Match N13_8 {}
|
|
|
+ NAC N13_9 {}
|
|
|
+
|
|
|
+ MatchEdge (N13_0, N13_1) {
|
|
|
+ value = "username"
|
|
|
+ }
|
|
|
+ MatchEdge (N13_1, N13_2) {
|
|
|
+ value = "'frame'"
|
|
|
+ }
|
|
|
+ DeleteEdge (N13_2, N13_6) {
|
|
|
+ value = "'IP'"
|
|
|
+ }
|
|
|
+ MatchEdge (N13_2, N13_3) {
|
|
|
+ value = "'phase'"
|
|
|
+ }
|
|
|
+ CreateEdge (N13_2, N13_4) {
|
|
|
+ value = "'evalstack'"
|
|
|
+ }
|
|
|
+ DeleteEdge (N13_2, N13_5) {
|
|
|
+ value = "'evalstack'"
|
|
|
+ }
|
|
|
+ CreateEdge (N13_2, N13_8) {
|
|
|
+ value = "'IP'"
|
|
|
+ }
|
|
|
+ CreateEdge (N13_4, N13_5) {
|
|
|
+ value = "'prev'"
|
|
|
+ }
|
|
|
+ CreateEdge (N13_5, N13_6) {
|
|
|
+ value = "'inst'"
|
|
|
+ }
|
|
|
+ CreateEdge (N13_5, N13_7) {
|
|
|
+ value = "'phase'"
|
|
|
+ }
|
|
|
+ NACEdge (N13_6, N13_9) {
|
|
|
+ value = "'params'"
|
|
|
+ }
|
|
|
+ MatchEdge (N13_6, N13_8) {
|
|
|
+ value = "'func'"
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
Rule If_False_N21 {
|
|
|
Root N21_root {}
|
|
|
Match N21_userroot {
|