1*22209Sdist /* 2*22209Sdist * Copyright (c) 1980 Regents of the University of California. 3*22209Sdist * All rights reserved. The Berkeley software License Agreement 4*22209Sdist * specifies the terms and conditions for redistribution. 5*22209Sdist */ 6789Speter 714748Sthien #ifndef lint 8*22209Sdist static char sccsid[] = "@(#)yyoptions.c 5.1 (Berkeley) 06/05/85"; 9*22209Sdist #endif not lint 10789Speter 11789Speter #include "whoami.h" 12789Speter #include "0.h" 1314748Sthien #include "tree_ty.h" /* must be included for yy.h */ 14789Speter #include "yy.h" 15789Speter 16789Speter /* 17789Speter * Options processes the option 18789Speter * strings which can appear in 19789Speter * comments and returns the next character. 20789Speter */ 21789Speter options() 22789Speter { 2314748Sthien register c; 2414748Sthien #ifdef PI0 2514748Sthien register ch; 2614748Sthien #endif 27789Speter register char *optp; 28789Speter 29789Speter c = readch(); 30789Speter if (c != '$') 31789Speter return (c); 32789Speter do { 3314748Sthien c = readch(); 3414748Sthien # ifdef PI0 3514748Sthien ch = c; 3614748Sthien # endif 37789Speter switch (c) { 38789Speter case 'b': 39789Speter optp = &opt( 'b' ); 40789Speter c = readch(); 41789Speter if (!digit(c)) 42789Speter return (c); 43789Speter *optp = c - '0'; 44789Speter c = readch(); 45789Speter break; 46789Speter # ifdef PC 47789Speter case 'C': 48789Speter /* 49789Speter * C is a replacement for t, fake it. 50789Speter */ 51789Speter c = 't'; 52789Speter /* and fall through */ 53789Speter case 'g': 54789Speter # endif PC 55789Speter case 'k': 56789Speter case 'l': 57789Speter case 'n': 58789Speter case 'p': 59789Speter case 's': 60789Speter case 't': 61789Speter case 'u': 62789Speter case 'w': 63789Speter case 'z': 64789Speter optp = &opt( c ); 65789Speter c = readch(); 66789Speter if (c == '+') { 67789Speter *optp = 1; 68789Speter c = readch(); 69789Speter } else if (c == '-') { 70789Speter *optp = 0; 71789Speter c = readch(); 72789Speter } else { 73789Speter return (c); 74789Speter } 75789Speter break; 76789Speter default: 77789Speter return (c); 78789Speter } 79789Speter #ifdef PI0 80789Speter send(ROSET, ch, *optp); 81789Speter #endif 82789Speter } while (c == ','); 83789Speter if ( opt( 'u' ) ) 84789Speter setuflg(); 85789Speter return (c); 86789Speter } 87