13 TCanvas *c1 =
new TCanvas(
"c1",
"Analyze.mac",620,790);
14 c1->Range(-1,0,19,30);
15 TPaveLabel *pl1 =
new TPaveLabel(0,27,3.5,29,
"Analyze");
16 pl1->SetFillColor(42);
18 TPaveText *pt1 =
new TPaveText(0,22.8,4,25.2);
19 TText *t1 = pt1->AddText(
"Parenthesis matching");
20 TText *t2 = pt1->AddText(
"Remove unnecessary");
21 TText *t2a = pt1->AddText(
"parenthesis");
23 TPaveText *pt2 =
new TPaveText(6,23,10,25);
24 TText *t3 = pt2->AddText(
"break of");
25 TText *t4 = pt2->AddText(
"Analyze");
27 TPaveText *pt3 =
new TPaveText(0,19,4,21);
28 t4=pt3->AddText(
"look for simple");
29 TText *t5 = pt3->AddText(
"operators");
31 TPaveText *pt4 =
new TPaveText(0,15,4,17);
32 TText *t6 = pt4->AddText(
"look for an already");
33 TText *t7 = pt4->AddText(
"defined expression");
35 TPaveText *pt5 =
new TPaveText(0,11,4,13);
36 TText *t8 = pt5->AddText(
"look for usual");
37 TText *t9 = pt5->AddText(
"functions :cos sin ..");
39 TPaveText *pt6 =
new TPaveText(0,7,4,9);
40 TText *t10 = pt6->AddText(
"look for a");
41 TText *t11 = pt6->AddText(
"numeric value");
43 TPaveText *pt7 =
new TPaveText(6,18.5,10,21.5);
44 TText *t12 = pt7->AddText(
"Analyze left and");
45 TText *t13 = pt7->AddText(
"right part of");
46 TText *t14 = pt7->AddText(
"the expression");
48 TPaveText *pt8 =
new TPaveText(6,15,10,17);
49 TText *t15 = pt8->AddText(
"Replace expression");
51 TPaveText *pt9 =
new TPaveText(6,11,10,13);
52 TText *t16 = pt9->AddText(
"Analyze");
53 pt9->SetFillColor(42);
55 TPaveText *pt10 =
new TPaveText(6,7,10,9);
56 TText *t17 = pt10->AddText(
"Error");
57 TText *t18 = pt10->AddText(
"Break of Analyze");
59 TPaveText *pt11 =
new TPaveText(14,22,17,24);
60 pt11->SetFillColor(42);
61 TText *t19 = pt11->AddText(
"Analyze");
62 TText *t19a = pt11->AddText(
"Left");
64 TPaveText *pt12 =
new TPaveText(14,19,17,21);
65 pt12->SetFillColor(42);
66 TText *t20 = pt12->AddText(
"Analyze");
67 TText *t20a = pt12->AddText(
"Right");
69 TPaveText *pt13 =
new TPaveText(14,15,18,18);
70 TText *t21 = pt13->AddText(
"StackNumber++");
71 TText *t22 = pt13->AddText(
"operator[StackNumber]");
72 TText *t23 = pt13->AddText(
"= operator found");
74 TPaveText *pt14 =
new TPaveText(12,10.8,17,13.2);
75 TText *t24 = pt14->AddText(
"StackNumber++");
76 TText *t25 = pt14->AddText(
"operator[StackNumber]");
77 TText *t26 = pt14->AddText(
"= function found");
79 TPaveText *pt15 =
new TPaveText(6,7,10,9);
80 TText *t27 = pt15->AddText(
"Error");
81 TText *t28 = pt15->AddText(
"break of Analyze");
83 TPaveText *pt16 =
new TPaveText(0,2,7,5);
84 TText *t29 = pt16->AddText(
"StackNumber++");
85 TText *t30 = pt16->AddText(
"operator[StackNumber] = 0");
86 TText *t31 = pt16->AddText(
"value[StackNumber] = value found");
88 TArrow *ar =
new TArrow(2,27,2,25.4,0.012,
"|>");
91 ar->DrawArrow(2,22.8,2,21.2,0.012,
"|>");
92 ar->DrawArrow(2,19,2,17.2,0.012,
"|>");
93 ar->DrawArrow(2,15,2,13.2,0.012,
"|>");
94 ar->DrawArrow(2,11,2, 9.2,0.012,
"|>");
95 ar->DrawArrow(2, 7,2, 5.2,0.012,
"|>");
96 ar->DrawArrow(4,24,6,24,0.012,
"|>");
97 ar->DrawArrow(4,20,6,20,0.012,
"|>");
98 ar->DrawArrow(4,16,6,16,0.012,
"|>");
99 ar->DrawArrow(4,12,6,12,0.012,
"|>");
100 ar->DrawArrow(4, 8,6, 8,0.012,
"|>");
101 ar->DrawArrow(10,20,14,20,0.012,
"|>");
102 ar->DrawArrow(12,23,14,23,0.012,
"|>");
103 ar->DrawArrow(12,16.5,14,16.5,0.012,
"|>");
104 ar->DrawArrow(10,12,12,12,0.012,
"|>");
105 TText *ta =
new TText(2.2,22.2,
"err = 0");
107 ta->SetTextSize(0.015);
109 ta->SetTextAlign(12);
111 ta->DrawText(2.2,18.2,
"not found");
112 ta->DrawText(2.2,6.2,
"found");
113 TText *tb =
new TText(4.2,24.1,
"err != 0");
115 tb->SetTextSize(0.015);
117 tb->SetTextAlign(11);
119 tb->DrawText(4.2,20.1,
"found");
120 tb->DrawText(4.2,16.1,
"found");
121 tb->DrawText(4.2,12.1,
"found");
122 tb->DrawText(4.2, 8.1,
"not found");
123 TLine *l1 =
new TLine(12,16.5,12,23);