fork download
  1. #!/usr/bin/perl6
  2.  
  3. # nnnnnnnnnnnnnnnn
  4. my $origRwcode= ''; my $lastRwcode= ''; my $lastRwcodeDef= '';
  5.  
  6. $origRwcode=
  7. 'stepThru
  8. ( DiningPh3_Contract_Servicing::=0=
  9. [ <::: @@1 :Spaghetti_Servicer_Circling_All3Ph :::> ] )
  10. ( CellPhone::=3= [<::: @@3
  11. (subItem :AreaCode :~0)
  12. (subItem :Grouping :~1)
  13. (subItem :TenThsnd :~2) :::>] )
  14. ( PhCompnt::=1= [<::: id (subItem(concat(~0:x0):_PhoneNum) (~0:x1)) :::>] )
  15. ( All3_PhoneNum_List::=3= [<::: @@3 (PhCompnt:~0)(PhCompnt:~1)(PhCompnt:~2) :::>] )
  16. (
  17. Spaghetti_Servicer_Circling_All3Ph::=6=
  18. [<:::
  19. : stepThru
  20. : [ Text_StatefulCodes_To_Next_Cellphone
  21. : : (GET_CELLPHONENUM, ~2 :rotate :car )
  22. : : (HEREIS_STATEFULCODES_TO_TEXT, ) ] ) :::>])
  23. [
  24. goTo0
  25. [ DiningPh3_Contract_Servicing ]
  26. [ PROGVAR1__SESSION_ID :007446220008 ]
  27. [ PROGVAR2__OPERATIONAL_DATA :All3_Config_Data ]
  28. ( PROGVAR3__CIRCLING_CELLPHONE_LIST (All3_PhoneNum_List
  29. < :Ph0 [CellPhone :214:563:2468] >
  30. < :Ph1 [CellPhone :469:274:2426] >
  31. < :Ph2 [CellPhone :972:385:2464] > ) )
  32. [ PROGVAR4__CUR_PH [Ph5_PhoneList :car] ]
  33. [ PROGVAR5__CUR_STATES :Initial_All5_ThinkingEatingAndLeftFork_States ] ]
  34. ';
  35.  
  36. my $setup= 1;
  37. my $stopredOP= ''; my $stopredWhileMin= 0; my $stopredWhileMax= 0; my @stopredWFEcompArgList= Nil;
  38. my %*TERMS{Any}; my %*VARS{Any}; my %*VAR{Any}; my %*PROCS{Any}; my %*PROCSparmNum{Any};
  39. my %*stateROM; my %*actionsROM; my %*AssocListArg0; my %*AssocListArg1;
  40. my %*GOTOARGNAMES{Any};
  41.  
  42. my @savedsr2WFEcompArgList= Nil;my @savedsr2tempLeftBrace= Nil;
  43. my @savedsr2tempRightBrace= Nil;my $savedsr2rewriteArgListElems= 0;
  44.  
  45. my @tempWFEcompArgList= Nil;my @WFEcompArgListSav= Nil;my @tempLeftBraceSav= Nil;
  46. my @tempRightBraceSav= Nil;my $compareMax= 0;my $rewriteArgListElemsSav= 0;
  47.  
  48. my $input= ''; my $tp0= ''; my $tp1= ''; my $tp2= ''; my $symbType= ''; my $output= 1; my $saySuccess= 0;
  49. my $addMultSuccess= 0; my @tempStmt= Nil; my $noSkips= 1; my $wrongArgTypes= 0; my @OPstr= Nil; my $OPsav= Nil; my $OPsav2= Nil;
  50. my @OPvariety= Nil; my @entryTempoeName= Nil; my $tempInt= 9999; my $srMax= -1; my @AssocComp0= Nil;
  51. my @AssocComp1= Nil; my @ARGLISTrankForGivenLevelAlreadyInitialized= Nil; my @ARGLISTrankInGivenARGLISTlevel= Nil;
  52. my $BIStemp2= 0; my $BIStemp22= 0; my @BISelemsTotalOfListOfWFErewritesForGivenARGLISTruleRun= Nil;
  53. my @BISlistOfWFErewritesForGivenARGLISTruleRun= Nil; my @BISlistOfWFEbraceTypesForGivenARGLISTruleRun= Nil;
  54. my $BIStempCurWFEbrace= ''; my @curWFEbraceForGivenActnum= Nil; my @isBaseBISlistOfWFEbraceTypesForGivenARGLISTruleRun= Nil;
  55. my $entryWFE= ''; my $entryWFE2= ''; my $entryWFE4= ''; my $entryWFE6= ''; my $entryWFE66= ''; my $entryWFE7= ''; my $actualTemplate= ''; my $tmplateStr= ''; my $tmplateOP= 0;
  56. my $debug= 0; my $debug2= 1; my $debug4= 0;
  57.  
  58. my $englobingNoRWdegree= 0; my $curBrace= ''; my @listOfCurBraces= Nil;
  59. my @BraceTypeOfComponentWFEatGivenIndexInWFElistOfARGLISTatGivenSrLevel= Nil;
  60. my @currentARGLISTlistOfBraceTypesOfComponentWFEs= Nil;
  61. my @currentARGLISTlistOflistOfOPvarietyOfComponentWFEs= Nil;
  62. my $tempLeftBrace= ''; my $tempRightBrace= ''; my @tempLeftBrace= Nil; my @tempRightBrace= Nil;
  63. my @curbraceL= Nil; my @curbraceIdx= Nil; my $ttp= ''; my $tmplateNumOfParms= 0;
  64. my $b12 = ' '; my $i= '|'; my $l= ':'; my $temp1= 'blank'; my $temp2= 0; my $temp4= 0; my $temp6= 0; my $rewriteWFE= '';
  65. my @curWFEbrace= Nil; my @curWFEopVariety= Nil; my $curIdx= 999; my $curIdx2= 999; my $curIdx4= 999; my $sr= 0; my $srw= -1;
  66. my $rewriteArgListElems= 0; my @tempArgList= Nil; my $rewriteArgList= ''; my @WFEcompArgList= Nil; my @WFEcompArgListTemp= Nil;
  67. my @methodStepOfCallingARGLISTrun= Nil; my @WFEcompArgListTemp2= Nil;
  68. my @elemsTotalOfListOfWFErewritesForGivenARGLISTruleRun= Nil; my @listOfWFErewritesForGivenARGLISTruleRun= Nil;
  69. my @listOfWFEbraceTypesForGivenARGLISTruleRun= Nil; my @listOfOPvarietyForGivenARGLISTruleRun= Nil;
  70. my @rewriteArgList= Nil; my $stopreduction= 0; my $needNewDescend= 0; my $rwcode= ''; my $match2= ''; my $lastRunNum= -1;
  71. my $runNum= 0; my $continue= 0; my @tmplateList= Nil; my $parmSubstnResult= ''; my @parm= Nil;
  72.  
  73. sub fillRestOfArgsV1($startCurIdx) {
  74. my $curLocal= $startCurIdx;
  75. $stopredOP= $rewriteWFE; $stopredWhileMin= $curLocal; $stopredWhileMax= $rewriteArgListElems;
  76. while $curLocal < $rewriteArgListElems {
  77. @stopredWFEcompArgList[$curLocal]= @WFEcompArgList[$curLocal];
  78. $rewriteWFE= $rewriteWFE ~ '[' ~ @WFEcompArgList[$curLocal] ~ ']';
  79. $curLocal= 1 + $curLocal;
  80. };
  81. };
  82.  
  83. sub trimBrackets(Str $x) {
  84. my $local= $x;
  85. $local= $local.subst( :g , /^'['([<[a..zA..Z0..9]> | '_' ]+ | \d+)']' / , -> $/ { 'QWWw:' ~ $0 } );
  86. $local= $local.subst( :g , / '['([<[a..zA..Z0..9]> | '_' ]+ | \d+)']' / , -> $/ { ' :' ~ $0 } );
  87. $local= $local.subst( :g , /^('QWWw:') / , -> $/ { ':' } );
  88. ## $local= $local.subst( :g , /^'['(<[a..zA..Z]>[<[a..zA..Z0..9]> | '_' ]* | \d+)']' / , -> $/ { 'QWWw:' ~ $0 } );
  89. ## $local= $local.subst( :g , / '['(<[a..zA..Z]>[<[a..zA..Z0..9]> | '_' ]* | \d+)']' / , -> $/ { ' :' ~ $0 } );
  90. ## $local= $local.subst( :g , /^('QWWw:') / , -> $/ { ':' } );
  91. $local= $local.subst( :g , / '[@@2 :'([<[a..zA..Z0..9]> | '_' ]+ | \d+)' :'([<[a..zA..Z0..9]> | '_' ]+ | \d+)']' / , -> $/ { '< :' ~ $0 ~ ' :' ~ $1 ~ ' >' } );
  92. ## $local= $local.subst( :g , / '[@@2 :'(<[a..zA..Z]>[<[a..zA..Z0..9]> | '_' ]* | \d+)' :'(<[a..zA..Z]>[<[a..zA..Z0..9]> | '_' ]* | \d+)']' / , -> $/ { '< :' ~ $0 ~ ' :' ~ $1 ~ ' >' } );
  93. $local= $local.subst( :g , / '[~'(\d+)']' / , -> $/ { ' :~' ~ $0 } );
  94. $local= $local.subst( :g , / '[@@2 :'([<[a..zA..Z0..9]> | '_' ]+ | \d+)' :~'(\d+)']' / , -> $/ { '< :' ~ $0 ~ ' :~' ~ $1 ~ ' >' } );
  95. $local= $local.subst( :g , / '[@@2 :~'(\d+)' :'([<[a..zA..Z0..9]> | '_' ]+ | \d+)']' / , -> $/ { '< :~' ~ $0 ~ ' :' ~ $1 ~ ' >' } );
  96. ## $local= $local.subst( :g , / '[@@2 :'(<[a..zA..Z]>[<[a..zA..Z0..9]> | '_' ]* | \d+)' :~'(\d+)']' / , -> $/ { '< :' ~ $0 ~ ' :~' ~ $1 ~ ' >' } );
  97. ## $local= $local.subst( :g , / '[@@2 :~'(\d+)' :'(<[a..zA..Z]>[<[a..zA..Z0..9]> | '_' ]* | \d+)']' / , -> $/ { '< :~' ~ $0 ~ ' :' ~ $1 ~ ' >' } );
  98. $local= $local.subst( :g , / '[@@2~'(\d+)' :~'(\d+)']' / , -> $/ { '< ~' ~ $0 ~ ' :~' ~ $1 ~ ' >' } );
  99. $local= $local.subst( :g , / '['(\%+)']' / , -> $/ { { '[' ~ "{' ' x$0.chars}" ~ ']' } } );
  100. $local= $local.subst( :g , /^(\%+)$/ , -> $/ { { "{' ' x$0.chars}" } } );
  101. $local= $local.subst( :g , / ('PROGVAR'\d+) ('__') (<[A..Z]>[<[A..Z0..9]> | '_' ]*) '[' / , -> $/ { $0 ~ $1 ~ $2 ~ ' [' } );
  102. $local= $local.subst( :g , / ('PROGVAR'\d+) ('__') (<[A..Z]>[<[A..Z0..9]> | '_' ]*) '(' / , -> $/ { $0 ~ $1 ~ $2 ~ ' (' } );
  103. $local= $local.subst( :g , / ('PROGVAR'\d+) ('__') (<[A..Z]>[<[A..Z0..9]> | '_' ]*) '<' / , -> $/ { $0 ~ $1 ~ $2 ~ ' <' } );
  104. ## $local= $local.subst( :g , / ('PROGVAR'\d+) ('__') (<:alpha>\w*) '[' / , -> $/ { $0 ~ $1 ~ $2 ~ ' [' } );
  105. ## $local= $local.subst( :g , / ('PROGVAR'\d+) ('__') (<:alpha>\w*) '<' / , -> $/ { $0 ~ $1 ~ $2 ~ ' <' } );
  106. $local= $local.subst( :g , / '< :'(\d+)' :'([<[a..zA..Z0..9]> | '_' ]+ | \d+)' >' / , -> $/ { '<:' ~ $0 ~ ':' ~ $1 ~ '>' } );
  107. ## $local= $local.subst( :g , / '< :'(\d+)' :'(<[a..zA..Z]>[<[a..zA..Z0..9]> | '_' ]* | \d+)' >' / , -> $/ { '<:' ~ $0 ~ ':' ~ $1 ~ '>' } );
  108. $local= $local.subst( :g , / ('subItem[') / , -> $/ { 'subItem [' } );
  109. $local= $local.subst( :g , / ('subItem(') / , -> $/ { 'subItem (' } );
  110. $local= $local.subst( :g , / ('subItem<') / , -> $/ { 'subItem <' } );
  111. $local= $local.subst( :g , / ('subItem:') / , -> $/ { 'subItem :' } );
  112. $local= $local.subst( :g , / ('subVar[') / , -> $/ { 'subVar [' } );
  113. $local= $local.subst( :g , / ('subVar(') / , -> $/ { 'subVar (' } );
  114. $local= $local.subst( :g , / ('subVar<') / , -> $/ { 'subVar <' } );
  115. $local= $local.subst( :g , / ('subVar:') / , -> $/ { 'subVar :' } );
  116. $local= $local.subst( :g , / ('proc[') / , -> $/ { 'proc [' } );
  117. $local= $local.subst( :g , / ('proc(') / , -> $/ { 'proc (' } );
  118. $local= $local.subst( :g , / ('proc<') / , -> $/ { 'proc <' } );
  119. $local= $local.subst( :g , / ('proc:') / , -> $/ { 'proc :' } );
  120. $local= $local.subst( :g , / ('term[') / , -> $/ { 'term [' } );
  121. $local= $local.subst( :g , / ('term(') / , -> $/ { 'term (' } );
  122. $local= $local.subst( :g , / ('term<') / , -> $/ { 'term <' } );
  123. $local= $local.subst( :g , / ('term:') / , -> $/ { 'term :' } );
  124. $local= $local.subst( :g , / ('stepThru[') / , -> $/ { 'stepThru [' } );
  125. $local= $local.subst( :g , / ('stepThru(') / , -> $/ { 'stepThru (' } );
  126. $local= $local.subst( :g , / ('stepThru<') / , -> $/ { 'stepThru <' } );
  127. $local= $local.subst( :g , / ('stepThru:') / , -> $/ { 'stepThru :' } );
  128. $local= $local.subst( :g , / ('(@@')(\d+) / , -> $/ { '( @@' ~ $1 } );
  129. $local= $local.subst( :g , / ('[@@')(\d+) / , -> $/ { '[ @@' ~ $1 } );
  130. ## $local= $local.subst( :g , / ('<:::@@')(\d+) / , -> $/ { '<::: @@' ~ $1 } );
  131. $local= $local.subst( :g , / ('[<:::') / , -> $/ { '[ <::: ' } );
  132. $local= $local.subst( :g , / (':::>]') / , -> $/ { ' :::> ]' } );
  133. $local= $local.subst( :g , / ('@@')(\d+)('(') / , -> $/ { $0 ~ $1 ~ ' (' } );
  134. $local= $local.subst( :g , / ('@@')(\d+)('[') / , -> $/ { $0 ~ $1 ~ ' [' } );
  135. $local= $local.subst( :g , / ('@@')(\d+)('<') / , -> $/ { $0 ~ $1 ~ ' <' } );
  136. };
  137.  
  138. sub normalizeOrigCodes(Str $x) {
  139. my $local= $x;
  140. $local= $local.subst( :g , / (' : ') / , -> $/ { ' ' } );
  141. $local= $local.subst( :g , / 'Run' / , -> $/ { 'goTo0' } );
  142. $local= $local.subst( :g , / '('<[A..Z]>[<[A..Z0..9]> | '_' ]*','\s* / , -> $/ { '( ' } );
  143. $local= $local.subst( :g , / '['<[A..Z]>[<[A..Z0..9]> | '_' ]*','\s* / , -> $/ { '[ ' } );
  144. $local= $local.subst( :g , / '[' (\s+) ']' / , -> $/ { '[' ~ "{'%' x$0.chars}" ~ ']' } );
  145. $local= $local.subst( :g , / '(' \s* [<[a..zA..Z]>]+ '## ' \s* / , -> $/ { '(' } );
  146. $local= $local.subst( :g , / '[' \s* [<[a..zA..Z]>]+ '## ' \s* / , -> $/ { '[' } );
  147. $local= $local.subst( :g , / '[' ([[<[a..z0..9;,]>]+]+)(\s*) ']' / , -> $/ { '[' ~ $0 ~ "{'#' x$1.chars}" ~ ']' } );
  148. $local= $local.subst( :g , / (\s+) / , -> $/ { '' } );
  149. $local= $local.subst( :g , / ([<[#]>]+) / , -> $/ { "{' ' x$0.chars}" } );
  150. ## $local= $local.subst( :g , / '~~' (\d+) / , -> $/ { 'vector1\\' ~ $0 } );
  151. $local= $local.subst( :g , / ('<:::') / , -> $/ { '&&x&&' } );
  152. $local= $local.subst( :g , / (':::>') / , -> $/ { '&&y&&' } );
  153. $local= $local.subst( :g , / (':~')(\d+ | [ 'PROGVAR'\d+ '__' <[A..Z]>[<[A..Z0..9]> | '_' ]* ] ) / , -> $/ { '[' ~ '~' ~ $1 ~ ']' } );
  154. $local= $local.subst( :g , / ('<') / , -> $/ { '[@@2' } );
  155. $local= $local.subst( :g , / ('>') / , -> $/ { ']' } );
  156. $local= $local.subst( :g , / ('&&x&&') / , -> $/ { '<:::' } );
  157. $local= $local.subst( :g , / ('&&y&&') / , -> $/ { ':::>' } );
  158. $local= $local.subst( :g , / ('{') / , -> $/ { '@@1(' } );
  159. $local= $local.subst( :g , / ('}') / , -> $/ { ')' } );
  160. $local= $local.subst( :g , / (':::') / , -> $/ { '&&&&' } );
  161. $local= $local.subst( :g , / ':' (\d+) / , -> $/ { '-' ~ $0 } );
  162. $local= $local.subst( :g , / ':' ([<[a..zA..Z0..9]> | '_' ]+ | \d+) / , -> $/ { '-' ~ $0 } );
  163. ## $local= $local.subst( :g , / ':' (<[a..zA..Z]>[<[a..zA..Z0..9]> | '_' ]* | \d+) / , -> $/ { '-' ~ $0 } );
  164. $local= $local.subst( :g , / ('&&&&') / , -> $/ { ':::' } );
  165. $local= $local.subst( :g , / '-' (\d+) / , -> $/ { '[' ~ $0 ~ ']' } );
  166. $local= $local.subst( :g , / '-' ([<[a..zA..Z0..9]> | '_' ]+ | \d+) / , -> $/ { '[' ~ $0 ~ ']' } );
  167. ## $local= $local.subst( :g , / '-' (<[a..zA..Z]>[<[a..zA..Z0..9]> | '_' ]* | \d+) / , -> $/ { '[' ~ $0 ~ ']' } );
  168. };
  169.  
  170. $lastRwcodeDef=
  171. 'stepThru
  172. ';
  173.  
  174. $lastRwcode= normalizeOrigCodes($lastRwcodeDef);
  175.  
  176. say "\n\n\n\nOriginal Codes: ";
  177. say "---------------\n\n$origRwcode ";
  178. say "\n\n\nNormalized Codes: ";
  179. say "-----------------\n\n{normalizeOrigCodes($origRwcode)} \n\n";
  180.  
  181. $rwcode= '';
  182.  
  183. grammar Rewrite4
  184. {
  185. rule TOP {
  186. {
  187. if $sr > $srMax {
  188. $srMax= $sr;
  189. };
  190. $englobingNoRWdegree= 0;
  191. $sr++;
  192. }
  193. <WFE>
  194. {$sr--;}
  195. };
  196. rule WFE {
  197. {
  198. $srw++;
  199. if $sr > $srMax {
  200. $srMax= $sr;
  201. };
  202. if $sr == 1 {
  203. @BISelemsTotalOfListOfWFErewritesForGivenARGLISTruleRun[$sr + 3]= -1;
  204. }
  205. else {
  206. if @BISelemsTotalOfListOfWFErewritesForGivenARGLISTruleRun[$sr + 1] == -1 {
  207. @BISelemsTotalOfListOfWFErewritesForGivenARGLISTruleRun[$sr + 3]= -1;
  208. };
  209. $BIStemp2= @BISelemsTotalOfListOfWFErewritesForGivenARGLISTruleRun[$sr + 1] + 1;
  210. $BIStemp22= @BISelemsTotalOfListOfWFErewritesForGivenARGLISTruleRun[$sr + 1] + 1;
  211. @BISelemsTotalOfListOfWFErewritesForGivenARGLISTruleRun[$sr + 1]= $BIStemp2;
  212. };
  213. if $sr > 2 {
  214. if $runNum > 0 {
  215. if @curWFEbrace[$sr - 1] === '[' {
  216. if $englobingNoRWdegree == 0 {
  217. $englobingNoRWdegree= 1;
  218. @isBaseBISlistOfWFEbraceTypesForGivenARGLISTruleRun[$sr + 1][$BIStemp2]= 1;
  219. }
  220. else {
  221. @isBaseBISlistOfWFEbraceTypesForGivenARGLISTruleRun[$sr + 1][$BIStemp2]= 0;
  222. $englobingNoRWdegree++;
  223. };
  224. }
  225. else {
  226. @isBaseBISlistOfWFEbraceTypesForGivenARGLISTruleRun[$sr + 1][$BIStemp2]= 0;
  227. };
  228. };
  229. };
  230.  
  231. @OPvariety[$sr]= 'na';
  232. $sr++;
  233. $tmplateOP= 0;
  234. }
  235. <OP> <ARGLIST>
  236. {$sr--;}
  237. };
  238. rule ARGLIST {
  239. {
  240. if $sr > $srMax {
  241. $srMax= $sr;
  242. };
  243. @curbraceIdx[$sr]= 0;
  244. $sr++;
  245. }
  246. [<ARG>]*
  247. {$sr--;}
  248. };
  249. rule ARG {
  250. [(['('|'[']){@curWFEbrace[$sr - 1]= $0.Str;}<.eol>* <WFE>[')'|']']]
  251. };
  252.  
  253. proto token OP {*}
  254. token OP:sym<NUM> { <NUM> }
  255. token NUM {
  256. \d+
  257. };
  258. token OP:sym<OP3> { <OP3> }
  259. token OP3 {
  260. <:alpha>\w*
  261. # <[a..zA..Z]>[<[a..z0..9]>]*
  262. };
  263. token OP:sym<OP5> { <OP5> }
  264. token OP5 {
  265. 'id'|'term'|'proc'|'subItem'|'subVar'|'maps'|'isVector'|'isSubstnTemplate'|'isPointy'|'concat'|'string'|'selfRepeat'|'@@'\d+|'add'|'sub'|'mult'|'if'|\w+'::='\d+'='|'goTo'\d+|'say'|'dcl'|'stepThru'
  266. };
  267. token OP:sym<OP2> { <OP2> }
  268. token OP2 {
  269. [[[<[a..zA..Z0..9]> | '_' ]+]]|'defTerm'|'defProc'|'ERROR'|'nil'|'hellotwelve'|'two'|'four'|'six'|'offhook'|'('|')'|'['|']'|'$'|'; '|': '|':'|'<<'|'>>'|'vector'|'~'|'+'|'-'|'='|'&'|'!'|'*'|'"'|'/'|"\\"|"\'"|[\%+]|[\.+]|[\,+]|[\;+]
  270. };
  271. token OP:sym<PROC2> { <PROC2> }
  272. token PROC2 {
  273. '%'\d+ [<ARG>]+
  274. };
  275. token OP:sym<PROC> { <PROC> }
  276. token PROC {
  277. ['<' \s* [<OP><ARGLIST>] \s* [[';'] \s* [<OP><ARGLIST>] \s*]* '>']
  278. };
  279. token OP:sym<OP6> { <OP6> }
  280. token OP6 {
  281. '<:::' \s* ['.'|'@@'|'__'|'@'|'('|'='|','|'['|')'|']'|'~'|\d|\w|\n|\s]+ \s* ':::>'
  282. };
  283. token eol { [ <[#;]> \N* ]? \n };
  284. };
  285.  
  286. class RewriteAction4 {
  287.  
  288. method TOP($/) {
  289. $/.make($rewriteWFE);
  290. $stopreduction= 0;
  291. $needNewDescend= 0;
  292. };
  293.  
  294. method WFE($/) {
  295. $stopredOP= ''; $stopredWhileMin= 0; $stopredWhileMax= 0;
  296. $wrongArgTypes= 0;
  297. $saySuccess= 0;
  298. $addMultSuccess= 0;
  299. @OPstr[$sr]= $<OP>.Str;
  300. if $runNum > 0 {
  301. if $lastRunNum < $runNum {
  302. $lastRunNum= $runNum;
  303. say " " if $debug; say " " if $debug; say " " if $debug;
  304.  
  305. if $runNum == 1 {$entryWFE2= normalizeOrigCodes($origRwcode);} else {$entryWFE2= $rwcode;};
  306.  
  307. say "\n\n\n " if (($debug4 == 1) and (not($debug2 == 1)));
  308. say "\n\n" if (($debug4 == 1) and ($debug2 == 1));
  309.  
  310. say "\n\n\n\n=============================>" if (($debug2 == 1) and ($debug4 == 0));
  311. say "\( TREE DESCEND #{$runNum}: \)" if (($debug2 == 1) and ($debug4 == 0));
  312. say ". . . . . . " if (($debug2 == 1) and ($debug4 == 0));
  313.  
  314. if $runNum == 1 {
  315. say '"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""' if $debug4;
  316. say "\( STARTING TREE DESCEND #1: \)\n\n {trimBrackets($entryWFE2)}\n" if $debug4; }
  317. else {
  318. say "\n==============================>" if $debug4;
  319. say "\( TREE DESCEND #{$runNum}: \)\n\n {trimBrackets($entryWFE2)}\n" if $debug4;
  320. };
  321. };
  322. if $rewriteArgListElems == 0 { $temp1= $<OP>.Str; }
  323. else { $temp1= "{ if $sr == 1 {"\n "}}" ~ $<OP>.Str ~ @rewriteArgList[$sr + 1]; };
  324.  
  325. if $englobingNoRWdegree > 0 { $noSkips= 0; } else { $noSkips= 1; };
  326. say " " if $debug;
  327. };
  328.  
  329. if $stopreduction == 1 {}
  330. elsif $englobingNoRWdegree > 0 {
  331. say " " if $debug;
  332. if $sr > 1 {
  333. if $rewriteArgListElems == 0 {
  334. say "-{'/' x$sr}-LEVEL$sr \(type @OPvariety[$sr] w $rewriteArgListElems args\) 0SKIP\.$englobingNoRWdegree: {trimBrackets($temp1)}" if (($englobingNoRWdegree == 1) and ($needNewDescend == 0) and ($debug4 == 1) and (not($debug2 == 1)));
  335. };
  336. }
  337. else {
  338. say "-{'/' x$sr}-LEVEL$sr \(type @OPvariety[$sr] w $rewriteArgListElems args\) 1SKIPnestg$englobingNoRWdegree:" if (($englobingNoRWdegree == 1) and ($needNewDescend == 0) and ($debug4 == 1) and (not($debug2 == 1)));
  339. };
  340. };
  341. if $sr > 2 {
  342. $BIStemp2= @BISelemsTotalOfListOfWFErewritesForGivenARGLISTruleRun[$sr + 1];
  343. };
  344. if $rewriteArgListElems == 0 {
  345. $rewriteWFE= $<OP>.Str;
  346. if ($runNum > 0) and ($stopreduction == 0) and ($englobingNoRWdegree == 0) {
  347. };
  348. $entryWFE= $<OP>.Str;
  349. if $sr > 2 {
  350. @listOfCurBraces[$sr-1][@curbraceIdx[$sr-1]]= @curWFEbrace[$sr - 1];
  351. if @curbraceIdx[$sr-1] == 0 {
  352. $curBrace= @curWFEbrace[$sr - 1];
  353. }
  354. else {
  355. if @curWFEbrace[$sr - 1] === '[' { $curBrace= '['; } else { $curBrace= '('; };
  356. };
  357. };
  358. if $runNum > 0 { if $stopreduction == 1 { $wrongArgTypes= 1; }; };
  359. }
  360. else {
  361. $rewriteWFE= $<OP>.Str ~ @rewriteArgList[$sr + 1];
  362.  
  363. $entryWFE= $rewriteWFE;
  364. if $sr > 2 {
  365. @listOfCurBraces[$sr-1][@curbraceIdx[$sr-1]]= @curWFEbrace[$sr - 1];
  366. if @curbraceIdx[$sr-1] == 0 { $curBrace= @curWFEbrace[$sr - 1]; }
  367. else {
  368. if @curWFEbrace[$sr - 1] === '[' { $curBrace= '['; }
  369. else { $curBrace= '('; };
  370. };
  371. };
  372.  
  373. if $runNum == 0 {}
  374. elsif $englobingNoRWdegree > 0 {
  375. $curIdx= 0;
  376. $stopredOP= $<OP>.Str; $stopredWhileMin= $curIdx; $stopredWhileMax= $rewriteArgListElems;
  377. while $curIdx < $rewriteArgListElems {
  378. if @currentARGLISTlistOfBraceTypesOfComponentWFEs[$curIdx] === '['
  379. { $tempLeftBrace= '['; $tempRightBrace= ']'; }
  380. else { $tempLeftBrace= '('; $tempRightBrace= ')'; };
  381. @stopredWFEcompArgList[$curIdx]= $tempLeftBrace ~ @WFEcompArgList[$curIdx] ~ $tempRightBrace;
  382. $curIdx++;
  383. };
  384.  
  385. # say "-{'/' x$sr}-LEVEL$sr \(type @OPvariety[$sr] w $rewriteArgListElems args\) 22SKIP\.$englobingNoRWdegree: {trimBrackets($entryWFE)}" if (($englobingNoRWdegree == 1) and ($needNewDescend == 0) and ($debug4 == 1) and (not($debug2 == 1)));
  386. say "-{'/' x$sr}-LEVEL$sr \(type @OPvariety[$sr] w $rewriteArgListElems args\) 2SKIP\.$englobingNoRWdegree: " if (($englobingNoRWdegree == 1) and ($needNewDescend == 0) and ($debug4 == 1) and (not($debug2 == 1)));
  387. say " {'|' x$sr} {trimBrackets($stopredOP)}" if (($englobingNoRWdegree == 1) and ($needNewDescend == 0) and ($debug4 == 1) and (not($debug2 == 1)));
  388. $curIdx= $stopredWhileMin;
  389. while $curIdx < $stopredWhileMax {
  390. $entryWFE2= "{@stopredWFEcompArgList[$curIdx]}";
  391. say " {'|' x$sr} {trimBrackets($entryWFE2)}" if (($englobingNoRWdegree == 1) and ($needNewDescend == 0) and ($debug4 == 1) and (not($debug2 == 1)));
  392. $curIdx= $curIdx + 1;
  393. };
  394. }
  395. else {
  396. $rewriteWFE= $<OP>.Str ~ @rewriteArgList[$sr + 1];
  397. if $stopreduction == 1 {} else {
  398. if @OPvariety[$sr] === 'NUM' { $rewriteWFE= $<OP>.Str; }
  399. elsif @OPvariety[$sr] === 'PROC' { $stopreduction= 1; }
  400. elsif @OPvariety[$sr] === 'OP5' {
  401.  
  402. if ($<OP>.Str === 'if') and ($rewriteArgListElems > 2) {
  403. if @WFEcompArgList[0] === '0' {$rewriteWFE= @WFEcompArgList[1]; }
  404. else {$rewriteWFE= @WFEcompArgList[2]; };
  405. fillRestOfArgsV1(3); $stopreduction= 1; }
  406.  
  407. elsif ($<OP>.Str === 'id') and ($rewriteArgListElems > 0) {
  408. $rewriteWFE= @WFEcompArgList[0];
  409. fillRestOfArgsV1(1); $stopreduction= 1; }
  410.  
  411. elsif (($<OP>.Str === 'concat') or ($<OP>.Str === 'string')) and ($rewriteArgListElems > 0) {
  412. $rewriteWFE= '';
  413. $curIdx= 0;
  414. while $curIdx < $rewriteArgListElems {
  415. $input= @WFEcompArgList[$curIdx];
  416. @tempStmt[0]= '';
  417. $input= $input.subst( :g , /^(\%+)$/ ,
  418. -> $/ { @tempStmt[0]= 'ok'; "{' ' x$0.chars}" } );
  419. if @tempStmt[0] ~~ 'ok' {$rewriteWFE= $rewriteWFE ~ $input;}
  420. else {$rewriteWFE= $rewriteWFE ~ @WFEcompArgList[$curIdx];};
  421. $curIdx= $curIdx + 1;
  422. };
  423. if $<OP>.Str === 'string' { $stopreduction= 1;
  424. $stopredOP= $rewriteWFE; $stopredWhileMin= 0; $stopredWhileMax= 0; }; }
  425.  
  426. elsif ($<OP>.Str === 'stepThru') and ($rewriteArgListElems > 0) {
  427. $rewriteWFE= @WFEcompArgList[$rewriteArgListElems - 1];
  428. $stopreduction= 1;
  429. $stopredOP= $rewriteWFE; $stopredWhileMin= 0; $stopredWhileMax= 0; }
  430.  
  431. elsif $runNum > 0 {
  432.  
  433. $input= $<OP>.Str;
  434. @tempStmt[0]= ''; @tempStmt[1]= ''; @tempStmt[2]= ''; @tempStmt[3]= '';
  435. $tp1= $input.subst( :g , /(\w+)(['::='])(\d+)(['='])/ ,
  436. -> $/ { @tempStmt[0]= $0; @tempStmt[1]= $1;
  437. @tempStmt[2]= $2; @tempStmt[3]= $3 } );
  438. if (@tempStmt[1] ~~ '::=') and (@tempStmt[3] ~~ '=') {
  439. if %*PROCS{"{@tempStmt[0]}"} === Any {
  440. %*PROCS{"{@tempStmt[0]}"}= @WFEcompArgList[0];
  441. %*PROCSparmNum{"{@tempStmt[0]}"}= @tempStmt[2];
  442. $rewriteWFE= 'nil';
  443. } else {die "duplicated shorthand"; }; };
  444.  
  445. $input= $<OP>.Str;
  446. @tempStmt[0]= ''; @tempStmt[1]= '';
  447. $tp1= $input.subst( :g , /^(['goTo'])(\d+)/ ,
  448. -> $/ { @tempStmt[0]= $0; @tempStmt[1]= $1; } );
  449. if @tempStmt[0] ~~ 'goTo' {
  450. $temp2= @tempStmt[1].Int;
  451. if $rewriteArgListElems > 0 {
  452. if %*PROCS{"{@WFEcompArgList[0]}"} === Any {}
  453. elsif %*PROCSparmNum{"{@WFEcompArgList[0]}"} == 0 {
  454. $input= %*PROCS{"{@WFEcompArgList[0]}"};
  455. @tempStmt[0]= ''; @tempStmt[1]= '';
  456. $tp1= $input.subst( :g , /(['@@'])(\d+)/ , -> $/ { @tempStmt[0]= $0; @tempStmt[1]= $1 } );
  457. if (@tempStmt[0] ~~ '@@') and (@tempStmt[1].Int > $temp2) {
  458. $temp4= @tempStmt[1].Int;
  459. $curIdx= 0;
  460. $tp1= $input.subst( :g , /['('|'['](\w+)[')'|']']/ , -> $/ { @tempStmt[$curIdx]= $0; $curIdx++ } );
  461. if $curIdx !== $temp4 {}
  462. elsif %*PROCSparmNum{"{@tempStmt[$temp2].Str}"} === Any {}
  463. else {
  464. $input= @tempStmt[$temp2].Str;
  465. $temp6= %*PROCSparmNum{"{$input}"};
  466. if %*PROCSparmNum{"{$input}"} !=== Any {
  467. $temp6= %*PROCSparmNum{"{$input}"};
  468. if $rewriteArgListElems > ($temp6 - 1) {
  469. $rewriteWFE= @tempStmt[$temp2].Str;
  470. $curIdx= 0;
  471. while $curIdx < $temp6 {
  472. $input= @WFEcompArgList[0] ~ '--' ~ "{$curIdx}";
  473. if %*GOTOARGNAMES{"{$input}"} === Any {
  474. $tp1= @WFEcompArgList[$curIdx];
  475. @tempStmt[0]= 'com'; @tempStmt[1]= 'rew';@tempStmt[2]= 'com2'; @tempStmt[3]= 'rew2';
  476. $tp1= $tp1.subst( :g ,
  477. / ^('PROGVAR'\d+) ('__') (<[A..Z]>[<[A..Z0..9]> | '_' ]*) '[' ( <:alpha>\w* | [[[<[a..zA..Z0..9]> | '_' | '(' | ')' | '[' | ']' ]+]]|'defTerm'|'defProc'|'ERROR'|'nil'|'hellotwelve'|'two'|'four'|'six'|'offhook'|'('|')'|'['|']'|'$'|'; '|': '|':'|'<<'|'>>'|'vector'|'~'|'+'|'-'|'='|'&'|'!'|'*'|'"'|'/'|"\\"|"\'"|[\%+]|[\.+]|[\,+]|[\;+]) ']'$/ ,
  478. -> $/ { @tempStmt[0]= $0; @tempStmt[1]= $1; @tempStmt[2]= $2; @tempStmt[3]= $3; } );
  479. if (@tempStmt[1] ~~ '__') {
  480. %*GOTOARGNAMES{"{$input}"}= @tempStmt[0] ~ @tempStmt[1] ~ @tempStmt[2];
  481. };
  482. };
  483. $curIdx++;
  484. };
  485.  
  486. $curIdx2= 0;
  487. while $curIdx2 < $temp6 {
  488. @WFEcompArgListTemp2[$curIdx2]= @WFEcompArgList[$curIdx2];
  489. $curIdx2= $curIdx2 + 1;
  490. };
  491. $curIdx2= 0;
  492. while $curIdx2 < $temp6 {
  493. $input= @WFEcompArgListTemp2[$curIdx2];
  494. @tempStmt[0]= 'com'; @tempStmt[1]= 'rew';@tempStmt[2]= 'com2'; @tempStmt[3]= 'rew2';
  495. $tp1= $input.subst( :g ,
  496. / ^('PROGVAR'\d+) ('__') (<[A..Z]>[<[A..Z0..9]> | '_' ]*) '[' ( <:alpha>\w* | [[[<[a..zA..Z0..9]> | '_' | '(' | ')' | '[' | ']' ]+]]|'defTerm'|'defProc'|'ERROR'|'nil'|'hellotwelve'|'two'|'four'|'six'|'offhook'|'('|')'|'['|']'|'$'|'; '|': '|':'|'<<'|'>>'|'vector'|'~'|'+'|'-'|'='|'&'|'!'|'*'|'"'|'/'|"\\"|"\'"|[\%+]|[\.+]|[\,+]|[\;+]) ']'$/ ,
  497. -> $/ { @tempStmt[0]= $0; @tempStmt[1]= $1; @tempStmt[2]= $2; @tempStmt[3]= $3; } );
  498. if (@tempStmt[1] ~~ '__') {
  499. @WFEcompArgListTemp2[$curIdx2]= @tempStmt[3];
  500. };
  501. $curIdx2= $curIdx2 + 1;
  502. };
  503.  
  504. $curIdx= 0;
  505. while $curIdx < $temp6 {
  506. $input= @WFEcompArgList[0] ~ '--' ~ "{$curIdx}";
  507. if %*GOTOARGNAMES{"{$input}"} !=== Any {
  508. @WFEcompArgListTemp[$curIdx]=
  509. %*GOTOARGNAMES{"{$input}"}
  510. ~ '[' ~ @WFEcompArgListTemp2[$curIdx] ~ ']';
  511. }
  512. else {@WFEcompArgListTemp[$curIdx]= @WFEcompArgListTemp2[$curIdx];
  513. };
  514. $curIdx++;
  515. };
  516. ## fillRestOfArgsV1(0);
  517.  
  518. $stopredOP= $rewriteWFE; $stopredWhileMin= 0; $stopredWhileMax= $rewriteArgListElems;
  519. $curIdx= 0;
  520. while $curIdx < $temp6 {
  521. @stopredWFEcompArgList[$curIdx]= @WFEcompArgListTemp[$curIdx];
  522. $rewriteWFE= $rewriteWFE ~ '[' ~ @WFEcompArgListTemp[$curIdx] ~ ']';
  523. $curIdx++;
  524. };
  525. $curIdx= $temp6;
  526. while $curIdx < $rewriteArgListElems {
  527. @stopredWFEcompArgList[$curIdx]= @WFEcompArgList[$curIdx];
  528. $rewriteWFE= $rewriteWFE ~ '[' ~ @WFEcompArgList[$curIdx] ~ ']';
  529. $curIdx++;
  530. };
  531.  
  532. $stopreduction= 1; }; }; }; }; }; }; };
  533.  
  534. $input= $<OP>.Str;
  535. $tp1= '';
  536. @tempStmt[0]= ''; @tempStmt[1]= '';
  537. $tp1= $input.subst( :g , /^(['@@'])(\d+)/ ,
  538. -> $/ { @tempStmt[0]= $0; @tempStmt[1]= $1 } );
  539. if (@tempStmt[0] ~~ '@@')
  540. and ((@tempStmt[1] > 0) or (@tempStmt[1] == 0)) {
  541. $tp0= @tempStmt[0];
  542. if $rewriteArgListElems == @tempStmt[1] {}
  543. elsif $rewriteArgListElems < @tempStmt[1] {$rewriteWFE= 'ERROR';}
  544. elsif $rewriteArgListElems > @tempStmt[1] {
  545.  
  546. if ((@WFEcompArgList[@tempStmt[1]] ~~ 'setThisSubVar')
  547. or (@WFEcompArgList[@tempStmt[1]] ~~ 'updateThisSubVar'))
  548. and ((@tempStmt[1] > 0) or (@tempStmt[1] == 0)) {
  549. if @tempStmt[1] == 0 {
  550. # $rewriteWFE= 'assocList1[subVar[' ~ @WFEcompArgList[1] ~ '][' ~ @WFEcompArgList[2] ~ ']]';
  551. if $rewriteArgListElems > 2 {
  552. $rewriteWFE= $tp0 ~ '1[subVar[' ~ @WFEcompArgList[1] ~ '][' ~ @WFEcompArgList[2] ~ ']]';
  553. if $rewriteArgListElems > 3 {
  554. fillRestOfArgsV1(3);
  555. $stopreduction= 1;
  556. };
  557. };
  558. }
  559. else {
  560. if ( $rewriteArgListElems > (@tempStmt[1] + 2) ) {
  561. @WFEcompArgListTemp[@tempStmt[1] + 1]
  562. = 'subVar[' ~ @WFEcompArgList[@tempStmt[1] + 1] ~ ']';
  563. $rewriteWFE= '';
  564. $input= @WFEcompArgListTemp[@tempStmt[1] + 1]
  565. ~ '[' ~ @WFEcompArgList[@tempStmt[1] + 2] ~ ']';
  566. $tp1= '';
  567. $curIdx= 0;
  568. while $curIdx < @tempStmt[1] {
  569. if ( 'subVar[' ~ %*AssocListArg0{"{@WFEcompArgList[$curIdx]}Arg0"} ~ ']' ~~ @WFEcompArgListTemp[@tempStmt[1] + 1] ) {
  570. if ( ('subVar[' ~ %*AssocListArg0{"{@WFEcompArgList[$curIdx]}Arg0"} ~ ']'
  571. ~ '[' ~ %*AssocListArg1{"{@WFEcompArgList[$curIdx]}Arg1"} ~ ']' )
  572. ~~ @WFEcompArgList[$curIdx] ) {
  573. $rewriteWFE= $rewriteWFE ~ '[' ~ $input ~ ']';
  574. $tp1= 'SUCCESS';
  575. }
  576. else {$rewriteWFE= 'ERRORvvvvvvvvvvvvvvvvvvvvvvvv'; $stopreduction= 1;};
  577. }
  578. else {
  579. $rewriteWFE= $rewriteWFE ~ '[' ~ @WFEcompArgList[$curIdx] ~ ']';
  580. };
  581. $curIdx= $curIdx + 1;
  582.  
  583. if $curIdx == @tempStmt[1] {
  584. if $tp1 ~~ 'SUCCESS' {$rewriteWFE= $tp0 ~ "{@tempStmt[1]}" ~ $rewriteWFE;}
  585. else {
  586. $rewriteWFE= $tp0 ~ "{@tempStmt[1] + 1}" ~ $rewriteWFE ~ '[' ~ $input ~ ']';
  587. };
  588. };
  589. };
  590. if $rewriteArgListElems > (@tempStmt[1] + 3) {
  591. fillRestOfArgsV1(@tempStmt[1] + 3);
  592. $stopreduction= 1;
  593. };
  594. };
  595. };
  596. }
  597.  
  598. elsif ((@WFEcompArgList[@tempStmt[1]] ~~ 'extractThisSubVar')
  599. or (@WFEcompArgList[@tempStmt[1]] ~~ 'extractThisSubItem'))
  600. and ((@tempStmt[1] > 0) or (@tempStmt[1] == 0)) {
  601. if ( $rewriteArgListElems < (@tempStmt[1] + 2) ) {}
  602. else {
  603. $rewriteWFE= 'nil';
  604. $curIdx= 0;
  605. while $curIdx < @tempStmt[1] {
  606. if ( %*AssocListArg0{"{@WFEcompArgList[$curIdx]}Arg0"} ~~ @WFEcompArgList[@tempStmt[1] + 1] ) {
  607. $rewriteWFE= %*AssocListArg1{"{@WFEcompArgList[$curIdx]}Arg1"};
  608. if @WFEcompArgList[@tempStmt[1]] ~~ 'extractThisSubVar' {
  609. if ( ('subVar[' ~ @WFEcompArgList[@tempStmt[1] + 1] ~ '][' ~ $rewriteWFE ~ ']') ~~ @WFEcompArgList[$curIdx] ) {}
  610. else {$rewriteWFE= 'ERROR'; die "subVar hash problem"; };
  611. }
  612. else {
  613. if ( ('subItem[' ~ @WFEcompArgList[@tempStmt[1] + 1] ~ '][' ~ $rewriteWFE ~ ']') ~~ @WFEcompArgList[$curIdx] ) {}
  614. else {$rewriteWFE= 'ERROR'; die "subItem hash problem"; };
  615. };
  616. $curIdx= @tempStmt[1];
  617. }
  618. else {$curIdx= $curIdx + 1; };
  619. };
  620. if ( $rewriteWFE ~~ 'nil' ) {}
  621. else {fillRestOfArgsV1(@tempStmt[1] + 2); $stopreduction= 1; }; }; }
  622.  
  623. elsif ((@WFEcompArgList[@tempStmt[1]] ~~ 'x0') or
  624. (@WFEcompArgList[@tempStmt[1]] ~~ 'x1') or
  625. (@WFEcompArgList[@tempStmt[1]] ~~ 'x2') or
  626. (@WFEcompArgList[@tempStmt[1]] ~~ 'x3') or
  627. (@WFEcompArgList[@tempStmt[1]] ~~ 'x4'))
  628. and (@tempStmt[1] > 0) {
  629. $input= @WFEcompArgList[@tempStmt[1]];
  630. @tempStmt[2]= '';
  631. $tp2= $input.subst( :g , /^['x'](\d+)/ ,
  632. -> $/ { @tempStmt[2]= $0; } );
  633. if @tempStmt[2] < @tempStmt[1] {
  634. $rewriteWFE= @WFEcompArgList[@tempStmt[2]];
  635. fillRestOfArgsV1(@tempStmt[1] + 1); $stopreduction= 1; }; }
  636.  
  637. elsif @WFEcompArgList[@tempStmt[1]] ~~ 'append' {
  638. if $rewriteArgListElems > (@tempStmt[1] + 1) {
  639. $rewriteWFE= "{$rewriteArgListElems - 1}";
  640. $rewriteWFE= '^' ~ $rewriteWFE;
  641. $curIdx= 0;
  642. while $curIdx < $rewriteArgListElems {
  643. if $curIdx == @tempStmt[1] {}
  644. else { $rewriteWFE= $rewriteWFE ~ '[' ~ @WFEcompArgList[$curIdx] ~ ']' };
  645. $curIdx= $curIdx + 1; }; }; }
  646.  
  647. elsif @WFEcompArgList[@tempStmt[1]] ~~ 'car' {
  648. $rewriteWFE= @WFEcompArgList[0];
  649. fillRestOfArgsV1(@tempStmt[1] + 1); $stopreduction= 1; }
  650.  
  651. elsif @WFEcompArgList[@tempStmt[1]] ~~ 'cdr' {
  652. if @tempStmt[1] == 1 { $rewriteWFE= '^0'; }
  653. else {
  654. $rewriteWFE= '^' ~ "{@tempStmt[1] - 1}";
  655. fillRestOfArgsV1(1);
  656. };
  657. $stopreduction= 1; }
  658.  
  659. elsif @WFEcompArgList[@tempStmt[1]] ~~ 'equals' {
  660. if $rewriteArgListElems > (@tempStmt[1] + @tempStmt[1]) {
  661. $rewriteWFE= '0';
  662. $curIdx= 0;
  663. while $curIdx < @tempStmt[1] {
  664. if @WFEcompArgList[$curIdx] ~~ @WFEcompArgList[$curIdx + @tempStmt[1] + 1] {}
  665. else { $rewriteWFE= '1'; $curIdx= @tempStmt[1]; };
  666. $curIdx= $curIdx + 1;
  667. };
  668. $stopredOP= $rewriteWFE; $stopredWhileMin= 0; $stopredWhileMax= 0; }; }
  669.  
  670. else {
  671. $rewriteWFE= @WFEcompArgList[@tempStmt[1]];
  672. $curIdx= 0;
  673. while $curIdx < $rewriteArgListElems {
  674. if $curIdx !== @tempStmt[1] {$rewriteWFE= $rewriteWFE ~ '[' ~ @WFEcompArgList[$curIdx] ~ ']'; };
  675. $curIdx= $curIdx + 1;
  676. };
  677. $stopreduction= 1;
  678. $stopredOP= $rewriteWFE; $stopredWhileMin= 0; $stopredWhileMax= 0; }; }
  679.  
  680. else {};
  681. };
  682.  
  683. }
  684. else { die "cccc"; };
  685. }
  686.  
  687. elsif (@OPvariety[$sr] === 'OP2') or (@OPvariety[$sr] === 'OP3') {
  688. $input= %*PROCS{"{$<OP>.Str}"};
  689. if $input === Any {
  690. $input= %*TERMS{"{$<OP>.Str ~ '[' ~ @WFEcompArgList[0] ~ ']'}"};
  691. if $input === Any {}
  692. else {
  693. $rewriteWFE= $input;
  694. fillRestOfArgsV1(1);
  695. $wrongArgTypes= 1;
  696. $stopreduction= 1;
  697. };
  698. }
  699. else {
  700. $curIdx2= 0;
  701. while $curIdx2 < $rewriteArgListElems {
  702. @WFEcompArgListTemp[$curIdx2]= @WFEcompArgList[$curIdx2];
  703. $curIdx2= $curIdx2 + 1;
  704. };
  705.  
  706. $curIdx2= 0;
  707. while $curIdx2 < $rewriteArgListElems {
  708. $input= @WFEcompArgListTemp[$curIdx2];
  709. @tempStmt[0]= 'com'; @tempStmt[1]= 'rew';@tempStmt[2]= 'com2'; @tempStmt[3]= 'rew2';
  710. $tp1= $input.subst( :g ,
  711. / ^('PROGVAR'\d+) ('__') (<[A..Z]>[<[A..Z0..9]> | '_' ]*) '[' ( <:alpha>\w* | [[[<[a..zA..Z0..9]> | '_' | '(' | ')' | '[' | ']' ]+]]|'defTerm'|'defProc'|'ERROR'|'nil'|'hellotwelve'|'two'|'four'|'six'|'offhook'|'('|')'|'['|']'|'$'|'; '|': '|':'|'<<'|'>>'|'vector'|'~'|'+'|'-'|'='|'&'|'!'|'*'|'"'|'/'|"\\"|"\'"|[\%+]|[\.+]|[\,+]|[\;+]) ']'$/ ,
  712. -> $/ { @tempStmt[0]= $0; @tempStmt[1]= $1; @tempStmt[2]= $2; @tempStmt[3]= $3; } );
  713. if (@tempStmt[1] ~~ '__') {
  714. @WFEcompArgListTemp[$curIdx2]= @tempStmt[3];
  715. };
  716. $curIdx2= $curIdx2 + 1;
  717. };
  718.  
  719. if %*PROCSparmNum{"{$<OP>.Str}"} == 0 {
  720. $input= %*PROCS{"{$<OP>.Str}"};
  721. $input= $input.subst( :g , / '<:::' / , -> $/ { '' } );
  722. $input= $input.subst( :g , / ':::>' / , -> $/ { '' } );
  723. $rewriteWFE= $input;
  724. fillRestOfArgsV1(0); $stopreduction= 1;
  725. }
  726. else {
  727. $tmplateOP= 1;
  728. $actualTemplate= $<OP>.Str;
  729. $tmplateNumOfParms= %*PROCSparmNum{"{$<OP>.Str}"};
  730. if $rewriteArgListElems < $tmplateNumOfParms {
  731. $parmSubstnResult= $actualTemplate;
  732. $curIdx= 0;
  733. while $curIdx < $rewriteArgListElems {
  734. $parmSubstnResult= $parmSubstnResult ~ '[' ~ @WFEcompArgList[$curIdx] ~ ']';
  735. $curIdx= $curIdx + 1;
  736. };
  737. $wrongArgTypes= 1;
  738. }
  739. else {
  740. $input= %*PROCS{"{$<OP>.Str}"};
  741. $tp2= $input;
  742. $tmplateStr= $input;
  743. $input= $input.subst( :g , / '<:::' / , -> $/ { '' } );
  744. $input= $input.subst( :g , / ':::>' / , -> $/ { '' } );
  745. if $input === $tp2 {$parmSubstnResult= $tp2; }
  746. else {
  747. $input= $input.subst( :g , / ('~')'PROGVAR'(\d+) ('__') (<[A..Z]>[<[A..Z0..9]> | '_' ]*) / , -> $/ { $0 ~ $1 } );
  748. $tp1= $input.subst( :g , / '~'(\d+) / ,
  749. -> $/ { @WFEcompArgListTemp[$0] } );
  750. $parmSubstnResult= $tp1;
  751. $wrongArgTypes= 1;
  752. $stopreduction= 1;
  753. };
  754. };
  755. $rewriteWFE= $parmSubstnResult;
  756. if $parmSubstnResult ~~ $tp2 {fillRestOfArgsV1(0); }
  757. else {fillRestOfArgsV1($tmplateNumOfParms); };
  758. };
  759. };
  760.  
  761. }
  762. else { die "wrong OP"; };
  763. };
  764. };
  765. };
  766.  
  767. $/.make($rewriteWFE);
  768.  
  769. # as initialized below at call of method OP:
  770. # @elemsTotalOfListOfWFErewritesForGivenARGLISTruleRun[$sr]= 0;
  771. if $sr > 2 {
  772. $temp2= @elemsTotalOfListOfWFErewritesForGivenARGLISTruleRun[$sr - 1];
  773. @listOfWFErewritesForGivenARGLISTruleRun[$sr - 1][$temp2]= $rewriteWFE;
  774. if $runNum == 0 { @listOfWFEbraceTypesForGivenARGLISTruleRun[$sr - 1][$temp2]= @curWFEbrace[$sr - 1]; }
  775. else {
  776. if $englobingNoRWdegree > 0 { $wrongArgTypes= 1; };
  777. if $stopreduction == 1 { $wrongArgTypes= 1; };
  778. if ($stopreduction == 1) and ($saySuccess == 1) { $wrongArgTypes= 0; };
  779. if $wrongArgTypes == 1 { @listOfWFEbraceTypesForGivenARGLISTruleRun[$sr - 1][$temp2]= @curWFEbrace[$sr - 1]; }
  780. else { @listOfWFEbraceTypesForGivenARGLISTruleRun[$sr - 1][$temp2]= '['; };
  781. };
  782. @listOfOPvarietyForGivenARGLISTruleRun[$sr - 1][$temp2]= @curWFEopVariety[$sr + 1];
  783. if $addMultSuccess == 1 { @listOfOPvarietyForGivenARGLISTruleRun[$sr - 1][$temp2]= 'NUM'; };
  784. @elemsTotalOfListOfWFErewritesForGivenARGLISTruleRun[$sr - 1]= $temp2 + 1;
  785. if $runNum == 0 {
  786. @BISlistOfWFEbraceTypesForGivenARGLISTruleRun[$sr + 1][$BIStemp2]= $curBrace;
  787. @BISlistOfWFErewritesForGivenARGLISTruleRun[$sr + 1][$BIStemp2]= $rewriteWFE;
  788. };
  789. @curbraceIdx[$sr-1]= @curbraceIdx[$sr-1] + 1;
  790. if $curBrace === '[' {
  791. $englobingNoRWdegree--;
  792. if $englobingNoRWdegree == 1 {
  793. $BIStemp2= @BISelemsTotalOfListOfWFErewritesForGivenARGLISTruleRun[$sr + 1];
  794. $BIStemp22= @BISelemsTotalOfListOfWFErewritesForGivenARGLISTruleRun[$sr + 1];
  795. if $sr > 2 {
  796. if @isBaseBISlistOfWFEbraceTypesForGivenARGLISTruleRun[$sr + 1][$BIStemp2] == 1 {
  797. $englobingNoRWdegree= 0;
  798. };
  799. };
  800. };
  801. };
  802. };
  803.  
  804. if $noSkips == 1 {
  805.  
  806. if (($sr == 1) and ($debug2 == 1) and ($debug4 == 1)) {}
  807. else {
  808.  
  809. if $runNum > 0 {
  810. $entryWFE2= $entryWFE;
  811. $entryWFE4= $/.made;
  812.  
  813. if $entryWFE !=== $/.made {
  814. say " " if $debug;
  815. if $stopreduction == 0 {
  816. say "-{'/' x$sr}-LEVEL$sr \(type @OPvariety[$sr] w $rewriteArgListElems args\) RW SUCCESS:" if $debug4; }
  817. else {
  818. say "-{'/' x$sr}-LEVEL$sr \(type @OPvariety[$sr] w $rewriteArgListElems args\) EXPANDING RW - NEED NEW DESCEND NOW:" if $debug4;
  819. $needNewDescend= 1;
  820. };
  821.  
  822. say " {'|' x$sr} {trimBrackets($<OP>.Str)}" if $debug4;
  823. $curIdx= 0;
  824. while $curIdx < $rewriteArgListElems {
  825. $entryWFE2= '[' ~ "{@WFEcompArgList[$curIdx]}" ~ ']';
  826. say " {'|' x$sr} {trimBrackets($entryWFE2)}" if $debug4;
  827. $curIdx++;
  828. };
  829.  
  830. if $stopreduction == 0 {
  831. say " {'|' x$sr} " if $debug4;
  832. say " {'|' x$sr} ====> {trimBrackets($entryWFE4)}" if $debug4;
  833. }
  834. else {
  835. say " {'|' x$sr} " if $debug4;
  836. say " {'|' x$sr} =============>" if $debug4;
  837. say " {'|' x$sr} {trimBrackets($stopredOP)}" if $debug4;
  838. if $stopredWhileMin < $stopredWhileMax {say " {'|' x$sr} " if $debug4;};
  839. $curIdx= $stopredWhileMin;
  840. while $curIdx < $stopredWhileMax {
  841. $entryWFE2= '[' ~ "{@stopredWFEcompArgList[$curIdx]}" ~ ']';
  842. say " {'|' x$sr} {trimBrackets($entryWFE2)}" if $debug4;
  843. $curIdx= $curIdx + 1;
  844. };
  845.  
  846. };
  847. say " " if (($debug2 == 1) or ($debug4 == 1)) and (($debug2 == 0) or ($debug4 == 1));
  848. say " " if $debug;
  849. }
  850. else {
  851. $input= $entryWFE;
  852. $tp1= '';
  853. @tempStmt[0]= ''; @tempStmt[1]= '';
  854. $tp1= $input.subst( :g , /^(['$'])(\w+)/ ,
  855. -> $/ { @tempStmt[0]= $0; @tempStmt[1]= $1 } );
  856. if $stopreduction == 0 {
  857. say " " if $debug;
  858. if $rewriteArgListElems == 0 {
  859. say "-{'m' x$sr}-LEVEL$sr \(type @OPvariety[$sr] w $rewriteArgListElems args\) NOT REWRITABLE: {trimBrackets($entryWFE2)}" if $debug4;
  860. }
  861. else {
  862. say "-{'/' x$sr}-LEVEL$sr \(type @OPvariety[$sr] w $rewriteArgListElems args\) NOT REWRITABLE:" if $debug4;
  863. say " {'|' x$sr} {trimBrackets($<OP>.Str)}" if $debug4;
  864. $curIdx= 0;
  865. while $curIdx < $rewriteArgListElems {
  866. $entryWFE2= '[' ~ "{@WFEcompArgList[$curIdx]}" ~ ']';
  867. say " {'|' x$sr} {trimBrackets($entryWFE2)}" if $debug4;
  868. $curIdx++;
  869. };
  870. };
  871. say " " if $debug4;
  872. };
  873. };
  874. };
  875.  
  876. };
  877. };
  878. $srw--;
  879. };
  880.  
  881.  
  882. method OP5($/) {
  883. $/.make($/.Str);
  884. @elemsTotalOfListOfWFErewritesForGivenARGLISTruleRun[$sr]= 0;
  885. @curWFEbrace[$sr]= ''; @OPstr[$sr - 1]= $/.made; @OPvariety[$sr - 1]= 'OP5'; @curWFEopVariety[$sr]= 'OP5';
  886. };
  887. method NUM($/) {
  888. $/.make($/.Str);
  889. @elemsTotalOfListOfWFErewritesForGivenARGLISTruleRun[$sr]= 0;
  890. @curWFEbrace[$sr]= ''; @OPstr[$sr - 1]= $/.made; @OPvariety[$sr - 1]= 'NUM'; @curWFEopVariety[$sr]= 'NUM';
  891. };
  892. method PROC($/) {
  893. $/.make($/.Str);
  894. @elemsTotalOfListOfWFErewritesForGivenARGLISTruleRun[$sr]= 0;
  895. @curWFEbrace[$sr]= ''; @OPstr[$sr - 1]= $/.made; @OPvariety[$sr - 1]= 'PROC'; @curWFEopVariety[$sr]= 'PROC';
  896. @entryTempoeName[$sr - 1]= $/.Str;
  897. };
  898. method OP6($/) {
  899. $/.make($/.Str);
  900. @elemsTotalOfListOfWFErewritesForGivenARGLISTruleRun[$sr]= 0;
  901. @curWFEbrace[$sr]= ''; @OPstr[$sr - 1]= $/.made; @OPvariety[$sr - 1]= 'OP6'; @curWFEopVariety[$sr]= 'OP6';
  902. };
  903. method OP3($/) {
  904. $/.make($/.Str);
  905. @elemsTotalOfListOfWFErewritesForGivenARGLISTruleRun[$sr]= 0;
  906. @curWFEbrace[$sr]= ''; @OPstr[$sr - 1]= $/.made; @OPvariety[$sr - 1]= 'OP3'; @curWFEopVariety[$sr]= 'OP3';
  907. };
  908. method OP2($/) {
  909. $/.make($/.Str);
  910. @elemsTotalOfListOfWFErewritesForGivenARGLISTruleRun[$sr]= 0;
  911. @curWFEbrace[$sr]= ''; @OPstr[$sr - 1]= $/.made; @OPvariety[$sr - 1]= 'OP2'; @curWFEopVariety[$sr]= 'OP2';
  912. };
  913. method OP($/) {
  914. $/.make($/.Str);
  915. @elemsTotalOfListOfWFErewritesForGivenARGLISTruleRun[$sr]= 0;
  916. @curWFEbrace[$sr]= '';
  917. };
  918.  
  919. method ARGLIST($/) {
  920. $rewriteArgListElems= $<ARG>.list.elems;
  921.  
  922. if $sr == 2 {
  923. $savedsr2rewriteArgListElems= $rewriteArgListElems;
  924. };
  925.  
  926. if $rewriteArgListElems == 0 {}
  927. else {
  928. @rewriteArgList[$sr]= '';
  929. if $rewriteArgListElems == 0 {} else {
  930. $curIdx= 0;
  931. for $<ARG>.list -> $curItem {
  932. @WFEcompArgList[$curIdx]= @listOfWFErewritesForGivenARGLISTruleRun[$sr][$curIdx];
  933. @currentARGLISTlistOfBraceTypesOfComponentWFEs[$curIdx]=
  934. @listOfWFEbraceTypesForGivenARGLISTruleRun[$sr][$curIdx];
  935. @currentARGLISTlistOflistOfOPvarietyOfComponentWFEs[$curIdx]=
  936. @listOfOPvarietyForGivenARGLISTruleRun[$sr - 1][$curIdx];
  937. if $sr == 2 {
  938. @savedsr2WFEcompArgList[$curIdx]= @WFEcompArgList[$curIdx];
  939. };
  940.  
  941. $curIdx++;
  942. };
  943. $curIdx= 0;
  944. for $<ARG>.list -> $curItem {
  945. if $curIdx > 0 {
  946. if @currentARGLISTlistOfBraceTypesOfComponentWFEs[$rewriteArgListElems - $curIdx] ~~ '['
  947. { @currentARGLISTlistOfBraceTypesOfComponentWFEs[$rewriteArgListElems - $curIdx]= '['; }
  948. else { @currentARGLISTlistOfBraceTypesOfComponentWFEs[$rewriteArgListElems - $curIdx]= '('; };
  949. };
  950. $curIdx++;
  951. };
  952. $curIdx= 0;
  953. for $<ARG>.list -> $curItem {
  954. @BraceTypeOfComponentWFEatGivenIndexInWFElistOfARGLISTatGivenSrLevel[$sr][$curIdx]=
  955. @currentARGLISTlistOfBraceTypesOfComponentWFEs[$curIdx];
  956. $curIdx++;
  957. };
  958. $curIdx= 0;
  959. for $<ARG>.list -> $curItem {
  960. if @currentARGLISTlistOfBraceTypesOfComponentWFEs[$curIdx] ~~ '['
  961. {
  962. $tempLeftBrace= '['; $tempRightBrace= ']';
  963. @tempLeftBrace[$curIdx]= '['; @tempRightBrace[$curIdx]= ']';
  964. }
  965. else {
  966. $tempLeftBrace= '('; $tempRightBrace= ')';
  967. @tempLeftBrace[$curIdx]= '('; @tempRightBrace[$curIdx]= ')';
  968. };
  969. @rewriteArgList[$sr]= @rewriteArgList[$sr] ~ $tempLeftBrace ~ @WFEcompArgList[$curIdx] ~ $tempRightBrace;
  970.  
  971. if $sr == 2 {
  972. @savedsr2tempLeftBrace[$curIdx]= @tempLeftBrace[$curIdx];
  973. @savedsr2tempRightBrace[$curIdx]= @tempRightBrace[$curIdx];
  974. };
  975.  
  976. $curIdx++;
  977. };
  978. };
  979.  
  980. if ($runNum > 0) and ($setup == 0) and (@OPstr[$sr - 1] ~~ 'subItem') and ($rewriteArgListElems == 2) {
  981. %*AssocListArg0{"{'subItem' ~ @rewriteArgList[$sr] ~ 'Arg0'}"}= @WFEcompArgList[0];
  982. %*AssocListArg1{"{'subItem' ~ @rewriteArgList[$sr] ~ 'Arg1'}"}= @WFEcompArgList[1];
  983. };
  984.  
  985. if ($runNum > 0) and ($setup == 0) and (@OPstr[$sr - 1] ~~ 'subVar') and ($rewriteArgListElems == 2) {
  986. %*AssocListArg0{"{'subVar' ~ @rewriteArgList[$sr] ~ 'Arg0'}"}= @WFEcompArgList[0];
  987. %*AssocListArg1{"{'subVar' ~ @rewriteArgList[$sr] ~ 'Arg1'}"}= @WFEcompArgList[1];
  988. };
  989.  
  990. if ($runNum > 0) and ($setup == 0) and (@OPstr[$sr - 1] ~~ 'proc') and ($rewriteArgListElems == 3) {
  991. $input= @WFEcompArgList[0];
  992. @tempStmt[0]= 'errorNOTtemplate';
  993. $input= $input.subst( :g , /^(\w+)/ , -> $/ { @tempStmt[0]= $0; } );
  994. if @tempStmt[0] === 'errorNOTtemplate' {die "errorNOTtemplate";}
  995. else {
  996. $input= @WFEcompArgList[1];
  997. @tempStmt[1]= 'errorNOTaNUM';
  998. ## $input= $input.subst( :g , /^'@@2[' (\d+) ']' '[' (\s* ['.'|'vector'|'@'|'('|'='|','|'['|')'|']'|\d|\w|\n|\s]+ \s* | '<:::' \s* ['.'|'@@'|'@'|'('|'='|','|'['|')'|']'|'~'|\d|\w|\n|\s]+ \s* ':::>') ']'/ , -> $/ { @tempStmt[2]= $0; @tempStmt[3]= $1; } );
  999. $input= $input.subst( :g , /^(\d+)/ , -> $/ { @tempStmt[1]= $0; } );
  1000. if @tempStmt[1] === 'errorNOTaNUM' {die "errorNOTaNUM";}
  1001. else {
  1002. $input= @WFEcompArgList[2];
  1003. @tempStmt[2]= 'errorNOTaTEMPLATE';
  1004. $input= $input.subst( :g , /^('<:::' \s* ['.'|'updateArgsTotaling'|'assocList'|'@@'|'@'|'('|'='|','|'['|')'|']'|'~'|\d|\w|\n|\s]+ \s* ':::>')/ , -> $/ { @tempStmt[2]= $0; } );
  1005. if @tempStmt[2] === 'errorNOTaTEMPLATE' {die "errorNOTaTEMPLATE";}
  1006. else {
  1007. if %*PROCS{"{@WFEcompArgList[0]}"} === Any {
  1008. %*AssocListArg0{"{'proc' ~ @rewriteArgList[$sr] ~ 'Arg0'}"}= @WFEcompArgList[0];
  1009. %*PROCSparmNum{"{@WFEcompArgList[0]}"}= @WFEcompArgList[1];
  1010. %*PROCS{"{@WFEcompArgList[0]}"}= @WFEcompArgList[2];
  1011. }
  1012. elsif %*PROCS{"{@WFEcompArgList[0]}"} === @WFEcompArgList[2] {}
  1013. else {die "errorIsNAMEalreadyUsedForDifferentTemplate";};
  1014. };
  1015. };
  1016. };
  1017. };
  1018.  
  1019. if ($runNum > 0) and ($setup == 0) and (@OPstr[$sr - 1] ~~ 'term') and ($rewriteArgListElems == 3) {
  1020. $input= @WFEcompArgList[0];
  1021. @tempStmt[0]= 'errorNOTmapping';
  1022. $input= $input.subst( :g , /^(\w+)/ , -> $/ { @tempStmt[0]= $0; } );
  1023. if @tempStmt[0] === 'errorNOTmapping' {die "errorNOTmapping";}
  1024. else {
  1025. if %*TERMS{"{@WFEcompArgList[0] ~ '[' ~ @WFEcompArgList[1] ~ ']'}"} === Any {
  1026. %*AssocListArg0{"{'term' ~ @rewriteArgList[$sr] ~ 'Arg0'}"}= @WFEcompArgList[0] ~ '[' ~ @WFEcompArgList[1] ~ ']';
  1027. %*AssocListArg1{"{'term' ~ @rewriteArgList[$sr] ~ 'Arg1'}"}= @WFEcompArgList[2];
  1028. %*TERMS{"{@WFEcompArgList[0] ~ '[' ~ @WFEcompArgList[1] ~ ']'}"}= @WFEcompArgList[2];
  1029. }
  1030. elsif %*TERMS{"{@WFEcompArgList[0] ~ '[' ~ @WFEcompArgList[1] ~ ']'}"} === @WFEcompArgList[2] {}
  1031. else {die "errorIsNAMEandARGalreadyUsedForDifferentMapping";};
  1032. };
  1033. };
  1034.  
  1035. $/.make(@rewriteArgList[$sr]);
  1036. @curWFEbrace[$sr]= '';
  1037. };
  1038. };
  1039.  
  1040. };
  1041.  
  1042. if $debug {}
  1043. else {
  1044.  
  1045. $debug= 0;
  1046. $debug2= 0;
  1047. $debug4= 0;
  1048.  
  1049. $lastRunNum= -1;
  1050. $runNum= 0;
  1051.  
  1052. $continue= 1;
  1053. while $continue > 0 {
  1054. $rwcode= $lastRwcode;
  1055. $match2= Rewrite4.parse( $rwcode, actions => RewriteAction4.new, );
  1056. $lastRwcode= $match2.made;
  1057. $lastRunNum= $runNum; $runNum++; $continue++;
  1058. if $lastRwcode ~~ $rwcode { if $runNum > 1 { $continue= 0; }; };
  1059. };
  1060.  
  1061. $debug= 0;
  1062. $debug2= 1;
  1063. $debug4= 1;
  1064.  
  1065. $lastRwcode= normalizeOrigCodes($origRwcode);
  1066.  
  1067. $continue= 1;
  1068. $setup= 0;
  1069.  
  1070. $lastRunNum= -1;
  1071. $runNum= 0;
  1072. say "\n\n\n\nCODES EXECUTION:" if $debug4;
  1073. say "\n\n\n\nHIGH LEVEL DESCEND-BY-DESCEND VIEW OF RW PROGRESS:" if $debug2;
  1074. say "\(RECURSIVE LEFTMOST-INNERMOST APPLICATIVE REWRITE, TILL CODES NOT REWRITABLE\)\n\n" if $debug4;
  1075.  
  1076. say "\n\n\nRW PROCESS STARTING:" if (($debug2 == 1) and (not($debug4 == 1)));
  1077. ## say " {trimBrackets($lastRwcode)}" if ($debug4 == 1);
  1078.  
  1079. while $continue > 0 {
  1080. $rwcode= $lastRwcode;
  1081. $match2= Rewrite4.parse( $rwcode, actions => RewriteAction4.new, );
  1082. $lastRwcode= $match2.made;
  1083. if $runNum == 0 {} else {
  1084. say " " if (($debug2 == 1) and ($debug4 == 1));
  1085. say "-/-LEVEL1 AT ENTRY OF OUTERMOST RW ATTEMPT IN CURRENT DESCEND #$runNum:" if $debug2;
  1086. say ' | """""""""""""""""""""""""""""""""""""""""""""""""""""""' if $debug2;
  1087. if $runNum < 1 {}
  1088. else {
  1089. if $runNum == 1 { say " | OP: {trimBrackets(@OPstr[1])} " if $debug2;}
  1090. else {
  1091. if @OPstr[1] ~~ $OPsav {
  1092. say " | OP: <--------SAME AS IN ABOVE DESCEND: {trimBrackets($OPsav)}" if $debug2;
  1093. } else {
  1094. say " | OP: {trimBrackets(@OPstr[1])}" if $debug2;
  1095. };
  1096. };
  1097. $OPsav2= $OPsav;
  1098. $OPsav= @OPstr[1];
  1099. };
  1100.  
  1101. if $runNum < 1 {}
  1102. else {
  1103. $input= @OPstr[1];
  1104. @tempStmt[0]= 'com';
  1105. $tp1= $input.subst( :g , /^('goTo')\d+$/ ,
  1106. -> $/ { @tempStmt[0]= $0; } );
  1107. if @tempStmt[0] ~~ 'goTo' {
  1108. $curIdx2= 0;
  1109. while $curIdx2 < $temp6 {
  1110. @WFEcompArgListTemp2[$curIdx2]= @WFEcompArgList[$curIdx2];
  1111. $curIdx2= $curIdx2 + 1;
  1112. };
  1113. $curIdx2= 0;
  1114. while $curIdx2 < $temp6 {
  1115. $input= @WFEcompArgListTemp2[$curIdx2];
  1116. @tempStmt[0]= 'com'; @tempStmt[1]= 'rew';@tempStmt[2]= 'com2'; @tempStmt[3]= 'rew2';
  1117. $tp1= $input.subst( :g ,
  1118. / ^('PROGVAR'\d+) ('__') (<[A..Z]>[<[A..Z0..9]> | '_' ]*) '[' ( <:alpha>\w* | [[[<[a..zA..Z0..9]> | '_' | '(' | ')' | '[' | ']' ]+]]|'defTerm'|'defProc'|'ERROR'|'nil'|'hellotwelve'|'two'|'four'|'six'|'offhook'|'('|')'|'['|']'|'$'|'; '|': '|':'|'<<'|'>>'|'vector'|'~'|'+'|'-'|'='|'&'|'!'|'*'|'"'|'/'|"\\"|"\'"|[\%+]|[\.+]|[\,+]|[\;+]) ']'$/ ,
  1119. -> $/ { @tempStmt[0]= $0; @tempStmt[1]= $1; @tempStmt[2]= $2; @tempStmt[3]= $3; } );
  1120. if (@tempStmt[1] ~~ '__') {
  1121. @WFEcompArgListTemp2[$curIdx2]= @tempStmt[3];
  1122. };
  1123. $curIdx2= $curIdx2 + 1;
  1124. };
  1125. $tp2= @WFEcompArgList[0];
  1126. $curIdx= 0;
  1127. while $curIdx < $temp6 {
  1128. $input= $tp2 ~ '--' ~ "{$curIdx}";
  1129. if %*GOTOARGNAMES{"{$input}"} === Any {
  1130. @WFEcompArgList[$curIdx]= @WFEcompArgListTemp2[$curIdx];}
  1131. else {
  1132. @WFEcompArgList[$curIdx]=
  1133. %*GOTOARGNAMES{"{$input}"}
  1134. ~ '[' ~ @WFEcompArgListTemp2[$curIdx] ~ ']';
  1135. };
  1136. $curIdx++;
  1137. };
  1138. if $runNum > 1 {
  1139. if $rewriteArgListElemsSav > $rewriteArgListElems { $compareMax= $rewriteArgListElems; }
  1140. else { $compareMax= $rewriteArgListElemsSav; };
  1141. };
  1142. $curIdx= 0;
  1143. while $curIdx < $rewriteArgListElems {
  1144. $entryWFE2= "{@tempLeftBrace[$curIdx]} {@WFEcompArgList[$curIdx]} {@tempRightBrace[$curIdx]}";
  1145. if $runNum == 1 { say " | ARG$curIdx: {trimBrackets($entryWFE2)}" if $debug2; }
  1146. else {
  1147. if $curIdx < $compareMax {
  1148. $entryWFE4= "{@tempLeftBraceSav[$curIdx]} {@WFEcompArgListSav[$curIdx]} {@tempRightBraceSav[$curIdx]}";
  1149. if $entryWFE2 ~~ $entryWFE4 {
  1150. ## say " | ARG$curIdx: .........NO UPDATES: {trimBrackets($entryWFE4)}" if $debug2;
  1151. say " | ARG$curIdx: .........NO PROGVAR UPDATES." if $debug2;
  1152. } else {
  1153. say " | ARG$curIdx: {trimBrackets($entryWFE2)}" if $debug2;
  1154. $input= $OPsav2;
  1155. @tempStmt[0]= 'com';
  1156. $tp1= $input.subst( :g , /^('goTo')\d+$/ ,
  1157. -> $/ { @tempStmt[0]= $0; } );
  1158. if @tempStmt[0] ~~ 'goTo' {
  1159. say " | " if $debug2;
  1160. say " | {'mmmmmmmmmmmmmmmmmmmmmm'} PROGVAR UPDATED ! {'mmmmmmmmmmmmmmm'} WAS:" if $debug2;
  1161. say " | {trimBrackets($entryWFE4)}" if $debug2;
  1162. say " | " if $debug2;
  1163. };
  1164. };
  1165. } else { say " | ARG$curIdx: {trimBrackets($entryWFE2)}" if $debug2; };
  1166. };
  1167. $curIdx= 1 + $curIdx;
  1168. };
  1169. $curIdx2= 0;
  1170. while $curIdx2 < $rewriteArgListElems {
  1171. @tempLeftBraceSav[$curIdx2]= @tempLeftBrace[$curIdx2];
  1172. @tempRightBraceSav[$curIdx2]= @tempRightBrace[$curIdx2];
  1173. @WFEcompArgListSav[$curIdx2]= @WFEcompArgList[$curIdx2];
  1174. $curIdx2= 1 + $curIdx2;
  1175. };
  1176. $rewriteArgListElemsSav= $rewriteArgListElems;
  1177. }
  1178. else {
  1179. if $runNum > 1 {
  1180. if $rewriteArgListElemsSav > $rewriteArgListElems { $compareMax= $rewriteArgListElems; }
  1181. else { $compareMax= $rewriteArgListElemsSav; };
  1182. };
  1183. $curIdx= 0;
  1184. while $curIdx < $rewriteArgListElems {
  1185. $entryWFE2= "{@tempLeftBrace[$curIdx]} {@WFEcompArgList[$curIdx]} {@tempRightBrace[$curIdx]}";
  1186. if $runNum == 1 { say " | ARG$curIdx: {trimBrackets($entryWFE2)}" if $debug2; }
  1187. else {
  1188. if $curIdx < $compareMax {
  1189. $entryWFE4= "{@tempLeftBraceSav[$curIdx]} {@WFEcompArgListSav[$curIdx]} {@tempRightBraceSav[$curIdx]}";
  1190. if $entryWFE2 ~~ $entryWFE4 {
  1191. say " | ARG$curIdx: <--------SAME AS IN ABOVE DESCEND. " if $debug2;
  1192. } else {
  1193. say " | ARG$curIdx: {trimBrackets($entryWFE2)}" if $debug2;
  1194. };
  1195. } else { say " | ARG$curIdx: {trimBrackets($entryWFE2)}" if $debug2; };
  1196. };
  1197. $curIdx= 1 + $curIdx;
  1198. };
  1199. $curIdx2= 0;
  1200. while $curIdx2 < $rewriteArgListElems {
  1201. @tempLeftBraceSav[$curIdx2]= @tempLeftBrace[$curIdx2];
  1202. @tempRightBraceSav[$curIdx2]= @tempRightBrace[$curIdx2];
  1203. @WFEcompArgListSav[$curIdx2]= @WFEcompArgList[$curIdx2];
  1204. $curIdx2= 1 + $curIdx2;
  1205. };
  1206. $rewriteArgListElemsSav= $rewriteArgListElems;
  1207. };
  1208. };
  1209. say " " if $debug4;
  1210. };
  1211. $lastRunNum= $runNum; $runNum++; $continue++;
  1212. if $lastRwcode ~~ $rwcode { if $runNum > 1 { $continue= 0; }; };
  1213. };
  1214.  
  1215. say "\n\n";
  1216. say 'CODES NOW NOT REWRITABLE !';
  1217. say "END OF CODES EXECUTION";
  1218. };
  1219.  
  1220.  
Success #stdin #stdout 10.28s 192632KB
stdin
Standard input is empty
stdout



Original Codes:  
---------------

stepThru
( DiningPh3_Contract_Servicing::=0= 
  [ <::: @@1 :Spaghetti_Servicer_Circling_All3Ph :::> ]   )
( CellPhone::=3= [<::: @@3
                      (subItem :AreaCode :~0)
                      (subItem :Grouping :~1)
                      (subItem :TenThsnd :~2) :::>] )
( PhCompnt::=1= [<::: id (subItem(concat(~0:x0):_PhoneNum) (~0:x1)) :::>] )
( All3_PhoneNum_List::=3= [<::: @@3 (PhCompnt:~0)(PhCompnt:~1)(PhCompnt:~2) :::>] )  
(
  Spaghetti_Servicer_Circling_All3Ph::=6= 
  [<:::
  :   stepThru 
  :   [ Text_StatefulCodes_To_Next_Cellphone
  :   :   (GET_CELLPHONENUM,  ~2 :rotate :car  )
  :   :   (HEREIS_STATEFULCODES_TO_TEXT,  )  ]  )  :::>])
[
goTo0 
[ DiningPh3_Contract_Servicing  ]
[ PROGVAR1__SESSION_ID  :007446220008  ]
[ PROGVAR2__OPERATIONAL_DATA  :All3_Config_Data  ]
( PROGVAR3__CIRCLING_CELLPHONE_LIST  (All3_PhoneNum_List 
    < :Ph0 [CellPhone :214:563:2468] >
    < :Ph1 [CellPhone :469:274:2426] >
    < :Ph2 [CellPhone :972:385:2464] > )  )
[ PROGVAR4__CUR_PH  [Ph5_PhoneList :car]  ]
[ PROGVAR5__CUR_STATES  :Initial_All5_ThinkingEatingAndLeftFork_States  ]  ]
  



Normalized Codes:  
-----------------

stepThru(DiningPh3_Contract_Servicing::=0=[<:::@@1[Spaghetti_Servicer_Circling_All3Ph]:::>])(CellPhone::=3=[<:::@@3(subItem[AreaCode][~0])(subItem[Grouping][~1])(subItem[TenThsnd][~2]):::>])(PhCompnt::=1=[<:::id(subItem(concat(~0[x0])[_PhoneNum])(~0[x1])):::>])(All3_PhoneNum_List::=3=[<:::@@3(PhCompnt[~0])(PhCompnt[~1])(PhCompnt[~2]):::>])(Spaghetti_Servicer_Circling_All3Ph::=6=[<:::stepThru[Text_StatefulCodes_To_Next_Cellphone(~2[rotate][car])()]):::>])[goTo0[DiningPh3_Contract_Servicing][PROGVAR1__SESSION_ID[007446220008]][PROGVAR2__OPERATIONAL_DATA[All3_Config_Data]](PROGVAR3__CIRCLING_CELLPHONE_LIST(All3_PhoneNum_List[@@2[Ph0][CellPhone[214][563][2468]]][@@2[Ph1][CellPhone[469][274][2426]]][@@2[Ph2][CellPhone[972][385][2464]]]))[PROGVAR4__CUR_PH[Ph5_PhoneList[car]]][PROGVAR5__CUR_STATES[Initial_All5_ThinkingEatingAndLeftFork_States]]]  






CODES EXECUTION:




HIGH LEVEL DESCEND-BY-DESCEND VIEW OF RW PROGRESS:
(RECURSIVE LEFTMOST-INNERMOST APPLICATIVE REWRITE, TILL CODES NOT REWRITABLE)





"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
( STARTING TREE DESCEND #1: )

           stepThru (DiningPh3_Contract_Servicing::=0=[  <:::   @@1 :Spaghetti_Servicer_Circling_All3Ph   :::>  ])(CellPhone::=3=[  <:::   @@3 (subItem :AreaCode :~0)(subItem :Grouping :~1)(subItem :TenThsnd :~2)   :::>  ])(PhCompnt::=1=[  <:::   id(subItem (concat(~0 :x0) :_PhoneNum)(~0 :x1))   :::>  ])(All3_PhoneNum_List::=3=[  <:::   @@3 (PhCompnt :~0)(PhCompnt :~1)(PhCompnt :~2)   :::>  ])(Spaghetti_Servicer_Circling_All3Ph::=6=[  <:::   stepThru [Text_StatefulCodes_To_Next_Cellphone(~2 :rotate :car)()])   :::>  ])[goTo0 :DiningPh3_Contract_Servicing[PROGVAR1__SESSION_ID :007446220008][PROGVAR2__OPERATIONAL_DATA :All3_Config_Data](PROGVAR3__CIRCLING_CELLPHONE_LIST (All3_PhoneNum_List[ @@2 :Ph0[CellPhone :214 :563 :2468]][ @@2 :Ph1[CellPhone :469 :274 :2426]][ @@2 :Ph2[CellPhone :972 :385 :2464]]))[PROGVAR4__CUR_PH [Ph5_PhoneList :car]][PROGVAR5__CUR_STATES :Initial_All5_ThinkingEatingAndLeftFork_States]]

-///-LEVEL3  (type OP5 w 1 args)  RW SUCCESS:
        |||  DiningPh3_Contract_Servicing::=0=
        |||  [  <:::   @@1 :Spaghetti_Servicer_Circling_All3Ph   :::>  ]
        |||  
        |||  ====>   nil
  
-///-LEVEL3  (type OP5 w 1 args)  RW SUCCESS:
        |||  CellPhone::=3=
        |||  [  <:::   @@3 (subItem :AreaCode :~0)(subItem :Grouping :~1)(subItem :TenThsnd :~2)   :::>  ]
        |||  
        |||  ====>   nil
  
-///-LEVEL3  (type OP5 w 1 args)  RW SUCCESS:
        |||  PhCompnt::=1=
        |||  [  <:::   id(subItem (concat(~0 :x0) :_PhoneNum)(~0 :x1))   :::>  ]
        |||  
        |||  ====>   nil
  
-///-LEVEL3  (type OP5 w 1 args)  RW SUCCESS:
        |||  All3_PhoneNum_List::=3=
        |||  [  <:::   @@3 (PhCompnt :~0)(PhCompnt :~1)(PhCompnt :~2)   :::>  ]
        |||  
        |||  ====>   nil
  
-///-LEVEL3  (type OP5 w 1 args)  RW SUCCESS:
        |||  Spaghetti_Servicer_Circling_All3Ph::=6=
        |||  [  <:::   stepThru [Text_StatefulCodes_To_Next_Cellphone(~2 :rotate :car)()])   :::>  ]
        |||  
        |||  ====>   nil
  
 
-/-LEVEL1  AT ENTRY OF OUTERMOST RW ATTEMPT IN CURRENT DESCEND #1:
        |  """""""""""""""""""""""""""""""""""""""""""""""""""""""
        |  OP:     stepThru 
        |  ARG0:   [ nil ]
        |  ARG1:   [ nil ]
        |  ARG2:   [ nil ]
        |  ARG3:   [ nil ]
        |  ARG4:   [ nil ]
        |  ARG5:   [ goTo0 :DiningPh3_Contract_Servicing[PROGVAR1__SESSION_ID :007446220008][PROGVAR2__OPERATIONAL_DATA :All3_Config_Data](PROGVAR3__CIRCLING_CELLPHONE_LIST (All3_PhoneNum_List[ @@2 :Ph0[CellPhone :214 :563 :2468]][ @@2 :Ph1[CellPhone :469 :274 :2426]][ @@2 :Ph2[CellPhone :972 :385 :2464]]))[PROGVAR4__CUR_PH [Ph5_PhoneList :car]][PROGVAR5__CUR_STATES :Initial_All5_ThinkingEatingAndLeftFork_States] ]
  




==============================>
( TREE DESCEND #2: )

           goTo0 :DiningPh3_Contract_Servicing[PROGVAR1__SESSION_ID :007446220008][PROGVAR2__OPERATIONAL_DATA :All3_Config_Data](PROGVAR3__CIRCLING_CELLPHONE_LIST (All3_PhoneNum_List[ @@2 :Ph0[CellPhone :214 :563 :2468]][ @@2 :Ph1[CellPhone :469 :274 :2426]][ @@2 :Ph2[CellPhone :972 :385 :2464]]))[PROGVAR4__CUR_PH [Ph5_PhoneList :car]][PROGVAR5__CUR_STATES :Initial_All5_ThinkingEatingAndLeftFork_States]

-/////-LEVEL5  (type OP2 w 3 args)  EXPANDING RW - NEED NEW DESCEND NOW:
        |||||  All3_PhoneNum_List
        |||||  [ @@2 :Ph0[CellPhone :214 :563 :2468]]
        |||||  [ @@2 :Ph1[CellPhone :469 :274 :2426]]
        |||||  [ @@2 :Ph2[CellPhone :972 :385 :2464]]
        |||||  
        |||||  =============>
        |||||  @@3 (PhCompnt[ @@2 :Ph0[CellPhone :214 :563 :2468]])(PhCompnt[ @@2 :Ph1[CellPhone :469 :274 :2426]])(PhCompnt[ @@2 :Ph2[CellPhone :972 :385 :2464]])
  
 
-/-LEVEL1  AT ENTRY OF OUTERMOST RW ATTEMPT IN CURRENT DESCEND #2:
        |  """""""""""""""""""""""""""""""""""""""""""""""""""""""
        |  OP:     goTo0
        |  ARG0:   [ DiningPh3_Contract_Servicing ]
        |  ARG1:   [ PROGVAR1__SESSION_ID :007446220008 ]
        |  ARG2:   [ PROGVAR2__OPERATIONAL_DATA :All3_Config_Data ]
        |  ARG3:   ( PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 (PhCompnt[ @@2 :Ph0[CellPhone :214 :563 :2468]])(PhCompnt[ @@2 :Ph1[CellPhone :469 :274 :2426]])(PhCompnt[ @@2 :Ph2[CellPhone :972 :385 :2464]])) )
        |  ARG4:   [ PROGVAR4__CUR_PH [Ph5_PhoneList :car] ]
        |  ARG5:   [ PROGVAR5__CUR_STATES :Initial_All5_ThinkingEatingAndLeftFork_States ]
  




==============================>
( TREE DESCEND #3: )

           goTo0 :DiningPh3_Contract_Servicing[PROGVAR1__SESSION_ID :007446220008][PROGVAR2__OPERATIONAL_DATA :All3_Config_Data](PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 (PhCompnt[ @@2 :Ph0[CellPhone :214 :563 :2468]])(PhCompnt[ @@2 :Ph1[CellPhone :469 :274 :2426]])(PhCompnt[ @@2 :Ph2[CellPhone :972 :385 :2464]])))[PROGVAR4__CUR_PH [Ph5_PhoneList :car]][PROGVAR5__CUR_STATES :Initial_All5_ThinkingEatingAndLeftFork_States]

-///////-LEVEL7  (type OP2 w 1 args)  EXPANDING RW - NEED NEW DESCEND NOW:
        |||||||  PhCompnt
        |||||||  [ @@2 :Ph0[CellPhone :214 :563 :2468]]
        |||||||  
        |||||||  =============>
        |||||||  id(subItem (concat( @@2 :Ph0[CellPhone :214 :563 :2468] :x0) :_PhoneNum)( @@2 :Ph0[CellPhone :214 :563 :2468] :x1))
  
 
-/-LEVEL1  AT ENTRY OF OUTERMOST RW ATTEMPT IN CURRENT DESCEND #3:
        |  """""""""""""""""""""""""""""""""""""""""""""""""""""""
        |  OP:     <--------SAME AS IN ABOVE DESCEND:  goTo0
        |  ARG0:   .........NO PROGVAR UPDATES.
        |  ARG1:   .........NO PROGVAR UPDATES.
        |  ARG2:   .........NO PROGVAR UPDATES.
        |  ARG3:   ( PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 (id(subItem (concat( @@2 :Ph0[CellPhone :214 :563 :2468] :x0) :_PhoneNum)( @@2 :Ph0[CellPhone :214 :563 :2468] :x1)))(PhCompnt[ @@2 :Ph1[CellPhone :469 :274 :2426]])(PhCompnt[ @@2 :Ph2[CellPhone :972 :385 :2464]])) )
        |          
        |          mmmmmmmmmmmmmmmmmmmmmm  PROGVAR UPDATED !  mmmmmmmmmmmmmmm  WAS:
        |          ( PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 (PhCompnt[ @@2 :Ph0[CellPhone :214 :563 :2468]])(PhCompnt[ @@2 :Ph1[CellPhone :469 :274 :2426]])(PhCompnt[ @@2 :Ph2[CellPhone :972 :385 :2464]])) )
        |          
        |  ARG4:   .........NO PROGVAR UPDATES.
        |  ARG5:   .........NO PROGVAR UPDATES.
  




==============================>
( TREE DESCEND #4: )

           goTo0 :DiningPh3_Contract_Servicing[PROGVAR1__SESSION_ID :007446220008][PROGVAR2__OPERATIONAL_DATA :All3_Config_Data](PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 (id(subItem (concat( @@2 :Ph0[CellPhone :214 :563 :2468] :x0) :_PhoneNum)( @@2 :Ph0[CellPhone :214 :563 :2468] :x1)))(PhCompnt[ @@2 :Ph1[CellPhone :469 :274 :2426]])(PhCompnt[ @@2 :Ph2[CellPhone :972 :385 :2464]])))[PROGVAR4__CUR_PH [Ph5_PhoneList :car]][PROGVAR5__CUR_STATES :Initial_All5_ThinkingEatingAndLeftFork_States]

-/////////////-LEVEL13  (type OP5 w 3 args)  EXPANDING RW - NEED NEW DESCEND NOW:
        |||||||||||||  @@2
        |||||||||||||  :Ph0
        |||||||||||||  [CellPhone :214 :563 :2468]
        |||||||||||||  :x0
        |||||||||||||  
        |||||||||||||  =============>
        |||||||||||||  Ph0
  
 
-/-LEVEL1  AT ENTRY OF OUTERMOST RW ATTEMPT IN CURRENT DESCEND #4:
        |  """""""""""""""""""""""""""""""""""""""""""""""""""""""
        |  OP:     <--------SAME AS IN ABOVE DESCEND:  goTo0
        |  ARG0:   .........NO PROGVAR UPDATES.
        |  ARG1:   .........NO PROGVAR UPDATES.
        |  ARG2:   .........NO PROGVAR UPDATES.
        |  ARG3:   ( PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 (id(subItem (concat(Ph0) :_PhoneNum)( @@2 :Ph0[CellPhone :214 :563 :2468] :x1)))(PhCompnt[ @@2 :Ph1[CellPhone :469 :274 :2426]])(PhCompnt[ @@2 :Ph2[CellPhone :972 :385 :2464]])) )
        |          
        |          mmmmmmmmmmmmmmmmmmmmmm  PROGVAR UPDATED !  mmmmmmmmmmmmmmm  WAS:
        |          ( PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 (id(subItem (concat( @@2 :Ph0[CellPhone :214 :563 :2468] :x0) :_PhoneNum)( @@2 :Ph0[CellPhone :214 :563 :2468] :x1)))(PhCompnt[ @@2 :Ph1[CellPhone :469 :274 :2426]])(PhCompnt[ @@2 :Ph2[CellPhone :972 :385 :2464]])) )
        |          
        |  ARG4:   .........NO PROGVAR UPDATES.
        |  ARG5:   .........NO PROGVAR UPDATES.
  




