xref: /csrg-svn/usr.bin/pascal/src/yyseman.c (revision 14749)
1795Speter /* Copyright (c) 1979 Regents of the University of California */
2795Speter 
3*14749Sthien #ifndef lint
4*14749Sthien static	char sccsid[] = "@(#)yyseman.c 1.2 08/19/83";
5*14749Sthien #endif
6795Speter 
7795Speter #include "whoami.h"
8795Speter #include "0.h"
9*14749Sthien #include "tree_ty.h"	/* must be included for yy.h */
10795Speter #include "yy.h"
11795Speter 
12795Speter /*
13795Speter  * Assign semantics to a generated token
14795Speter  *
15795Speter  * Most terminals have a semantic value the current
16795Speter  * input line.  If they are generated they are flagged
17795Speter  * by having this number negated.
18795Speter  *
19795Speter  * The terminals which have true semantics such
20795Speter  * as identifiers and strings are instead given
21795Speter  * semantic value NIL here - we do not attempt
22795Speter  * to do repair, e.g. by giving generated integers
23795Speter  * the value 1, etc.
24795Speter  */
25795Speter nullsem(ch)
26795Speter 	int ch;
27795Speter {
28795Speter 
29795Speter 	switch (ch) {
30795Speter 		case YID:
31795Speter 		case YINT:
32795Speter 		case YNUMB:
33795Speter 		case YBINT:
34795Speter 		case YSTRING:
35795Speter 			return (NIL);
36795Speter 		default:
37795Speter 			return (-yyeline);
38795Speter 	}
39795Speter }
40