void ParseBody(CiToken left, CiToken right) { int level = 1; for (;;) { NextToken(); if (See(CiToken.EndOfFile)) throw new ParseException("Macro definition not terminated"); if (See(left)) level++; else if (See(right)) if (--level == 0) break; } }