==============================>
( TREE DESCEND #5: )

           goTo0 :DiningPh3_Contract_Servicing[PROGVAR1__SESSION_ID :007446220008][PROGVAR2__OPERATIONAL_DATA :All3_Config_Data](PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 (id(subItem (concat(Ph0) :_PhoneNum)( @@2 :Ph0[CellPhone :214 :563 :2468] :x1)))(PhCompnt[ @@2 :Ph1[CellPhone :469 :274 :2426]])(PhCompnt[ @@2 :Ph2[CellPhone :972 :385 :2464]])))[PROGVAR4__CUR_PH [Ph5_PhoneList :car]][PROGVAR5__CUR_STATES :Initial_All5_ThinkingEatingAndLeftFork_States]

-mmmmmmmmmmmmm-LEVEL13  (type OP2 w 0 args)  NOT REWRITABLE:  Ph0
  
-///////////-LEVEL11  (type OP5 w 2 args)  RW SUCCESS:
        |||||||||||  concat
        |||||||||||  :Ph0
        |||||||||||  :_PhoneNum
        |||||||||||  
        |||||||||||  ====>   Ph0_PhoneNum
  
-///////////-LEVEL11  (type OP5 w 3 args)  EXPANDING RW - NEED NEW DESCEND NOW:
        |||||||||||  @@2
        |||||||||||  :Ph0
        |||||||||||  [CellPhone :214 :563 :2468]
        |||||||||||  :x1
        |||||||||||  
        |||||||||||  =============>
        |||||||||||  CellPhone :214 :563 :2468
  
 
