@@ -291,6 +291,86 @@ pub fn getstring(
291291 }
292292 }
293293 skips = leng;
294+ } else if vec[ y] == "split" {
295+ imput_s. push_str (
296+ split (
297+ y,
298+ vec. to_vec ( ) ,
299+ memory_names. clone ( ) ,
300+ memory_values. clone ( ) ,
301+ memory_types. clone ( ) ,
302+ func_names. clone ( ) ,
303+ func_par. clone ( ) ,
304+ func_code. clone ( ) ,
305+ dev,
306+ uses. clone ( ) ,
307+ )
308+ . to_string ( )
309+ . as_str ( ) ,
310+ ) ;
311+ let mut leng = 0 ;
312+ let mut n2 = 0 ;
313+ let mut skip1 = false ;
314+ for elem in y + 1 ..vec. len ( ) {
315+ if !skip1 {
316+ if vec[ y + 1 ] != "(" {
317+ println ! ( "You have to put a parentheses after a log" ) ;
318+ std:: process:: exit ( 1 ) ;
319+ }
320+ if contents[ elem] == "(" {
321+ n2 += 1 ;
322+ } else if contents[ elem] == ")" {
323+ n2 -= 1 ;
324+ }
325+ if n2 == 0 {
326+ skip1 = true ;
327+ for _z in y + 1 ..elem + 1 {
328+ leng += 1 ;
329+ }
330+ }
331+ }
332+ }
333+ skips = leng;
334+ } else if vec[ y] == "splitK" {
335+ imput_s. push_str (
336+ split_k (
337+ y,
338+ vec. to_vec ( ) ,
339+ memory_names. clone ( ) ,
340+ memory_values. clone ( ) ,
341+ memory_types. clone ( ) ,
342+ func_names. clone ( ) ,
343+ func_par. clone ( ) ,
344+ func_code. clone ( ) ,
345+ dev,
346+ uses. clone ( ) ,
347+ )
348+ . to_string ( )
349+ . as_str ( ) ,
350+ ) ;
351+ let mut leng = 0 ;
352+ let mut n2 = 0 ;
353+ let mut skip1 = false ;
354+ for elem in y + 1 ..vec. len ( ) {
355+ if !skip1 {
356+ if vec[ y + 1 ] != "(" {
357+ println ! ( "You have to put a parentheses after a log" ) ;
358+ std:: process:: exit ( 1 ) ;
359+ }
360+ if contents[ elem] == "(" {
361+ n2 += 1 ;
362+ } else if contents[ elem] == ")" {
363+ n2 -= 1 ;
364+ }
365+ if n2 == 0 {
366+ skip1 = true ;
367+ for _z in y + 1 ..elem + 1 {
368+ leng += 1 ;
369+ }
370+ }
371+ }
372+ }
373+ skips = leng;
294374 } else if vec[ y] == "length" {
295375 imput_s. push_str (
296376 length (
@@ -1430,6 +1510,69 @@ pub fn round(
14301510 . round ( ) as i32
14311511}
14321512
1513+ pub fn split (
1514+ x : usize ,
1515+ contents : Vec < String > ,
1516+ memory_names : Vec < String > ,
1517+ memory_values : Vec < String > ,
1518+ memory_types : Vec < String > ,
1519+ func_names : Vec < String > ,
1520+ func_par : Vec < String > ,
1521+ func_code : Vec < String > ,
1522+ dev : bool ,
1523+ uses : Vec < String > ,
1524+ ) -> String {
1525+ let mut items = getstring (
1526+ x,
1527+ contents,
1528+ memory_names,
1529+ memory_values,
1530+ memory_types,
1531+ func_names,
1532+ func_par,
1533+ func_code,
1534+ dev,
1535+ uses,
1536+ 0 ,
1537+ ) ;
1538+ let replacer: String = items. last ( ) . unwrap ( ) . to_string ( ) ;
1539+ items. pop ( ) ;
1540+ items. join ( "zzGVgfHaNtPMe7H9RRyx3rWC9JyyZdMkc2v" ) . replace ( & replacer, "zzGVgfHaNtPMe7H9RRyx3rWC9JyyZdMkc2v" )
1541+ }
1542+
1543+ pub fn split_k (
1544+ x : usize ,
1545+ contents : Vec < String > ,
1546+ memory_names : Vec < String > ,
1547+ memory_values : Vec < String > ,
1548+ memory_types : Vec < String > ,
1549+ func_names : Vec < String > ,
1550+ func_par : Vec < String > ,
1551+ func_code : Vec < String > ,
1552+ dev : bool ,
1553+ uses : Vec < String > ,
1554+ ) -> String {
1555+ let mut items = getstring (
1556+ x,
1557+ contents,
1558+ memory_names,
1559+ memory_values,
1560+ memory_types,
1561+ func_names,
1562+ func_par,
1563+ func_code,
1564+ dev,
1565+ uses,
1566+ 0 ,
1567+ ) ;
1568+ let replacer: String = items. last ( ) . unwrap ( ) . to_string ( ) ;
1569+ items. pop ( ) ;
1570+ let mut replaced: String = "zzGVgfHaNtPMe7H9RRyx3rWC9JyyZdMkc2v" . to_string ( ) ;
1571+ replaced. push_str ( & * replacer) ;
1572+ replaced. push_str ( "zzGVgfHaNtPMe7H9RRyx3rWC9JyyZdMkc2v" ) ;
1573+ items. join ( "zzGVgfHaNtPMe7H9RRyx3rWC9JyyZdMkc2v" ) . replace ( & replacer, & replaced) . to_string ( ) . strip_prefix ( "zzGVgfHaNtPMe7H9RRyx3rWC9JyyZdMkc2v" ) . unwrap ( ) . strip_suffix ( "zzGVgfHaNtPMe7H9RRyx3rWC9JyyZdMkc2v" ) . unwrap ( ) . to_string ( )
1574+ }
1575+
14331576pub fn length (
14341577 x : usize ,
14351578 contents : Vec < String > ,
0 commit comments