Contents    Page-10    Prev    Next    Page+10    Index   

Auxiliary C Code


TOKEN cons(item, list)  /* link item to list */
  TOKEN item, list;
  { item->link = list;
    return item;
  }

TOKEN binop(op, lhs, rhs)  /* reduce binary op */
  TOKEN op, lhs, rhs;
  { op->operands = lhs;    /* link opnds to op */
    lhs->link = rhs;       /* link 2nd operand */
    rhs->link = NULL;      /* terminate opnds  */
    return op;
  }

TOKEN makeprogn(tok, statements) /* make progn */
  TOKEN tok, statements;
  {  tok->tokentype = OPERATOR;  /* change tok */
     tok->whichval = PROGNOP;    /* to progn*/
     tok->operands = statements;
     return tok;
   }