-/-LEVEL1  AT ENTRY OF OUTERMOST RW ATTEMPT IN CURRENT DESCEND #5:
        |  """""""""""""""""""""""""""""""""""""""""""""""""""""""
        |  OP:     <--------SAME AS IN ABOVE DESCEND:  goTo0
        |  ARG0:   .........NO PROGVAR UPDATES.
        |  ARG1:   .........NO PROGVAR UPDATES.
        |  ARG2:   .........NO PROGVAR UPDATES.
        |  ARG3:   ( PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 (id(subItem :Ph0_PhoneNum(CellPhone :214 :563 :2468)))(PhCompnt[ @@2 :Ph1[CellPhone :469 :274 :2426]])(PhCompnt[ @@2 :Ph2[CellPhone :972 :385 :2464]])) )
        |          
        |          mmmmmmmmmmmmmmmmmmmmmm  PROGVAR UPDATED !  mmmmmmmmmmmmmmm  WAS:
        |          ( PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 (id(subItem (concat(Ph0) :_PhoneNum)( @@2 :Ph0[CellPhone :214 :563 :2468] :x1)))(PhCompnt[ @@2 :Ph1[CellPhone :469 :274 :2426]])(PhCompnt[ @@2 :Ph2[CellPhone :972 :385 :2464]])) )
        |          
        |  ARG4:   .........NO PROGVAR UPDATES.
        |  ARG5:   .........NO PROGVAR UPDATES.
  




