|
115 | 115 | else
|
116 | 116 | : if (Size[F] >= 8) & (F[2] == with') & (F[4] == do') & (F[6] == after') & F[1].IsSym[]
|
117 | 117 | then -- {on I with I do B after B; B; ...}
|
118 |
| - { var { U = {if Str[F[1]][0] <> "_"[0]$ then F[1]# else MakeSym[]} } in |
| 118 | + { var { U = {if Str[F[1]][0] <> "_"[0]$ then F[1] else MakeSym[]}# } in |
119 | 119 | : array of on# U with' F[3] do' F[5] after' {array of let# {array of: array of (=)' F[1] U} in'} + F[Range[7; Size[F]]]
|
120 | 120 | }
|
121 | 121 | else
|
122 | 122 | : if (Size[F] >= 6) & (F[2] == do') & (F[4] == after') & F[1].IsSym[]
|
123 | 123 | then -- {on I do B after B; B; ...}
|
124 |
| - { var { U = {if Str[F[1]][0] <> "_"[0]$ then F[1]# else MakeSym[]} } in |
| 124 | + { var { U = {if Str[F[1]][0] <> "_"[0]$ then F[1] else MakeSym[]}# } in |
125 | 125 | : array of on# U do' F[3] after' {array of let# {array of: array of (=)' F[1] U} in'} + F[Range[5; Size[F]]]
|
126 | 126 | }
|
127 | 127 | else -- fallback
|
|
137 | 137 | : proc { F } as
|
138 | 138 | : if (Size[F] == 4) & (F[2] == all')
|
139 | 139 | then -- {for {I = V; I = V; ...} all C}
|
140 |
| - { let { X = MakeSym[] } in |
| 140 | + { let { X = MakeSym[]# } in |
141 | 141 | : array of on# broad' X do' False# after'
|
142 | 142 | : array of do# True# after'
|
143 | 143 | : array of for# F[1] do'
|
|
147 | 147 | else
|
148 | 148 | : if (Size[F] == 4) & (F[2] == some')
|
149 | 149 | then -- {for {I = V; I = V; ...} some C}
|
150 |
| - { let { X = MakeSym[] } in |
| 150 | + { let { X = MakeSym[]# } in |
151 | 151 | : array of on# broad' X do' True# after'
|
152 | 152 | : array of do# False# after'
|
153 | 153 | : array of for# F[1] do'
|
|
282 | 282 | : proc { F } as
|
283 | 283 | : if (Size[F] >= 4) & (F[2] == in') & F[1].IsList[] & {for {E = F[1]} all E.IsSym[]}
|
284 | 284 | then -- {let {I; ...} in B; ...}
|
285 |
| - {array of let# {array for {E = F[1]} of: array of (=)' E: if Str[E][0] <> "_"[0]$ then E# else MakeSym[]} in'} + F[Range[3; Size[F]]] |
| 285 | + {array of let# {array for {E = F[1]} of: array of (=)' E: if Str[E][0] <> "_"[0]$ then E# else MakeSym[]#} in'} + F[Range[3; Size[F]]] |
286 | 286 | else -- fallback
|
287 | 287 | {array of let#} + F[Range[1; Size[F]]]
|
288 | 288 | }
|
|
0 commit comments