procedure main() digit := '1234567890' digit2 := digit ++ '.' digit3 := digit ++ '/' rest := open("rest_out.txt","r") nutr := open("nut_out.txt","r") glu := open("glu_out.txt","r") out := open("combinednew.txt","w") write(out, "calories, fat, protein, carb-fib, sugar, and miles (walked ar biked) from day before") write(out, right("day",5), " ", right("date",10) ," ", right("calories",8), " ", right("fat",6), " ", right("protein",7), " ", right("carb-fib",8), " ", right("sugar",6), " ", right("miles",8), " ", right("weight",6), " ", right("glucose",8)) min_da := 2622 max_ar := 500 date_ar := table("abc") day_ar := table(0) calories_ar := table(0) sugar_ar := table(0.0) fat_ar := table(0.0) carb_ar := table(0.0) prot_ar := table(0.0) glucose_ar := table(0) weight_ar := table(0.0) miles_ar := table(0.0) last1 := 0 last2 := 0 last3 := 0 last := 0 day_rel := 0 while line := read(nutr) do { day_rel := 0 if line ?? Span(digit3) => date_in || Span(' ') || Span(digit) => day_rel || Span(' ') || Span(digit2) => cal || Span(' ') || Span(digit2) => sug || Span(' ') || Span(digit2) => fat || Span(' ') || Span(digit2) => carb || Span(' ') || Span(digit2) => prot || Rpos(0) then { day_rel := day_rel - 2622 if day_rel >= 1 & day_rel < max_ar then { # date_ar[string(day_rel)] := date_in # day_ar[string(day_rel)] := day_rel calories_ar[string(day_rel)] := cal sugar_ar[string(day_rel)] := sug fat_ar[string(day_rel)] := fat carb_ar[string(day_rel)] := carb prot_ar[string(day_rel)] := prot } } if day_rel > last1 then last1 := day_rel } write("last1 = ", last1) while line := read(rest) do { day_rel := 0 if line ?? Span(digit3) => date_in || Span(' ') || Span(digit) => day_rel || Span(' ') || Span(digit2) => miles || " miles" || Rpos(0) then { day_rel := day_rel - 2622 if day_rel >= 1 & day_rel < max_ar then { miles_ar[string(day_rel)] := string(miles) # write(out,date_in," miles_ar[string(", day_rel , ")] = ",miles) } } if day_rel > last2 then last2 := day_rel } write("last2 = ", last2) while line := read(glu) do { day_rel := 0 if line ?? Span(digit3) => date_in || Span(' ') || Span(digit) => day_rel || Span(' ') || Span(digit2) => gluc || Span(' ') || Span(digit2) => wgt || Rpos(0) then { day_rel := day_rel - 2622 if day_rel >= 1 & day_rel < max_ar then { day_ar[string(day_rel)] := day_rel date_ar[string(day_rel)] := date_in glucose_ar[string(day_rel)] := gluc weight_ar[string(day_rel)] := wgt } } if day_rel > last3 then last3 := day_rel } write("last3 = ", last3) last := last1 + 1 if last2 < (last + 1) then last := last2 if last3 < last then last := last3 i := 2 write("last = ", last) while i <= last + 1 do { j := i - 1 write("glucose_ar[",i,"] = ", glucose_ar[string(i)]) if \glucose_ar[string(i)] & glucose_ar[string(i)] > 0.0 then { a1 := right(day_ar[string(i)],5) || " " a2 := right(date_ar[string(i)],10) || " " a3 := right(calories_ar[string(j)],8) || " " a4 := right(fix_2(fat_ar[string(j)]),6) || " " a4b := right(fix_2(prot_ar[string(j)]),7) || " " a4c := right(fix_2(carb_ar[string(j)]),8) || " " a4d := right(fix_2(sugar_ar[string(j)]),6) || " " a5 := right(fix_2(miles_ar[string(j)]),8) || " " a6 := right(fix_2(weight_ar[string(i)]),6) || " " a7 := right(glucose_ar[string(i)],8) || " " write(out,a1,a2,a3,a4,a4b,a4c,a4d,a5,a6,a7) } i +:= 1 } end procedure fix_2(x) write("x in ",x) if not (x ?? Break('.')) then x := x || ".0" write("x out ",x) return x end