==============================>
( TREE DESCEND #6: )

           goTo0 :DiningPh3_Contract_Servicing[PROGVAR1__SESSION_ID :007446220008][PROGVAR2__OPERATIONAL_DATA :All3_Config_Data](PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 (id(subItem :Ph0_PhoneNum(CellPhone :214 :563 :2468)))(PhCompnt[ @@2 :Ph1[CellPhone :469 :274 :2426]])(PhCompnt[ @@2 :Ph2[CellPhone :972 :385 :2464]])))[PROGVAR4__CUR_PH [Ph5_PhoneList :car]][PROGVAR5__CUR_STATES :Initial_All5_ThinkingEatingAndLeftFork_States]

-///////////-LEVEL11  (type OP2 w 3 args)  EXPANDING RW - NEED NEW DESCEND NOW:
        |||||||||||  CellPhone
        |||||||||||  :214
        |||||||||||  :563
        |||||||||||  :2468
        |||||||||||  
        |||||||||||  =============>
        |||||||||||  @@3 (subItem :AreaCode :214)(subItem :Grouping :563)(subItem :TenThsnd :2468)
  
 
-/-LEVEL1  AT ENTRY OF OUTERMOST RW ATTEMPT IN CURRENT DESCEND #6:
        |  """""""""""""""""""""""""""""""""""""""""""""""""""""""
        |  OP:     <--------SAME AS IN ABOVE DESCEND:  goTo0
        |  ARG0:   .........NO PROGVAR UPDATES.
        |  ARG1:   .........NO PROGVAR UPDATES.
        |  ARG2:   .........NO PROGVAR UPDATES.
        |  ARG3:   ( PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 (id(subItem :Ph0_PhoneNum( @@3 (subItem :AreaCode :214)(subItem :Grouping :563)(subItem :TenThsnd :2468))))(PhCompnt[ @@2 :Ph1[CellPhone :469 :274 :2426]])(PhCompnt[ @@2 :Ph2[CellPhone :972 :385 :2464]])) )
        |          
        |          mmmmmmmmmmmmmmmmmmmmmm  PROGVAR UPDATED !  mmmmmmmmmmmmmmm  WAS:
        |          ( PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 (id(subItem :Ph0_PhoneNum(CellPhone :214 :563 :2468)))(PhCompnt[ @@2 :Ph1[CellPhone :469 :274 :2426]])(PhCompnt[ @@2 :Ph2[CellPhone :972 :385 :2464]])) )
        |          
        |  ARG4:   .........NO PROGVAR UPDATES.
        |  ARG5:   .........NO PROGVAR UPDATES.
  




