sclass ParsedWithTokens extends Var { LS tok; // full CNC token list being parsed int iStart; // points to first parsed C token int iRemaining; // points to first unparsed C token *() {} *(A a) { super(a); } *(A a, LS *tok, int *iStart, int *iRemaining) { super(a); } ListAndIndex remaining() { ret ListAndIndex(tok, iRemaining); } ParsedWithTokens withValue(B b) { ret new ParsedWithTokens(b, tok, iStart, iRemaining); } }