UNIX — универсальная среда программирования - Керниган Брайан Уилсон
На этом ресурсе Вы можете бесплатно читать книгу онлайн UNIX — универсальная среда программирования - Керниган Брайан Уилсон. Жанр: ОС и Сети / Интернет . На сайте booksdaily.club Вы можете онлайн читать полную версию книги без регистрации и sms. Так же Вы можете ознакомится с содержанием, описанием, предисловием о произведении
sub() { Datum d1, d2; d2 = pop(); d1 = pop(); d1.val -= d2.val; push(d1);}mul() { Datum d1, d2; d2 = pop(); d1 = pop(); d1.val *= d2.val; push(d1);}div() { Datum d1, d2; d2 = pop(); if (d2.val == 0.0) execerror("division by zero", (char*)0); d1 = pop(); d1.val /= d2.val; push(d1);}negate() { Datum d; d = pop(); d.val = -d.val; push(d);}gt() { Datum d1, d2; d2 = pop(); d1 = pop(); d1.val = (double)(d1.val > d2.val); push(d1);}lt() { Datum d1, d2; d2 = pop(); d1 = pop(); d1.val = (double)(d1.val < d2.val); push(d1);}ge() { Datum d1, d2; d2 = pop(); d1 = pop(); d1.val = (double)(d1.val >= d2.val); push(d1);}le() { Datum d1, d2; d2 = pop(); d1 = pop(); d1.val = (double)(d1.val <= d2.val); push(d1);}eq() { Datum d1, d2; d2 = pop(); d1 = pop(); d1.val = (double)(d1.val == d2.val); push(d1);}ne() { Datum d1, d2; d2 = pop(); d1 = pop(); d1.val = (double)(d1.val != d2.val); push(d1);}and() { Datum d1, d2; d2 = pop(); d1 = pop(); d1.val = (double)(d1.val != 0.0 && d2.val != 0.0); push(d1);}or() { Datum d1, d2; d2 = pop(); d1 = pop(); d1.val = (double)(d1.val != 0.0 || d2.val != 0.0); push(d1);}not() { Datum d; d = pop(); d.val = (double)(d.val == 0.0); push(d);}power() { Datum d1, d2; extern double Pow(); d2 = pop(); d1 = pop(); d1.val = Pow(d1.val, d2.val); push(d1);}assign() { Datum d1, d2; d1 = pop(); d2 = pop(); if (d1.sym->type != VAR && d1.sym->type != UNDEF) execerror("assignment to non-variable", d1.sym->name); d1.sym->u.val = d2.val; d1.sym->type = VAR; push(d2);}print() { Datum d; d = pop(); printf("t%.8gn", d.val);}prexpr() /* print numeric value */{ Datum d; d = pop(); printf("%.8gn", d.val);