==============================>
( TREE DESCEND #7: )

           goTo0 :DiningPh3_Contract_Servicing[PROGVAR1__SESSION_ID :007446220008][PROGVAR2__OPERATIONAL_DATA :All3_Config_Data](PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 (id(subItem :Ph0_PhoneNum( @@3 (subItem :AreaCode :214)(subItem :Grouping :563)(subItem :TenThsnd :2468))))(PhCompnt[ @@2 :Ph1[CellPhone :469 :274 :2426]])(PhCompnt[ @@2 :Ph2[CellPhone :972 :385 :2464]])))[PROGVAR4__CUR_PH [Ph5_PhoneList :car]][PROGVAR5__CUR_STATES :Initial_All5_ThinkingEatingAndLeftFork_States]

-/////////////-LEVEL13  (type OP5 w 2 args)  NOT REWRITABLE:
        |||||||||||||  subItem
        |||||||||||||  :AreaCode
        |||||||||||||  :214
  
-/////////////-LEVEL13  (type OP5 w 2 args)  NOT REWRITABLE:
        |||||||||||||  subItem
        |||||||||||||  :Grouping
        |||||||||||||  :563
  
-/////////////-LEVEL13  (type OP5 w 2 args)  NOT REWRITABLE:
        |||||||||||||  subItem
        |||||||||||||  :TenThsnd
        |||||||||||||  :2468
  
