xref: /csrg-svn/usr.bin/pascal/src/yyseman.c (revision 22217)
1*22217Sdist /*
2*22217Sdist  * Copyright (c) 1980 Regents of the University of California.
3*22217Sdist  * All rights reserved.  The Berkeley software License Agreement
4*22217Sdist  * specifies the terms and conditions for redistribution.
5*22217Sdist  */
6795Speter 
714749Sthien #ifndef lint
8*22217Sdist static char sccsid[] = "@(#)yyseman.c	5.1 (Berkeley) 06/05/85";
9*22217Sdist #endif not lint
10795Speter 
11795Speter #include "whoami.h"
12795Speter #include "0.h"
1314749Sthien #include "tree_ty.h"	/* must be included for yy.h */
14795Speter #include "yy.h"
15795Speter 
16795Speter /*
17795Speter  * Assign semantics to a generated token
18795Speter  *
19795Speter  * Most terminals have a semantic value the current
20795Speter  * input line.  If they are generated they are flagged
21795Speter  * by having this number negated.
22795Speter  *
23795Speter  * The terminals which have true semantics such
24795Speter  * as identifiers and strings are instead given
25795Speter  * semantic value NIL here - we do not attempt
26795Speter  * to do repair, e.g. by giving generated integers
27795Speter  * the value 1, etc.
28795Speter  */
29795Speter nullsem(ch)
30795Speter 	int ch;
31795Speter {
32795Speter 
33795Speter 	switch (ch) {
34795Speter 		case YID:
35795Speter 		case YINT:
36795Speter 		case YNUMB:
37795Speter 		case YBINT:
38795Speter 		case YSTRING:
39795Speter 			return (NIL);
40795Speter 		default:
41795Speter 			return (-yyeline);
42795Speter 	}
43795Speter }
44