% Table * % % module % main string2_main(_upvals):-_upvals=[_last,_size],(_s = "sdf",call_cl(_size,[_s,_s2]),writeln_(_s2),call_cl(_last,[_s,_T24]),writeln_(_T24)). % 12 string2_12(_s1,_s2,_s3,_upvals):-_upvals=[_concat],(call_cl(_concat,[_s1,_s2,_s3])). % 11 string2_11(_S1,_S2,_upvals):-_upvals=[],(s_le(_S1,_S2)). % 10 string2_10(_s,_n,_upvals):-_upvals=[],(string_codes(_s,'[|]'(_n,[]))). % 9 string2_9(_s,_l,_upvals):-_upvals=[],(string_codes(_s,_l)). % 8 string2_8(_s,_sep,_l,_upvals):-_upvals=[_splitIndex],(call_cl(_splitIndex,[_s,_sep,0.0,_l])). % 7 string2_7(_s1,_s2,_upvals):-_upvals=[],(string_lower(_s1,_s2)). % 6 string2_6(_s1,_s2,_upvals):-_upvals=[],(string_upper(_s1,_s2)). % 5 string2_5(_s1,_s2,_upvals):-_upvals=[_findIndex],(call_cl(_findIndex,[_s1,_s2,0.0,_])). % 4 string2_4(_s1,_s2,_pos,_upvals):-_upvals=[_findIndex],(call_cl(_findIndex,[_s1,_s2,0.0,_pos])). % 3 string2_3(_S1,_S2,_upvals):-_upvals=[],(s_size(_S1,_L),s_slice(_S1,1.0,_L,_S2)). % 2 string2_2(_S1,_S2,_upvals):-_upvals=[],(s_at(_S1,0.0,_S2)). % at string2_at(_s,_x,_c,_upvals):-_upvals=[_get],(call_cl(_get,[_s,_x,_c])). % last string2_last(_s,_c,_upvals):-_upvals=[_get,_size],(call_cl(_size,[_s,_n]),call_cl(_get,[_s,_n-1.0,_c])). % concat string2_concat(_s1,_s2,_s3,_upvals):-_upvals=[],(_s3 = _s2+_s1). % splitIndex string2_splitIndex(_s,_sep,_i,_l,_upvals):-_upvals=[_slice,_size,_slice,_size,_math,_math,_findIndex],(call_cl(_findIndex,[_s,_sep,_i,_pos]),writeln_(_math),get_(_math,"inc",T4),_T3 = T4,call_cl(_T3,[_pos,_pos2]),call_cl(_size,[_s,_len]),call_cl(_slice,[_s,_i,_pos,_part1]),_l = '[|]'(_part1,_l2),call(string2_splitIndex(_s,_sep,_pos2,_l2),_upvals);call_cl(_size,[_s,_len]),call_cl(_slice,[_s,_i,_len,_part1]),_l = '[|]'(_part1,[])). % findIndex string2_findIndex(_s1,_s2,_i,_pos,_upvals):-_upvals=[_size,_slice,_size],((((call_cl(_size,[_s2,_T1]),call_cl(_slice,[_s1,_i,_i+_T1,_s2])),(_i = _pos);call_cl(_size,[_s1,_T2]),lt(_i,_T2),call(string2_findIndex(_s1,_s2,_i+1.0,_pos),_upvals)))). % slice string2_slice(_S1,_I,_J,_S2,_upvals):-_upvals=[],(s_slice2(_S1,_I,_J,_S2)). % size string2_size(_s,_n,_upvals):-_upvals=[],(s_size(_s,_n)). % get string2_get(_s,_x,_c,_upvals):-_upvals=[],(sub_string(_s,_x,1.0,_,_c)). % main string2(X):-creq("math",_math),_get = clos([],string2_get),_size = clos([],string2_size),_slice = clos([],string2_slice),_findIndex = clos([_size,_slice,_size],string2_findIndex),_splitIndex = clos([_slice,_size,_slice,_size,_math,_math,_findIndex],string2_splitIndex),_concat = clos([],string2_concat),_last = clos([_get,_size],string2_last),_at = clos([_get],string2_at),new(T5),set_(T5,"first",clos([],string2_2),T7),set_(T7,"rest",clos([],string2_3),T8),set_(T8,"get",_get,T9),set_(T9,"at",_at,T10),set_(T10,"size",_size,T11),set_(T11,"length",_size,T12),set_(T12,"findIndex",_findIndex,T13),set_(T13,"slice",_slice,T14),set_(T14,"find",clos([_findIndex],string2_4),T15),set_(T15,"has",clos([_findIndex],string2_5),T16),set_(T16,"upper",clos([],string2_6),T17),set_(T17,"lower",clos([],string2_7),T18),set_(T18,"split",clos([_splitIndex],string2_8),T19),set_(T19,"toCodes",clos([],string2_9),T20),set_(T20,"code",clos([],string2_10),T21),set_(T21,"lessOrEqual",clos([],string2_11),T22),set_(T22,"_add",clos([_concat],string2_12),T23),set_(T23,"concat",_concat,T6),_t = T6,_main = clos([_last,_size],string2_main),X=_t.