-///////////-LEVEL11  (type OP5 w 3 args)  NOT REWRITABLE:
        |||||||||||  @@3
        |||||||||||  [subItem :AreaCode :214]
        |||||||||||  [subItem :Grouping :563]
        |||||||||||  [subItem :TenThsnd :2468]
  
-/////////-LEVEL9  (type OP5 w 2 args)  NOT REWRITABLE:
        |||||||||  subItem
        |||||||||  :Ph0_PhoneNum
        |||||||||  [ @@3 [subItem :AreaCode :214][subItem :Grouping :563][subItem :TenThsnd :2468]]
  
-///////-LEVEL7  (type OP5 w 1 args)  EXPANDING RW - NEED NEW DESCEND NOW:
        |||||||  id
        |||||||  [subItem :Ph0_PhoneNum[ @@3 [subItem :AreaCode :214][subItem :Grouping :563][subItem :TenThsnd :2468]]]
        |||||||  
        |||||||  =============>
        |||||||  subItem :Ph0_PhoneNum[ @@3 [subItem :AreaCode :214][subItem :Grouping :563][subItem :TenThsnd :2468]]
  
 
-/-LEVEL1  AT ENTRY OF OUTERMOST RW ATTEMPT IN CURRENT DESCEND #7:
        |  """""""""""""""""""""""""""""""""""""""""""""""""""""""
        |  OP:     <--------SAME AS IN ABOVE DESCEND:  goTo0
        |  ARG0:   .........NO PROGVAR UPDATES.
        |  ARG1:   .........NO PROGVAR UPDATES.
        |  ARG2:   .........NO PROGVAR UPDATES.
        |  ARG3:   ( PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 (subItem :Ph0_PhoneNum[ @@3 [subItem :AreaCode :214][subItem :Grouping :563][subItem :TenThsnd :2468]])(PhCompnt[ @@2 :Ph1[CellPhone :469 :274 :2426]])(PhCompnt[ @@2 :Ph2[CellPhone :972 :385 :2464]])) )
        |          
        |          mmmmmmmmmmmmmmmmmmmmmm  PROGVAR UPDATED !  mmmmmmmmmmmmmmm  WAS:
        |          ( PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 (id(subItem :Ph0_PhoneNum( @@3 (subItem :AreaCode :214)(subItem :Grouping :563)(subItem :TenThsnd :2468))))(PhCompnt[ @@2 :Ph1[CellPhone :469 :274 :2426]])(PhCompnt[ @@2 :Ph2[CellPhone :972 :385 :2464]])) )
        |          
        |  ARG4:   .........NO PROGVAR UPDATES.
        |  ARG5:   .........NO PROGVAR UPDATES.
  




==============================>
( TREE DESCEND #8: )

           goTo0 :DiningPh3_Contract_Servicing[PROGVAR1__SESSION_ID :007446220008][PROGVAR2__OPERATIONAL_DATA :All3_Config_Data](PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 (subItem :Ph0_PhoneNum[ @@3 [subItem :AreaCode :214][subItem :Grouping :563][subItem :TenThsnd :2468]])(PhCompnt[ @@2 :Ph1[CellPhone :469 :274 :2426]])(PhCompnt[ @@2 :Ph2[CellPhone :972 :385 :2464]])))[PROGVAR4__CUR_PH [Ph5_PhoneList :car]][PROGVAR5__CUR_STATES :Initial_All5_ThinkingEatingAndLeftFork_States]

-///////-LEVEL7  (type OP5 w 2 args)  NOT REWRITABLE:
        |||||||  subItem
        |||||||  :Ph0_PhoneNum
        |||||||  [ @@3 [subItem :AreaCode :214][subItem :Grouping :563][subItem :TenThsnd :2468]]
  
-///////-LEVEL7  (type OP2 w 1 args)  EXPANDING RW - NEED NEW DESCEND NOW:
        |||||||  PhCompnt
        |||||||  [ @@2 :Ph1[CellPhone :469 :274 :2426]]
        |||||||  
        |||||||  =============>
        |||||||  id(subItem (concat( @@2 :Ph1[CellPhone :469 :274 :2426] :x0) :_PhoneNum)( @@2 :Ph1[CellPhone :469 :274 :2426] :x1))
  
 
-/-LEVEL1  AT ENTRY OF OUTERMOST RW ATTEMPT IN CURRENT DESCEND #8:
        |  """""""""""""""""""""""""""""""""""""""""""""""""""""""
        |  OP:     <--------SAME AS IN ABOVE DESCEND:  goTo0
        |  ARG0:   .........NO PROGVAR UPDATES.
        |  ARG1:   .........NO PROGVAR UPDATES.
        |  ARG2:   .........NO PROGVAR UPDATES.
        |  ARG3:   ( PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 [subItem :Ph0_PhoneNum[ @@3 [subItem :AreaCode :214][subItem :Grouping :563][subItem :TenThsnd :2468]]](id(subItem (concat( @@2 :Ph1[CellPhone :469 :274 :2426] :x0) :_PhoneNum)( @@2 :Ph1[CellPhone :469 :274 :2426] :x1)))(PhCompnt[ @@2 :Ph2[CellPhone :972 :385 :2464]])) )
        |          
        |          mmmmmmmmmmmmmmmmmmmmmm  PROGVAR UPDATED !  mmmmmmmmmmmmmmm  WAS:
        |          ( PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 (subItem :Ph0_PhoneNum[ @@3 [subItem :AreaCode :214][subItem :Grouping :563][subItem :TenThsnd :2468]])(PhCompnt[ @@2 :Ph1[CellPhone :469 :274 :2426]])(PhCompnt[ @@2 :Ph2[CellPhone :972 :385 :2464]])) )
        |          
        |  ARG4:   .........NO PROGVAR UPDATES.
        |  ARG5:   .........NO PROGVAR UPDATES.
  




