
  int cells[TWICE_NCELLS];
  int n_cells;
  int atomlist;
  int curr_cell;
  int cell_max;

  int FF; // TODO workaround for bug shifting a constant

  int ch;
  int ch2;
  int token_type;

  int gc_car;
  int gc_cdr;

  // token IO variables

  int token_list;
  int token_new;
  int token_tail;

  // virtual machine variables

  int globals;
  int env;
  int code;
  int instructions;
  int instruction;
  int operands;
  int binding;
  int closure;
  int returnval;
  int arglist;
  int stack;
  int stacksize;
  int stackidx;
  int stack_arg1;
  int stack_arg2;
  int stack_arg3;

  int call_cc_code;

  // argument flags

  int debug;
  int trace;
  int trace_globals;
  int case_sensitive;

  // the following point directly to the named
  // primitive so they can be referenced directly

  int quoteatom;
  int eofatom;
  int unspecifiedatom;
  int procedureatom;

  // data stream structures

  int data_stream[200];
  int is_data_stream;
  int data_stream_idx;
