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

##### Functions

    options           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[] = "@(#)yyoptions.c	5.1 (Berkeley) 6/5/85";
       9: #endif not lint
      10:
      11: #include "whoami.h"
      12: #include "0.h"
      13: #include "tree_ty.h"    /* must be included for yy.h */
      14: #include "yy.h"
      15:
      16: /*
      17:  * Options processes the option
      18:  * strings which can appear in
      19:  * comments and returns the next character.
      20:  */
      21: options()
      22: {
      23:     register c;
      24: #ifdef PI0
      25:     register ch;
      26: #endif
      27:     register char *optp;
      28:
      29:     c = readch();
      30:     if (c != '$')
      31:         return (c);
      32:     do {
      33:         c = readch();
      34: #		ifdef PI0
      35:         ch = c;
      36: #		endif
      37:         switch (c) {
      38:             case 'b':
      39:                 optp = &opt( 'b' );
      40:                 c = readch();
      41:                 if (!digit(c))
      42:                     return (c);
      43:                 *optp = c - '0';
      44:                 c = readch();
      45:                 break;
      46: #		    ifdef PC
      47:             case 'C':
      48:                     /*
      49: 				     *	C is a replacement for t, fake it.
      50: 				     */
      51:                 c = 't';
      52:                 /* and fall through */
      53:             case 'g':
      54: #		    endif PC
      55:             case 'k':
      56:             case 'l':
      57:             case 'n':
      58:             case 'p':
      59:             case 's':
      60:             case 't':
      61:             case 'u':
      62:             case 'w':
      63:             case 'z':
      64:                 optp = &opt( c );
      65:                 c = readch();
      66:                 if (c == '+') {
      67:                     *optp = 1;
      68:                     c = readch();
      69:                 } else if (c == '-') {
      70:                     *optp = 0;
      71:                     c = readch();
      72:                 } else {
      73:                     return (c);
      74:                 }
      75:                 break;
      76:             default:
      77:                     return (c);
      78:             }
      79: #ifdef PI0
      80:         send(ROSET, ch, *optp);
      81: #endif
      82:     } while (c == ',');
      83:     if ( opt( 'u' ) )
      84:         setuflg();
      85:     return (c);
      86: }

#### Defined functions

options defined in line 21; used 2 times

- in /usr/src/ucb/PORT/pascal/src/yylex.c line 232, 257

#### Defined variables

sccsid defined in line 8; never used

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