parser.cxx

changeset 47
d84d82213137
parent 46
a29eeecf3ecb
child 48
976c57f153b3
equal deleted inserted replaced
46:a29eeecf3ecb 47:d84d82213137
309 int mark1 = w->AddMark (""); 309 int mark1 = w->AddMark ("");
310 int mark2 = w->AddMark (""); 310 int mark2 = w->AddMark ("");
311 311
312 // Add the condition 312 // Add the condition
313 w->WriteBuffer (cond); 313 w->WriteBuffer (cond);
314 w->Write<long> (DH_IFNOTGOTO); 314 w->Write<word> (DH_IFNOTGOTO);
315 w->AddReference (mark2); 315 w->AddReference (mark2);
316 316
317 // Store the marks and incrementor 317 // Store the marks and incrementor
318 blockstack[g_BlockStackCursor].mark1 = mark1; 318 blockstack[g_BlockStackCursor].mark1 = mark1;
319 blockstack[g_BlockStackCursor].mark2 = mark2; 319 blockstack[g_BlockStackCursor].mark2 = mark2;
326 // Do/while loop 326 // Do/while loop
327 if (!token.icompare ("do")) { 327 if (!token.icompare ("do")) {
328 MUST_NOT_TOPLEVEL 328 MUST_NOT_TOPLEVEL
329 PushBlockStack (); 329 PushBlockStack ();
330 MustNext ("{"); 330 MustNext ("{");
331
332 // Store the marks and incrementor
333 blockstack[g_BlockStackCursor].mark1 = w->AddMark (""); 331 blockstack[g_BlockStackCursor].mark1 = w->AddMark ("");
334 blockstack[g_BlockStackCursor].type = BLOCKTYPE_DO; 332 blockstack[g_BlockStackCursor].type = BLOCKTYPE_DO;
335 continue; 333 continue;
336 } 334 }
337 335

mercurial