Warning, /frameworks/syntax-highlighting/autotests/reference/highlight.sml.ref is written in an unsupported language. File is not indexed.

0001 <Keyword>datatype</Keyword><Normal Text> Colour = R | B</Normal Text><br/>
0002 <Normal Text></Normal Text><br/>
0003 <Keyword>datatype</Keyword><Normal Text> 'a RBtree = E | N </Normal Text><Keyword>of</Keyword><Normal Text> Colour * 'a * 'a RBtree * 'a RBtree</Normal Text><br/>
0004 <Normal Text></Normal Text><br/>
0005 <Comment>(* Dieses lookup funktioniert nur fuer Elemente vom Typ int *)</Comment><br/>
0006 <Normal Text></Normal Text><br/>
0007 <Keyword>fun</Keyword><Normal Text> lookup (x,E) = </Normal Text><Keyword>false</Keyword><br/>
0008 <Normal Text>  | lookup (x,N(_,y,l,r)) = </Normal Text><br/>
0009 <Normal Text>       </Normal Text><Keyword>if</Keyword><Normal Text> x < y </Normal Text><Keyword>then</Keyword><Normal Text> lookup(x,l)</Normal Text><br/>
0010 <Normal Text>       </Normal Text><Keyword>else</Keyword><Normal Text> </Normal Text><Keyword>if</Keyword><Normal Text> y < x </Normal Text><Keyword>then</Keyword><Normal Text> lookup(x,r)</Normal Text><br/>
0011 <Normal Text>       </Normal Text><Keyword>else</Keyword><Normal Text> </Normal Text><Keyword>true</Keyword><br/>
0012 <Normal Text></Normal Text><br/>
0013 <Keyword>fun</Keyword><Normal Text> balance (B,x,N(R,y,N(R,z,t1,t2),t3),t4) =</Normal Text><br/>
0014 <Normal Text>       N(R,y,N(B,z,t1,t2),N(B,x,t3,t4))</Normal Text><br/>
0015 <Normal Text>  | balance (B,x,N(R,y,t1,N(R,z,t2,t3)),t4) =</Normal Text><br/>
0016 <Normal Text>       N(R,z,N(B,y,t1,t2),N(B,x,t3,t4))</Normal Text><br/>
0017 <Normal Text>  | balance (B,x,t1,N(R,y,N(R,z,t2,t3),t4)) =</Normal Text><br/>
0018 <Normal Text>       N(R,z,N(B,x,t1,t2),N(B,y,t3,t4))</Normal Text><br/>
0019 <Normal Text>  | balance (B,x,t1,N(R,y,t2,N(R,z,t3,t4))) =</Normal Text><br/>
0020 <Normal Text>       N(R,y,N(B,x,t1,t2),N(B,z,t3,t4))</Normal Text><br/>
0021 <Normal Text>  | balance t = N t</Normal Text><br/>
0022 <Normal Text></Normal Text><br/>
0023 <Keyword>fun</Keyword><Normal Text> insert(x,t) =</Normal Text><br/>
0024 <Normal Text>   </Normal Text><Keyword>let</Keyword><br/>
0025 <Normal Text>      </Normal Text><Keyword>fun</Keyword><Normal Text> ins E = N(R,x,E,E)</Normal Text><br/>
0026 <Normal Text>        | ins (t </Normal Text><Keyword>as</Keyword><Normal Text> N(c,y,l,r)) = </Normal Text><br/>
0027 <Normal Text>             </Normal Text><Keyword>if</Keyword><Normal Text> x < y </Normal Text><Keyword>then</Keyword><Normal Text> balance (c,y,ins l,r)</Normal Text><br/>
0028 <Normal Text>             </Normal Text><Keyword>else</Keyword><Normal Text> </Normal Text><Keyword>if</Keyword><Normal Text> y < x </Normal Text><Keyword>then</Keyword><Normal Text> balance (c,y,l,ins r)</Normal Text><br/>
0029 <Normal Text>             </Normal Text><Keyword>else</Keyword><Normal Text> t</Normal Text><br/>
0030 <Normal Text>      </Normal Text><Keyword>val</Keyword><Normal Text> N(_,y,l,r) = ins t</Normal Text><br/>
0031 <Normal Text>   </Normal Text><Keyword>in</Keyword><Normal Text> N(B,y,l,r)</Normal Text><br/>
0032 <Normal Text>   </Normal Text><Keyword>end</Keyword><br/>