# 2.11BSD#431 - /usr/src/ucb/PORT/pascal/pxp/error.c

##### Functions

    cerror            X
    error             X
    panic             X

##### Variables

    errpfx            X

       1: /*
       2:  * Copyright (c) 1980 Regents of the University of California.
       3:  * All rights reserved.  The Berkeley software License Agreement
       4:  * specifies the terms and conditions for redistribution.
       5:  */
       6:
       7: #ifndef lint
       8: static char sccsid[] = "@(#)error.c	5.1 (Berkeley) 6/5/85";
       9: #endif not lint
      10:
      11: /*
      12:  * pi - Pascal interpreter code translator
      13:  *
      14:  * Charles Haley, Bill Joy UCB
      15:  * Version 1.2 January 1979
      16:  *
      17:  *
      18:  * pxp - Pascal execution profiler
      19:  *
      20:  * Bill Joy UCB
      21:  * Version 1.2 January 1979
      22:  */
      23:
      24: #include "whoami.h"
      25: #include "0.h"
      26: #include "yy.h"
      27:
      28: #ifdef PXP
      29: extern  int yyline;
      30: extern  char errout;
      31: #endif
      32:
      33: char    errpfx  = 'E';
      34: extern  int yyline;
      35: /*
      36:  * Panic is called when impossible
      37:  * (supposedly, anyways) situations
      38:  * are encountered.
      39: #ifdef PI
      40:  * Panic messages should be short
      41:  * as they do not go to the message
      42:  * file.
      43: #endif
      44:  */
      45: panic(s)
      46:     char *s;
      47: {
      48:
      49: #ifdef DEBUG
      50:     fprintf(stderr, "Snark (%s) line=%d yyline=%d\n", s, line, yyline);
      51: #endif
      52: #ifdef PXP
      53:     Perror( "Snark in pxp", s);
      54: #endif
      55: #ifdef PI
      56:     Perror( "Snark in pi", s);
      57: #endif
      58:     pexit(DIED);
      59: }
      60:
      61: extern  char *errfile;
      62: /*
      63:  * Error is called for
      64:  * semantic errors and
      65:  * prints the error and
      66:  * a line number.
      67:  */
      68: error(a1, a2, a3, a4)
      69: {
      70: #ifdef PI
      71:     char buf[256];
      72:     register int i;
      73: #endif
      74: #ifdef PXP
      75: /*
      76: 	int ofout;
      77: */
      78: #endif
      79:
      80:     if (errpfx == 'w' && opt('w') != 0) {
      81:         errpfx == 'E';
      82:         return;
      83:     }
      84: #ifdef PXP
      85: /*
      86: 	flush();
      87: 	ofout = fout[0];
      88: 	fout[0] = errout;
      89: */
      90: #endif
      91: #ifdef PI
      92:     Enocascade = 0;
      93:     geterr(a1, buf);
      94:     a1 = buf;
      95: #endif
      96:     if (line < 0)
      97:         line = -line;
      98:     yySsync();
      99:     yysetfile(filename);
     100: #ifdef PI
     101:     if (errpfx == ' ') {
     102:         printf("  ");
     103:         for (i = line; i >= 10; i =/ 10)
     104:             putchar(' ');
     105:         printf("... ");
     106:     } else if (Enoline)
     107:         printf("  %c - ", errpfx);
     108:     else
     109: #endif
     110:         fprintf(stderr, "%c %d - ", errpfx, line);
     111:     fprintf(stderr, a1, a2, a3, a4);
     112:     if (errpfx == 'E')
     113: #ifdef PI
     114:         eflg++, cgenflg++;
     115: #endif
     116: #ifdef PXP
     117:         eflg++;
     118: #endif
     119:     errpfx = 'E';
     120: #ifdef PI
     121:     if (Eholdnl)
     122:         Eholdnl = 0;
     123:     else
     124: #endif
     125:         putc('\n', stderr);
     126: #ifdef PXP
     127: /*
     128: 	flush();
     129: 	fout[0] = ofout;
     130: */
     131: #endif
     132: }
     133:
     134: #ifdef PI
     135: cerror(a1, a2, a3, a4)
     136: {
     137:
     138:     if (Enocascade)
     139:         return;
     140:     setpfx(' ');
     141:     error(a1, a2, a3, a4);
     142: }
     143: #endif

#### Defined functions

cerror defined in line 135; never used
error defined in line 68; used 3 times

- in line 141
- in /usr/src/ucb/PORT/pascal/pxp/fdec.c line 255
- in /usr/src/ucb/PORT/pascal/pxp/yyerror.c line 116

panic defined in line 45; used 10 times

- in /usr/src/ucb/PORT/pascal/pxp/const.c line 92
- in /usr/src/ucb/PORT/pascal/pxp/fdec.c line 64
- in /usr/src/ucb/PORT/pascal/pxp/lval.c line 49
- in /usr/src/ucb/PORT/pascal/pxp/pp.c line 295
- in /usr/src/ucb/PORT/pascal/pxp/rmothers.c line 90-93(2)
- in /usr/src/ucb/PORT/pascal/pxp/rval.c line 70
- in /usr/src/ucb/PORT/pascal/pxp/stat.c line 73
- in /usr/src/ucb/PORT/pascal/pxp/type.c line 87
- in /usr/src/ucb/PORT/pascal/pxp/yymain.c line 165

#### Defined variables

errpfx defined in line 33; used 7 times

- in line 80-81(2), 101, 107-112(3), 119

sccsid defined in line 8; never used

Last modified: 1985-06-06 Generated: 2016-12-26 | Generated by src2html V0.67 page hit count: 1146 |