==============================>
( TREE DESCEND #9: )

           goTo0 :DiningPh3_Contract_Servicing[PROGVAR1__SESSION_ID :007446220008][PROGVAR2__OPERATIONAL_DATA :All3_Config_Data](PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 [subItem :Ph0_PhoneNum[ @@3 [subItem :AreaCode :214][subItem :Grouping :563][subItem :TenThsnd :2468]]](id(subItem (concat( @@2 :Ph1[CellPhone :469 :274 :2426] :x0) :_PhoneNum)( @@2 :Ph1[CellPhone :469 :274 :2426] :x1)))(PhCompnt[ @@2 :Ph2[CellPhone :972 :385 :2464]])))[PROGVAR4__CUR_PH [Ph5_PhoneList :car]][PROGVAR5__CUR_STATES :Initial_All5_ThinkingEatingAndLeftFork_States]

-/////////////-LEVEL13  (type OP5 w 3 args)  EXPANDING RW - NEED NEW DESCEND NOW:
        |||||||||||||  @@2
        |||||||||||||  :Ph1
        |||||||||||||  [CellPhone :469 :274 :2426]
        |||||||||||||  :x0
        |||||||||||||  
        |||||||||||||  =============>
        |||||||||||||  Ph1
  
 
-/-LEVEL1  AT ENTRY OF OUTERMOST RW ATTEMPT IN CURRENT DESCEND #9:
        |  """""""""""""""""""""""""""""""""""""""""""""""""""""""
        |  OP:     <--------SAME AS IN ABOVE DESCEND:  goTo0
        |  ARG0:   .........NO PROGVAR UPDATES.
        |  ARG1:   .........NO PROGVAR UPDATES.
        |  ARG2:   .........NO PROGVAR UPDATES.
        |  ARG3:   ( PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 [subItem :Ph0_PhoneNum[ @@3 [subItem :AreaCode :214][subItem :Grouping :563][subItem :TenThsnd :2468]]](id(subItem (concat(Ph1) :_PhoneNum)( @@2 :Ph1[CellPhone :469 :274 :2426] :x1)))(PhCompnt[ @@2 :Ph2[CellPhone :972 :385 :2464]])) )
        |          
        |          mmmmmmmmmmmmmmmmmmmmmm  PROGVAR UPDATED !  mmmmmmmmmmmmmmm  WAS:
        |          ( PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 [subItem :Ph0_PhoneNum[ @@3 [subItem :AreaCode :214][subItem :Grouping :563][subItem :TenThsnd :2468]]](id(subItem (concat( @@2 :Ph1[CellPhone :469 :274 :2426] :x0) :_PhoneNum)( @@2 :Ph1[CellPhone :469 :274 :2426] :x1)))(PhCompnt[ @@2 :Ph2[CellPhone :972 :385 :2464]])) )
        |          
        |  ARG4:   .........NO PROGVAR UPDATES.
        |  ARG5:   .........NO PROGVAR UPDATES.
  




==============================>
( TREE DESCEND #10: )

           goTo0 :DiningPh3_Contract_Servicing[PROGVAR1__SESSION_ID :007446220008][PROGVAR2__OPERATIONAL_DATA :All3_Config_Data](PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 [subItem :Ph0_PhoneNum[ @@3 [subItem :AreaCode :214][subItem :Grouping :563][subItem :TenThsnd :2468]]](id(subItem (concat(Ph1) :_PhoneNum)( @@2 :Ph1[CellPhone :469 :274 :2426] :x1)))(PhCompnt[ @@2 :Ph2[CellPhone :972 :385 :2464]])))[PROGVAR4__CUR_PH [Ph5_PhoneList :car]][PROGVAR5__CUR_STATES :Initial_All5_ThinkingEatingAndLeftFork_States]

-mmmmmmmmmmmmm-LEVEL13  (type OP2 w 0 args)  NOT REWRITABLE:  Ph1
  
-///////////-LEVEL11  (type OP5 w 2 args)  RW SUCCESS:
        |||||||||||  concat
        |||||||||||  :Ph1
        |||||||||||  :_PhoneNum
        |||||||||||  
        |||||||||||  ====>   Ph1_PhoneNum
  
-///////////-LEVEL11  (type OP5 w 3 args)  EXPANDING RW - NEED NEW DESCEND NOW:
        |||||||||||  @@2
        |||||||||||  :Ph1
        |||||||||||  [CellPhone :469 :274 :2426]
        |||||||||||  :x1
        |||||||||||  
        |||||||||||  =============>
        |||||||||||  CellPhone :469 :274 :2426
  
 
-/-LEVEL1  AT ENTRY OF OUTERMOST RW ATTEMPT IN CURRENT DESCEND #10:
        |  """""""""""""""""""""""""""""""""""""""""""""""""""""""
        |  OP:     <--------SAME AS IN ABOVE DESCEND:  goTo0
        |  ARG0:   .........NO PROGVAR UPDATES.
        |  ARG1:   .........NO PROGVAR UPDATES.
        |  ARG2:   .........NO PROGVAR UPDATES.
        |  ARG3:   ( PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 [subItem :Ph0_PhoneNum[ @@3 [subItem :AreaCode :214][subItem :Grouping :563][subItem :TenThsnd :2468]]](id(subItem :Ph1_PhoneNum(CellPhone :469 :274 :2426)))(PhCompnt[ @@2 :Ph2[CellPhone :972 :385 :2464]])) )
        |          
        |          mmmmmmmmmmmmmmmmmmmmmm  PROGVAR UPDATED !  mmmmmmmmmmmmmmm  WAS:
        |          ( PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 [subItem :Ph0_PhoneNum[ @@3 [subItem :AreaCode :214][subItem :Grouping :563][subItem :TenThsnd :2468]]](id(subItem (concat(Ph1) :_PhoneNum)( @@2 :Ph1[CellPhone :469 :274 :2426] :x1)))(PhCompnt[ @@2 :Ph2[CellPhone :972 :385 :2464]])) )
        |          
        |  ARG4:   .........NO PROGVAR UPDATES.
        |  ARG5:   .........NO PROGVAR UPDATES.
  




==============================>
( TREE DESCEND #11: )

           goTo0 :DiningPh3_Contract_Servicing[PROGVAR1__SESSION_ID :007446220008][PROGVAR2__OPERATIONAL_DATA :All3_Config_Data](PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 [subItem :Ph0_PhoneNum[ @@3 [subItem :AreaCode :214][subItem :Grouping :563][subItem :TenThsnd :2468]]](id(subItem :Ph1_PhoneNum(CellPhone :469 :274 :2426)))(PhCompnt[ @@2 :Ph2[CellPhone :972 :385 :2464]])))[PROGVAR4__CUR_PH [Ph5_PhoneList :car]][PROGVAR5__CUR_STATES :Initial_All5_ThinkingEatingAndLeftFork_States]

-///////////-LEVEL11  (type OP2 w 3 args)  EXPANDING RW - NEED NEW DESCEND NOW:
        |||||||||||  CellPhone
        |||||||||||  :469
        |||||||||||  :274
        |||||||||||  :2426
        |||||||||||  
        |||||||||||  =============>
        |||||||||||  @@3 (subItem :AreaCode :469)(subItem :Grouping :274)(subItem :TenThsnd :2426)
  
 
-/-LEVEL1  AT ENTRY OF OUTERMOST RW ATTEMPT IN CURRENT DESCEND #11:
        |  """""""""""""""""""""""""""""""""""""""""""""""""""""""
        |  OP:     <--------SAME AS IN ABOVE DESCEND:  goTo0
        |  ARG0:   .........NO PROGVAR UPDATES.
        |  ARG1:   .........NO PROGVAR UPDATES.
        |  ARG2:   .........NO PROGVAR UPDATES.
        |  ARG3:   ( PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 [subItem :Ph0_PhoneNum[ @@3 [subItem :AreaCode :214][subItem :Grouping :563][subItem :TenThsnd :2468]]](id(subItem :Ph1_PhoneNum( @@3 (subItem :AreaCode :469)(subItem :Grouping :274)(subItem :TenThsnd :2426))))(PhCompnt[ @@2 :Ph2[CellPhone :972 :385 :2464]])) )
        |          
        |          mmmmmmmmmmmmmmmmmmmmmm  PROGVAR UPDATED !  mmmmmmmmmmmmmmm  WAS:
        |          ( PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 [subItem :Ph0_PhoneNum[ @@3 [subItem :AreaCode :214][subItem :Grouping :563][subItem :TenThsnd :2468]]](id(subItem :Ph1_PhoneNum(CellPhone :469 :274 :2426)))(PhCompnt[ @@2 :Ph2[CellPhone :972 :385 :2464]])) )
        |          
        |  ARG4:   .........NO PROGVAR UPDATES.
        |  ARG5:   .........NO PROGVAR UPDATES.
  




==============================>
( TREE DESCEND #12: )

           goTo0 :DiningPh3_Contract_Servicing[PROGVAR1__SESSION_ID :007446220008][PROGVAR2__OPERATIONAL_DATA :All3_Config_Data](PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 [subItem :Ph0_PhoneNum[ @@3 [subItem :AreaCode :214][subItem :Grouping :563][subItem :TenThsnd :2468]]](id(subItem :Ph1_PhoneNum( @@3 (subItem :AreaCode :469)(subItem :Grouping :274)(subItem :TenThsnd :2426))))(PhCompnt[ @@2 :Ph2[CellPhone :972 :385 :2464]])))[PROGVAR4__CUR_PH [Ph5_PhoneList :car]][PROGVAR5__CUR_STATES :Initial_All5_ThinkingEatingAndLeftFork_States]

-/////////////-LEVEL13  (type OP5 w 2 args)  NOT REWRITABLE:
        |||||||||||||  subItem
        |||||||||||||  :AreaCode
        |||||||||||||  :469
  
-/////////////-LEVEL13  (type OP5 w 2 args)  NOT REWRITABLE:
        |||||||||||||  subItem
        |||||||||||||  :Grouping
        |||||||||||||  :274
  
-/////////////-LEVEL13  (type OP5 w 2 args)  NOT REWRITABLE:
        |||||||||||||  subItem
        |||||||||||||  :TenThsnd
        |||||||||||||  :2426
  
-///////////-LEVEL11  (type OP5 w 3 args)  NOT REWRITABLE:
        |||||||||||  @@3
        |||||||||||  [subItem :AreaCode :469]
        |||||||||||  [subItem :Grouping :274]
        |||||||||||  [subItem :TenThsnd :2426]
  
-/////////-LEVEL9  (type OP5 w 2 args)  NOT REWRITABLE:
        |||||||||  subItem
        |||||||||  :Ph1_PhoneNum
        |||||||||  [ @@3 [subItem :AreaCode :469][subItem :Grouping :274][subItem :TenThsnd :2426]]
  
-///////-LEVEL7  (type OP5 w 1 args)  EXPANDING RW - NEED NEW DESCEND NOW:
        |||||||  id
        |||||||  [subItem :Ph1_PhoneNum[ @@3 [subItem :AreaCode :469][subItem :Grouping :274][subItem :TenThsnd :2426]]]
        |||||||  
        |||||||  =============>
        |||||||  subItem :Ph1_PhoneNum[ @@3 [subItem :AreaCode :469][subItem :Grouping :274][subItem :TenThsnd :2426]]
  
 
-/-LEVEL1  AT ENTRY OF OUTERMOST RW ATTEMPT IN CURRENT DESCEND #12:
        |  """""""""""""""""""""""""""""""""""""""""""""""""""""""
        |  OP:     <--------SAME AS IN ABOVE DESCEND:  goTo0
        |  ARG0:   .........NO PROGVAR UPDATES.
        |  ARG1:   .........NO PROGVAR UPDATES.
        |  ARG2:   .........NO PROGVAR UPDATES.
        |  ARG3:   ( PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 [subItem :Ph0_PhoneNum[ @@3 [subItem :AreaCode :214][subItem :Grouping :563][subItem :TenThsnd :2468]]](subItem :Ph1_PhoneNum[ @@3 [subItem :AreaCode :469][subItem :Grouping :274][subItem :TenThsnd :2426]])(PhCompnt[ @@2 :Ph2[CellPhone :972 :385 :2464]])) )
        |          
        |          mmmmmmmmmmmmmmmmmmmmmm  PROGVAR UPDATED !  mmmmmmmmmmmmmmm  WAS:
        |          ( PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 [subItem :Ph0_PhoneNum[ @@3 [subItem :AreaCode :214][subItem :Grouping :563][subItem :TenThsnd :2468]]](id(subItem :Ph1_PhoneNum( @@3 (subItem :AreaCode :469)(subItem :Grouping :274)(subItem :TenThsnd :2426))))(PhCompnt[ @@2 :Ph2[CellPhone :972 :385 :2464]])) )
        |          
        |  ARG4:   .........NO PROGVAR UPDATES.
        |  ARG5:   .........NO PROGVAR UPDATES.
  




==============================>
( TREE DESCEND #13: )

           goTo0 :DiningPh3_Contract_Servicing[PROGVAR1__SESSION_ID :007446220008][PROGVAR2__OPERATIONAL_DATA :All3_Config_Data](PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 [subItem :Ph0_PhoneNum[ @@3 [subItem :AreaCode :214][subItem :Grouping :563][subItem :TenThsnd :2468]]](subItem :Ph1_PhoneNum[ @@3 [subItem :AreaCode :469][subItem :Grouping :274][subItem :TenThsnd :2426]])(PhCompnt[ @@2 :Ph2[CellPhone :972 :385 :2464]])))[PROGVAR4__CUR_PH [Ph5_PhoneList :car]][PROGVAR5__CUR_STATES :Initial_All5_ThinkingEatingAndLeftFork_States]

-///////-LEVEL7  (type OP5 w 2 args)  NOT REWRITABLE:
        |||||||  subItem
        |||||||  :Ph1_PhoneNum
        |||||||  [ @@3 [subItem :AreaCode :469][subItem :Grouping :274][subItem :TenThsnd :2426]]
  
-///////-LEVEL7  (type OP2 w 1 args)  EXPANDING RW - NEED NEW DESCEND NOW:
        |||||||  PhCompnt
        |||||||  [ @@2 :Ph2[CellPhone :972 :385 :2464]]
        |||||||  
        |||||||  =============>
        |||||||  id(subItem (concat( @@2 :Ph2[CellPhone :972 :385 :2464] :x0) :_PhoneNum)( @@2 :Ph2[CellPhone :972 :385 :2464] :x1))
  
 
-/-LEVEL1  AT ENTRY OF OUTERMOST RW ATTEMPT IN CURRENT DESCEND #13:
        |  """""""""""""""""""""""""""""""""""""""""""""""""""""""
        |  OP:     <--------SAME AS IN ABOVE DESCEND:  goTo0
        |  ARG0:   .........NO PROGVAR UPDATES.
        |  ARG1:   .........NO PROGVAR UPDATES.
        |  ARG2:   .........NO PROGVAR UPDATES.
        |  ARG3:   ( PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 [subItem :Ph0_PhoneNum[ @@3 [subItem :AreaCode :214][subItem :Grouping :563][subItem :TenThsnd :2468]]][subItem :Ph1_PhoneNum[ @@3 [subItem :AreaCode :469][subItem :Grouping :274][subItem :TenThsnd :2426]]](id(subItem (concat( @@2 :Ph2[CellPhone :972 :385 :2464] :x0) :_PhoneNum)( @@2 :Ph2[CellPhone :972 :385 :2464] :x1)))) )
        |          
        |          mmmmmmmmmmmmmmmmmmmmmm  PROGVAR UPDATED !  mmmmmmmmmmmmmmm  WAS:
        |          ( PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 [subItem :Ph0_PhoneNum[ @@3 [subItem :AreaCode :214][subItem :Grouping :563][subItem :TenThsnd :2468]]](subItem :Ph1_PhoneNum[ @@3 [subItem :AreaCode :469][subItem :Grouping :274][subItem :TenThsnd :2426]])(PhCompnt[ @@2 :Ph2[CellPhone :972 :385 :2464]])) )
        |          
        |  ARG4:   .........NO PROGVAR UPDATES.
        |  ARG5:   .........NO PROGVAR UPDATES.
  




==============================>
( TREE DESCEND #14: )

           goTo0 :DiningPh3_Contract_Servicing[PROGVAR1__SESSION_ID :007446220008][PROGVAR2__OPERATIONAL_DATA :All3_Config_Data](PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 [subItem :Ph0_PhoneNum[ @@3 [subItem :AreaCode :214][subItem :Grouping :563][subItem :TenThsnd :2468]]][subItem :Ph1_PhoneNum[ @@3 [subItem :AreaCode :469][subItem :Grouping :274][subItem :TenThsnd :2426]]](id(subItem (concat( @@2 :Ph2[CellPhone :972 :385 :2464] :x0) :_PhoneNum)( @@2 :Ph2[CellPhone :972 :385 :2464] :x1)))))[PROGVAR4__CUR_PH [Ph5_PhoneList :car]][PROGVAR5__CUR_STATES :Initial_All5_ThinkingEatingAndLeftFork_States]

-/////////////-LEVEL13  (type OP5 w 3 args)  EXPANDING RW - NEED NEW DESCEND NOW:
        |||||||||||||  @@2
        |||||||||||||  :Ph2
        |||||||||||||  [CellPhone :972 :385 :2464]
        |||||||||||||  :x0
        |||||||||||||  
        |||||||||||||  =============>
        |||||||||||||  Ph2
  
 
-/-LEVEL1  AT ENTRY OF OUTERMOST RW ATTEMPT IN CURRENT DESCEND #14:
        |  """""""""""""""""""""""""""""""""""""""""""""""""""""""
        |  OP:     <--------SAME AS IN ABOVE DESCEND:  goTo0
        |  ARG0:   .........NO PROGVAR UPDATES.
        |  ARG1:   .........NO PROGVAR UPDATES.
        |  ARG2:   .........NO PROGVAR UPDATES.
        |  ARG3:   ( PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 [subItem :Ph0_PhoneNum[ @@3 [subItem :AreaCode :214][subItem :Grouping :563][subItem :TenThsnd :2468]]][subItem :Ph1_PhoneNum[ @@3 [subItem :AreaCode :469][subItem :Grouping :274][subItem :TenThsnd :2426]]](id(subItem (concat(Ph2) :_PhoneNum)( @@2 :Ph2[CellPhone :972 :385 :2464] :x1)))) )
        |          
        |          mmmmmmmmmmmmmmmmmmmmmm  PROGVAR UPDATED !  mmmmmmmmmmmmmmm  WAS:
        |          ( PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 [subItem :Ph0_PhoneNum[ @@3 [subItem :AreaCode :214][subItem :Grouping :563][subItem :TenThsnd :2468]]][subItem :Ph1_PhoneNum[ @@3 [subItem :AreaCode :469][subItem :Grouping :274][subItem :TenThsnd :2426]]](id(subItem (concat( @@2 :Ph2[CellPhone :972 :385 :2464] :x0) :_PhoneNum)( @@2 :Ph2[CellPhone :972 :385 :2464] :x1)))) )
        |          
        |  ARG4:   .........NO PROGVAR UPDATES.
        |  ARG5:   .........NO PROGVAR UPDATES.
  




