Exemple #1
0
init()
{
  FS = &install("FS", VAR|STR, " ", 0.0, hashtab)->c_sval;
  RS = &install("RS", VAR|STR, "\n", 0.0, hashtab)->c_sval;
  OFS = &install("OFS", VAR|STR , " ", 0.0, hashtab)->c_sval;
  ORS = &install("ORS", VAR|STR, "\n", 0.0, hashtab)->c_sval;
  OFMT = &install("OFMT", VAR|STR, "%.6g", 0.0, hashtab)->c_sval;
  NR = &install("NR", VAR|NUM, (char *)NULL, 0.0, hashtab)->c_fval;
  NF = &install("NF", VAR|NUM, (char *)NULL, 0.0, hashtab)->c_fval;
  FILENAME = &install("FILENAME", VAR|STR, (char *)NULL, 0.0, hashtab)->c_sval;
  install("PI", VAR|NUM, (char *)NULL, PI, hashtab);
  field[0] = mkcell(REC|STR, (char *)NULL, 0.0);	/* $0 */
  field[0]->c_sval = record;
  SUBSEP = &install("SUBSEP", VAR|STR, "\034", 0.0, hashtab)->c_sval;
  FNR = &install("FNR", VAR|NUM, (char *)NULL, 0.0, hashtab)->c_fval;
  RSTART = &install("RSTART", VAR|NUM, (char *)NULL, 0.0, hashtab)->c_fval;
  RLENGTH = &install("RLENGTH", VAR|NUM, (char *)NULL, 0.0, hashtab)->c_fval;
}
Exemple #2
0
T mapeval(T list, Environment env) {
	if (NILP(list)) return NIL;

	return mkcell(eval(CAR(list), env), mapeval(CDR(list), env));
}
Exemple #3
0
T bind(T name, T value, T lookup) {
	T kv = mkcell(name, value);
	return mkcell(kv, env);
}