comparison src/scriptcheck.sml @ 1663:0577be31a435

First part of changes to avoid depending on C function call argument order of evaluation (omitting normal Ur function calls, so far)
author Adam Chlipala <adam@chlipala.net>
date Sat, 07 Jan 2012 15:56:22 -0500
parents 7a31e0cf25e9
children c1e3805e604e
comparison
equal deleted inserted replaced
1662:edf86cef0dba 1663:0577be31a435
90 | ENone _ => false 90 | ENone _ => false
91 | ESome (_, e) => hasClient e 91 | ESome (_, e) => hasClient e
92 | EFfi ("Basis", x) => SS.member (basis, x) 92 | EFfi ("Basis", x) => SS.member (basis, x)
93 | EFfi _ => false 93 | EFfi _ => false
94 | EFfiApp ("Basis", "maybe_onload", 94 | EFfiApp ("Basis", "maybe_onload",
95 [(EFfiApp ("Basis", "strcat", all as [_, (EPrim (Prim.String s), _)]), _)]) => 95 [((EFfiApp ("Basis", "strcat", all as [_, ((EPrim (Prim.String s), _), _)]), _), _)]) =>
96 List.exists hasClient all 96 List.exists (hasClient o #1) all
97 orelse (onload andalso size s > 0) 97 orelse (onload andalso size s > 0)
98 | EFfiApp ("Basis", x, es) => SS.member (basis, x) 98 | EFfiApp ("Basis", x, es) => SS.member (basis, x)
99 orelse List.exists hasClient es 99 orelse List.exists (hasClient o #1) es
100 | EFfiApp (_, _, es) => List.exists hasClient es 100 | EFfiApp (_, _, es) => List.exists (hasClient o #1) es
101 | EApp (e, es) => hasClient e orelse List.exists hasClient es 101 | EApp (e, es) => hasClient e orelse List.exists hasClient es
102 | EUnop (_, e) => hasClient e 102 | EUnop (_, e) => hasClient e
103 | EBinop (_, e1, e2) => hasClient e1 orelse hasClient e2 103 | EBinop (_, e1, e2) => hasClient e1 orelse hasClient e2
104 | ERecord (_, xes) => List.exists (hasClient o #2) xes 104 | ERecord (_, xes) => List.exists (hasClient o #2) xes
105 | EField (e, _) => hasClient e 105 | EField (e, _) => hasClient e