==============================>
( TREE DESCEND #15: )

           goTo0 :DiningPh3_Contract_Servicing[PROGVAR1__SESSION_ID :007446220008][PROGVAR2__OPERATIONAL_DATA :All3_Config_Data](PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 [subItem :Ph0_PhoneNum[ @@3 [subItem :AreaCode :214][subItem :Grouping :563][subItem :TenThsnd :2468]]][subItem :Ph1_PhoneNum[ @@3 [subItem :AreaCode :469][subItem :Grouping :274][subItem :TenThsnd :2426]]](id(subItem (concat(Ph2) :_PhoneNum)( @@2 :Ph2[CellPhone :972 :385 :2464] :x1)))))[PROGVAR4__CUR_PH [Ph5_PhoneList :car]][PROGVAR5__CUR_STATES :Initial_All5_ThinkingEatingAndLeftFork_States]

-mmmmmmmmmmmmm-LEVEL13  (type OP2 w 0 args)  NOT REWRITABLE:  Ph2
  
-///////////-LEVEL11  (type OP5 w 2 args)  RW SUCCESS:
        |||||||||||  concat
        |||||||||||  :Ph2
        |||||||||||  :_PhoneNum
        |||||||||||  
        |||||||||||  ====>   Ph2_PhoneNum
  
-///////////-LEVEL11  (type OP5 w 3 args)  EXPANDING RW - NEED NEW DESCEND NOW:
        |||||||||||  @@2
        |||||||||||  :Ph2
        |||||||||||  [CellPhone :972 :385 :2464]
        |||||||||||  :x1
        |||||||||||  
        |||||||||||  =============>
        |||||||||||  CellPhone :972 :385 :2464
  
 
-/-LEVEL1  AT ENTRY OF OUTERMOST RW ATTEMPT IN CURRENT DESCEND #15:
        |  """""""""""""""""""""""""""""""""""""""""""""""""""""""
        |  OP:     <--------SAME AS IN ABOVE DESCEND:  goTo0
        |  ARG0:   .........NO PROGVAR UPDATES.
        |  ARG1:   .........NO PROGVAR UPDATES.
        |  ARG2:   .........NO PROGVAR UPDATES.
        |  ARG3:   ( PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 [subItem :Ph0_PhoneNum[ @@3 [subItem :AreaCode :214][subItem :Grouping :563][subItem :TenThsnd :2468]]][subItem :Ph1_PhoneNum[ @@3 [subItem :AreaCode :469][subItem :Grouping :274][subItem :TenThsnd :2426]]](id(subItem :Ph2_PhoneNum(CellPhone :972 :385 :2464)))) )
        |          
        |          mmmmmmmmmmmmmmmmmmmmmm  PROGVAR UPDATED !  mmmmmmmmmmmmmmm  WAS:
        |          ( PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 [subItem :Ph0_PhoneNum[ @@3 [subItem :AreaCode :214][subItem :Grouping :563][subItem :TenThsnd :2468]]][subItem :Ph1_PhoneNum[ @@3 [subItem :AreaCode :469][subItem :Grouping :274][subItem :TenThsnd :2426]]](id(subItem (concat(Ph2) :_PhoneNum)( @@2 :Ph2[CellPhone :972 :385 :2464] :x1)))) )
        |          
        |  ARG4:   .........NO PROGVAR UPDATES.
        |  ARG5:   .........NO PROGVAR UPDATES.
  




==============================>
( TREE DESCEND #16: )

           goTo0 :DiningPh3_Contract_Servicing[PROGVAR1__SESSION_ID :007446220008][PROGVAR2__OPERATIONAL_DATA :All3_Config_Data](PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 [subItem :Ph0_PhoneNum[ @@3 [subItem :AreaCode :214][subItem :Grouping :563][subItem :TenThsnd :2468]]][subItem :Ph1_PhoneNum[ @@3 [subItem :AreaCode :469][subItem :Grouping :274][subItem :TenThsnd :2426]]](id(subItem :Ph2_PhoneNum(CellPhone :972 :385 :2464)))))[PROGVAR4__CUR_PH [Ph5_PhoneList :car]][PROGVAR5__CUR_STATES :Initial_All5_ThinkingEatingAndLeftFork_States]

-///////////-LEVEL11  (type OP2 w 3 args)  EXPANDING RW - NEED NEW DESCEND NOW:
        |||||||||||  CellPhone
        |||||||||||  :972
        |||||||||||  :385
        |||||||||||  :2464
        |||||||||||  
        |||||||||||  =============>
        |||||||||||  @@3 (subItem :AreaCode :972)(subItem :Grouping :385)(subItem :TenThsnd :2464)
  
 
-/-LEVEL1  AT ENTRY OF OUTERMOST RW ATTEMPT IN CURRENT DESCEND #16:
        |  """""""""""""""""""""""""""""""""""""""""""""""""""""""
        |  OP:     <--------SAME AS IN ABOVE DESCEND:  goTo0
        |  ARG0:   .........NO PROGVAR UPDATES.
        |  ARG1:   .........NO PROGVAR UPDATES.
        |  ARG2:   .........NO PROGVAR UPDATES.
        |  ARG3:   ( PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 [subItem :Ph0_PhoneNum[ @@3 [subItem :AreaCode :214][subItem :Grouping :563][subItem :TenThsnd :2468]]][subItem :Ph1_PhoneNum[ @@3 [subItem :AreaCode :469][subItem :Grouping :274][subItem :TenThsnd :2426]]](id(subItem :Ph2_PhoneNum( @@3 (subItem :AreaCode :972)(subItem :Grouping :385)(subItem :TenThsnd :2464))))) )
        |          
        |          mmmmmmmmmmmmmmmmmmmmmm  PROGVAR UPDATED !  mmmmmmmmmmmmmmm  WAS:
        |          ( PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 [subItem :Ph0_PhoneNum[ @@3 [subItem :AreaCode :214][subItem :Grouping :563][subItem :TenThsnd :2468]]][subItem :Ph1_PhoneNum[ @@3 [subItem :AreaCode :469][subItem :Grouping :274][subItem :TenThsnd :2426]]](id(subItem :Ph2_PhoneNum(CellPhone :972 :385 :2464)))) )
        |          
        |  ARG4:   .........NO PROGVAR UPDATES.
        |  ARG5:   .........NO PROGVAR UPDATES.
  




==============================>
( TREE DESCEND #17: )

           goTo0 :DiningPh3_Contract_Servicing[PROGVAR1__SESSION_ID :007446220008][PROGVAR2__OPERATIONAL_DATA :All3_Config_Data](PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 [subItem :Ph0_PhoneNum[ @@3 [subItem :AreaCode :214][subItem :Grouping :563][subItem :TenThsnd :2468]]][subItem :Ph1_PhoneNum[ @@3 [subItem :AreaCode :469][subItem :Grouping :274][subItem :TenThsnd :2426]]](id(subItem :Ph2_PhoneNum( @@3 (subItem :AreaCode :972)(subItem :Grouping :385)(subItem :TenThsnd :2464))))))[PROGVAR4__CUR_PH [Ph5_PhoneList :car]][PROGVAR5__CUR_STATES :Initial_All5_ThinkingEatingAndLeftFork_States]

-/////////////-LEVEL13  (type OP5 w 2 args)  NOT REWRITABLE:
        |||||||||||||  subItem
        |||||||||||||  :AreaCode
        |||||||||||||  :972
  
-/////////////-LEVEL13  (type OP5 w 2 args)  NOT REWRITABLE:
        |||||||||||||  subItem
        |||||||||||||  :Grouping
        |||||||||||||  :385
  
-/////////////-LEVEL13  (type OP5 w 2 args)  NOT REWRITABLE:
        |||||||||||||  subItem
        |||||||||||||  :TenThsnd
        |||||||||||||  :2464
  
-///////////-LEVEL11  (type OP5 w 3 args)  NOT REWRITABLE:
        |||||||||||  @@3
        |||||||||||  [subItem :AreaCode :972]
        |||||||||||  [subItem :Grouping :385]
        |||||||||||  [subItem :TenThsnd :2464]
  
-/////////-LEVEL9  (type OP5 w 2 args)  NOT REWRITABLE:
        |||||||||  subItem
        |||||||||  :Ph2_PhoneNum
        |||||||||  [ @@3 [subItem :AreaCode :972][subItem :Grouping :385][subItem :TenThsnd :2464]]
  
-///////-LEVEL7  (type OP5 w 1 args)  EXPANDING RW - NEED NEW DESCEND NOW:
        |||||||  id
        |||||||  [subItem :Ph2_PhoneNum[ @@3 [subItem :AreaCode :972][subItem :Grouping :385][subItem :TenThsnd :2464]]]
        |||||||  
        |||||||  =============>
        |||||||  subItem :Ph2_PhoneNum[ @@3 [subItem :AreaCode :972][subItem :Grouping :385][subItem :TenThsnd :2464]]
  
 
-/-LEVEL1  AT ENTRY OF OUTERMOST RW ATTEMPT IN CURRENT DESCEND #17:
        |  """""""""""""""""""""""""""""""""""""""""""""""""""""""
        |  OP:     <--------SAME AS IN ABOVE DESCEND:  goTo0
        |  ARG0:   .........NO PROGVAR UPDATES.
        |  ARG1:   .........NO PROGVAR UPDATES.
        |  ARG2:   .........NO PROGVAR UPDATES.
        |  ARG3:   ( PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 [subItem :Ph0_PhoneNum[ @@3 [subItem :AreaCode :214][subItem :Grouping :563][subItem :TenThsnd :2468]]][subItem :Ph1_PhoneNum[ @@3 [subItem :AreaCode :469][subItem :Grouping :274][subItem :TenThsnd :2426]]](subItem :Ph2_PhoneNum[ @@3 [subItem :AreaCode :972][subItem :Grouping :385][subItem :TenThsnd :2464]])) )
        |          
        |          mmmmmmmmmmmmmmmmmmmmmm  PROGVAR UPDATED !  mmmmmmmmmmmmmmm  WAS:
        |          ( PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 [subItem :Ph0_PhoneNum[ @@3 [subItem :AreaCode :214][subItem :Grouping :563][subItem :TenThsnd :2468]]][subItem :Ph1_PhoneNum[ @@3 [subItem :AreaCode :469][subItem :Grouping :274][subItem :TenThsnd :2426]]](id(subItem :Ph2_PhoneNum( @@3 (subItem :AreaCode :972)(subItem :Grouping :385)(subItem :TenThsnd :2464))))) )
        |          
        |  ARG4:   .........NO PROGVAR UPDATES.
        |  ARG5:   .........NO PROGVAR UPDATES.
  




==============================>
( TREE DESCEND #18: )

           goTo0 :DiningPh3_Contract_Servicing[PROGVAR1__SESSION_ID :007446220008][PROGVAR2__OPERATIONAL_DATA :All3_Config_Data](PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 [subItem :Ph0_PhoneNum[ @@3 [subItem :AreaCode :214][subItem :Grouping :563][subItem :TenThsnd :2468]]][subItem :Ph1_PhoneNum[ @@3 [subItem :AreaCode :469][subItem :Grouping :274][subItem :TenThsnd :2426]]](subItem :Ph2_PhoneNum[ @@3 [subItem :AreaCode :972][subItem :Grouping :385][subItem :TenThsnd :2464]])))[PROGVAR4__CUR_PH [Ph5_PhoneList :car]][PROGVAR5__CUR_STATES :Initial_All5_ThinkingEatingAndLeftFork_States]

-///////-LEVEL7  (type OP5 w 2 args)  NOT REWRITABLE:
        |||||||  subItem
        |||||||  :Ph2_PhoneNum
        |||||||  [ @@3 [subItem :AreaCode :972][subItem :Grouping :385][subItem :TenThsnd :2464]]
  
-/////-LEVEL5  (type OP5 w 3 args)  NOT REWRITABLE:
        |||||  @@3
        |||||  [subItem :Ph0_PhoneNum[ @@3 [subItem :AreaCode :214][subItem :Grouping :563][subItem :TenThsnd :2468]]]
        |||||  [subItem :Ph1_PhoneNum[ @@3 [subItem :AreaCode :469][subItem :Grouping :274][subItem :TenThsnd :2426]]]
        |||||  [subItem :Ph2_PhoneNum[ @@3 [subItem :AreaCode :972][subItem :Grouping :385][subItem :TenThsnd :2464]]]
  
-///-LEVEL3  (type OP2 w 1 args)  NOT REWRITABLE:
        |||  PROGVAR3__CIRCLING_CELLPHONE_LIST
        |||  [ @@3 [subItem :Ph0_PhoneNum[ @@3 [subItem :AreaCode :214][subItem :Grouping :563][subItem :TenThsnd :2468]]][subItem :Ph1_PhoneNum[ @@3 [subItem :AreaCode :469][subItem :Grouping :274][subItem :TenThsnd :2426]]][subItem :Ph2_PhoneNum[ @@3 [subItem :AreaCode :972][subItem :Grouping :385][subItem :TenThsnd :2464]]]]
  
 
-/-LEVEL1  AT ENTRY OF OUTERMOST RW ATTEMPT IN CURRENT DESCEND #18:
        |  """""""""""""""""""""""""""""""""""""""""""""""""""""""
        |  OP:     <--------SAME AS IN ABOVE DESCEND:  goTo0
        |  ARG0:   .........NO PROGVAR UPDATES.
        |  ARG1:   .........NO PROGVAR UPDATES.
        |  ARG2:   .........NO PROGVAR UPDATES.
        |  ARG3:   [ PROGVAR3__CIRCLING_CELLPHONE_LIST [ @@3 [subItem :Ph0_PhoneNum[ @@3 [subItem :AreaCode :214][subItem :Grouping :563][subItem :TenThsnd :2468]]][subItem :Ph1_PhoneNum[ @@3 [subItem :AreaCode :469][subItem :Grouping :274][subItem :TenThsnd :2426]]][subItem :Ph2_PhoneNum[ @@3 [subItem :AreaCode :972][subItem :Grouping :385][subItem :TenThsnd :2464]]]] ]
        |          
        |          mmmmmmmmmmmmmmmmmmmmmm  PROGVAR UPDATED !  mmmmmmmmmmmmmmm  WAS:
        |          ( PROGVAR3__CIRCLING_CELLPHONE_LIST ( @@3 [subItem :Ph0_PhoneNum[ @@3 [subItem :AreaCode :214][subItem :Grouping :563][subItem :TenThsnd :2468]]][subItem :Ph1_PhoneNum[ @@3 [subItem :AreaCode :469][subItem :Grouping :274][subItem :TenThsnd :2426]]](subItem :Ph2_PhoneNum[ @@3 [subItem :AreaCode :972][subItem :Grouping :385][subItem :TenThsnd :2464]])) )
        |          
        |  ARG4:   .........NO PROGVAR UPDATES.
        |  ARG5:   .........NO PROGVAR UPDATES.
  




==============================>
( TREE DESCEND #19: )

           Spaghetti_Servicer_Circling_All3Ph :DiningPh3_Contract_Servicing[PROGVAR1__SESSION_ID :007446220008][PROGVAR2__OPERATIONAL_DATA :All3_Config_Data][PROGVAR3__CIRCLING_CELLPHONE_LIST [ @@3 [subItem :Ph0_PhoneNum[ @@3 [subItem :AreaCode :214][subItem :Grouping :563][subItem :TenThsnd :2468]]][subItem :Ph1_PhoneNum[ @@3 [subItem :AreaCode :469][subItem :Grouping :274][subItem :TenThsnd :2426]]][subItem :Ph2_PhoneNum[ @@3 [subItem :AreaCode :972][subItem :Grouping :385][subItem :TenThsnd :2464]]]]][PROGVAR4__CUR_PH [Ph5_PhoneList :car]][PROGVAR5__CUR_STATES :Initial_All5_ThinkingEatingAndLeftFork_States]

 
-/-LEVEL1  AT ENTRY OF OUTERMOST RW ATTEMPT IN CURRENT DESCEND #19:
        |  """""""""""""""""""""""""""""""""""""""""""""""""""""""
        |  OP:     Spaghetti_Servicer_Circling_All3Ph
        |  ARG0:   <--------SAME AS IN ABOVE DESCEND. 
        |  ARG1:   <--------SAME AS IN ABOVE DESCEND. 
        |  ARG2:   <--------SAME AS IN ABOVE DESCEND. 
        |  ARG3:   <--------SAME AS IN ABOVE DESCEND. 
        |  ARG4:   <--------SAME AS IN ABOVE DESCEND. 
        |  ARG5:   <--------SAME AS IN ABOVE DESCEND. 
  




==============================>
( TREE DESCEND #20: )

           stepThru [Text_StatefulCodes_To_Next_Cellphone(All3_Config_Data :rotate :car)()])

 
-/-LEVEL1  AT ENTRY OF OUTERMOST RW ATTEMPT IN CURRENT DESCEND #20:
        |  """""""""""""""""""""""""""""""""""""""""""""""""""""""
        |  OP:     stepThru
        |  ARG0:   [ Text_StatefulCodes_To_Next_Cellphone(All3_Config_Data :rotate :car)()) ]
  




==============================>
( TREE DESCEND #21: )

           Text_StatefulCodes_To_Next_Cellphone(All3_Config_Data :rotate :car)())

-///-LEVEL3  (type OP2 w 2 args)  NOT REWRITABLE:
        |||  All3_Config_Data
        |||  :rotate
        |||  :car
  
-mmm-LEVEL3  (type OP2 w 0 args)  NOT REWRITABLE:  )
  
 
-/-LEVEL1  AT ENTRY OF OUTERMOST RW ATTEMPT IN CURRENT DESCEND #21:
        |  """""""""""""""""""""""""""""""""""""""""""""""""""""""
        |  OP:     Text_StatefulCodes_To_Next_Cellphone
        |  ARG0:   [ All3_Config_Data :rotate :car ]
        |  ARG1:   [ ) ]
  




==============================>
( TREE DESCEND #22: )

           Text_StatefulCodes_To_Next_Cellphone[All3_Config_Data :rotate :car][)]

 
-/-LEVEL1  AT ENTRY OF OUTERMOST RW ATTEMPT IN CURRENT DESCEND #22:
        |  """""""""""""""""""""""""""""""""""""""""""""""""""""""
        |  OP:     <--------SAME AS IN ABOVE DESCEND:  Text_StatefulCodes_To_Next_Cellphone
        |  ARG0:   <--------SAME AS IN ABOVE DESCEND. 
        |  ARG1:   <--------SAME AS IN ABOVE DESCEND. 
  



CODES NOW NOT REWRITABLE !
END OF CODES EXECUTION