My-library.info
Все категории

UNIX — универсальная среда программирования - Керниган Брайан Уилсон

На электронном книжном портале my-library.info можно читать бесплатно книги онлайн без регистрации, в том числе UNIX — универсальная среда программирования - Керниган Брайан Уилсон. Жанр: Интернет год 2004. В онлайн доступе вы получите полную версию книги с кратким содержанием для ознакомления, сможете читать аннотацию к книге (предисловие), увидеть рецензии тех, кто произведение уже прочитал и их экспертное мнение о прочитанном.
Кроме того, в библиотеке онлайн my-library.info вы найдете много новинок, которые заслуживают вашего внимания.

Название:
UNIX — универсальная среда программирования
Дата добавления:
17 сентябрь 2020
Количество просмотров:
160
Читать онлайн
UNIX — универсальная среда программирования - Керниган Брайан Уилсон

UNIX — универсальная среда программирования - Керниган Брайан Уилсон краткое содержание

UNIX — универсальная среда программирования - Керниган Брайан Уилсон - описание и краткое содержание, автор Керниган Брайан Уилсон, читайте бесплатно онлайн на сайте электронной библиотеки My-Library.Info

UNIX — универсальная среда программирования читать онлайн бесплатно

UNIX — универсальная среда программирования - читать книгу онлайн бесплатно, автор Керниган Брайан Уилсон

}

defnonly(s) /* warn if illegal definition */

 char *s;

{

 if (!indef)

  execerror(s, "used outside definition");

}

yyerror(s) /* report compile-time error */

 char *s;

{

 warning(s, (char *)0);

}

execerror(s, t) /* recover from run-time error */

 char *s, *t;

{

 warning(s, t);

 fseek(fin, 0L, 2); /* flush rest of file */

 longjmp(begin, 0);

}

fpecatch() /* catch floating point exceptions */

{

 execerror("floating point exception", (char*)0);

}

main(argc, argv) /* hoc6 */

 char *argv[];

{

 int i, fpecatch();

 progname = argv[0];

 if (argc == 1) { /* fake an argument list */

  static char *stdinonly[] = { "-" };

  gargv = stdinonly;

  gargc = 1;

 } else {

  gargv = argv+1;

  gargc = argc-1;

 }

 init();

 while (moreinput())

  run();

 return 0;

}

moreinput() {

 if (gargc-- <= 0)

  return 0;

 if (fin && fin != stdin)

  fclose(fin);

 infile = *gargv++;

 lineno = 1;

 if (strcmp(infile, "-") == 0) {

  fin = stdin;

  infile = 0;

 } else if ((fin=fopen(infile, "r")) == NULL) {

  fprintf (stderr, "%s: can't open %sn", progname, infile);

  return moreinput();

 }

 return 1;

}

run() /* execute until EOF */

{

 setjmp(begin);

 signal(SIGFPE, fpecatch);

 for (initcode(); yyparse(); initcode())

  execute(progbase);

}

warning(s, t) /* print warning message */

 char *s, *t;

{

 fprintf(stderr, "%s: %s", progname, s);

 if (t)

  fprintf(stderr, " %s", t);

 if (infile)

  fprintf(stderr, " in %s", infile);

 fprintf(stderr, " near line %dn", lineno);

 while (c != 'n' && c != EOF)

  с = getc(fin); /* flush rest of input line */

 if (c == 'n')

  lineno++;

}

3.7.15

init.c

#include "hoc.h"

#include "y.tab.h"

#include <math.h>

extern double Log(), Log10(), Sqrt(), Exp(), integer();

static struct { /* Keywords */

 char *name;

 int kval;

} keywords[] = {

 "proc",   PROC,

 "func",   FUNC,

 "return", RETURN,

 "if",     IF,

 "else",   ELSE,

 "while",  WHILE,

 "print",  PRINT,

 "read",   READ,

 0,        0,

};

static struct { /* Constants */

 char *name;

 double eval;

} consts[] = {

 "PI",    3.14159265358979323846,

 "E",     2.71828182845904523536,

 "GAMMA", 0.57721566490153286060, /* Euler */

 "DEG",  57.29577951308232087680, /* deg/radian */


Керниган Брайан Уилсон читать все книги автора по порядку

Керниган Брайан Уилсон - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки My-Library.Info.


UNIX — универсальная среда программирования отзывы

Отзывы читателей о книге UNIX — универсальная среда программирования, автор: Керниган Брайан Уилсон. Читайте комментарии и мнения людей о произведении.

Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*
Все материалы на сайте размещаются его пользователями.
Администратор сайта не несёт ответственности за действия пользователей сайта..
Вы можете направить вашу жалобу на почту librarybook.ru@gmail.com или заполнить форму обратной связи.