File:  [CSRG BSD Unix] / 43BSD / contrib / courier / compiler / scanner.l
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 16:12:55 2018 UTC (8 years, 1 month ago) by root
Branches: MAIN, BSD
CVS tags: HEAD, BSD43
BSD 4.3

%{
#ifndef lint
static char sccsid[] = "@(#)scanner.l	4.2 (Berkeley) 7/7/83";
#endif

#include "Courier.h"
#include "y.tab.h"
%}

%%

--.*\n		;
[ \t\n]		;
ARRAY		{ return (ARRAY); }
BEGIN		{ return (_BEGIN); }
BOOLEAN		{ return (BOOLEAN); }
CARDINAL	{ return (CARDINAL); }
CHOICE		{ return (CHOICE); }
DEPENDS		{ return (DEPENDS); }
END		{ return (END); }
ERROR		{ return (ERROR); }
INTEGER		{ return (INTEGER); }
LONG		{ return (LONG); }
OF		{ return (OF); }
PROCEDURE	{ return (PROCEDURE); }
PROGRAM		{ return (PROGRAM); }
RECORD		{ return (RECORD); }
REPORTS		{ return (REPORTS); }
RETURNS		{ return (RETURNS); }
SEQUENCE	{ return (SEQUENCE); }
STRING		{ return (STRING); }
TYPE		{ return (TYPE); }
UNSPECIFIED	{ return (UNSPECIFIED); }
UPON		{ return (UPON); }
VERSION		{ return (VERSION); }

-?[0-9]+			{
				/*
				 * Only decimal numbers are supported.
				 */
				yylval.object = make(O_CONSTANT, atoi(yytext));
				return (number);
			}

[a-zA-Z_][a-zA-Z0-9_]*	{
				yylval.object = make(O_SYMBOL, yytext);
				return (identifier);
			}

.			{
				return ((int) yytext[0]);
			}

%%

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.