update for flex-2.3.8 from prep
This commit is contained in:
parent
2820a4755d
commit
50a88402c8
@ -2,50 +2,36 @@ Flex carries the copyright used for BSD software, slightly modified
|
||||
because it originated at the Lawrence Berkeley (not Livermore!) Laboratory,
|
||||
which operates under a contract with the Department of Energy:
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1991 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Vern Paxson of Lawrence Berkeley Laboratory.
|
||||
*
|
||||
* The United States Government has rights in this work pursuant
|
||||
* to contract no. DE-AC03-76SF00098 between the United States
|
||||
* Department of Energy and the University of California.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)COPYING 5.2 (Berkeley) 4/12/91
|
||||
*/
|
||||
Copyright (c) 1990 The Regents of the University of California.
|
||||
All rights reserved.
|
||||
|
||||
This code is derived from software contributed to Berkeley by
|
||||
Vern Paxson.
|
||||
|
||||
The United States Government has rights in this work pursuant
|
||||
to contract no. DE-AC03-76SF00098 between the United States
|
||||
Department of Energy and the University of California.
|
||||
|
||||
Redistribution and use in source and binary forms are permitted
|
||||
provided that: (1) source distributions retain this entire
|
||||
copyright notice and comment, and (2) distributions including
|
||||
binaries display the following acknowledgement: ``This product
|
||||
includes software developed by the University of California,
|
||||
Berkeley and its contributors'' in the documentation or other
|
||||
materials provided with the distribution and in all advertising
|
||||
materials mentioning features or use of this software. Neither the
|
||||
name of the University nor the names of its contributors may be
|
||||
used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
|
||||
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE.
|
||||
|
||||
This basically says "do whatever you please with this software except
|
||||
remove this notice".
|
||||
remove this notice or take advantage of the University's (or the flex
|
||||
authors') name".
|
||||
|
||||
Note that the "flex.skel" scanner skeleton carries no copyright notice.
|
||||
You are free to do whatever you please with scanners generated using flex;
|
||||
|
@ -1,48 +1,35 @@
|
||||
/* ccl - routines for character classes */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1990 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Vern Paxson of Lawrence Berkeley Laboratory.
|
||||
* Vern Paxson.
|
||||
*
|
||||
* The United States Government has rights in this work pursuant
|
||||
* to contract no. DE-AC03-76SF00098 between the United States
|
||||
* Department of Energy and the University of California.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* Redistribution and use in source and binary forms are permitted provided
|
||||
* that: (1) source distributions retain this entire copyright notice and
|
||||
* comment, and (2) distributions including binaries display the following
|
||||
* acknowledgement: ``This product includes software developed by the
|
||||
* University of California, Berkeley and its contributors'' in the
|
||||
* documentation or other materials provided with the distribution and in
|
||||
* all advertising materials mentioning features or use of this software.
|
||||
* Neither the name of the University nor the names of its contributors may
|
||||
* be used to endorse or promote products derived from this software without
|
||||
* specific prior written permission.
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
*/
|
||||
|
||||
#ifndef lint
|
||||
static char sccsid[] = "@(#)ccl.c 5.2 (Berkeley) 6/18/90";
|
||||
#endif /* not lint */
|
||||
|
||||
/* ccl - routines for character classes */
|
||||
static char rcsid[] =
|
||||
"@(#) $Header: /cvsroot/src/gnu/usr.bin/lex/Attic/ccl.c,v 1.2 1993/05/04 07:44:41 cgd Exp $ (LBL)";
|
||||
#endif
|
||||
|
||||
#include "flexdef.h"
|
||||
|
||||
|
@ -1,51 +1,39 @@
|
||||
/* dfa - DFA construction routines */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1990 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Vern Paxson of Lawrence Berkeley Laboratory.
|
||||
* Vern Paxson.
|
||||
*
|
||||
* The United States Government has rights in this work pursuant
|
||||
* to contract no. DE-AC03-76SF00098 between the United States
|
||||
* Department of Energy and the University of California.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* Redistribution and use in source and binary forms are permitted provided
|
||||
* that: (1) source distributions retain this entire copyright notice and
|
||||
* comment, and (2) distributions including binaries display the following
|
||||
* acknowledgement: ``This product includes software developed by the
|
||||
* University of California, Berkeley and its contributors'' in the
|
||||
* documentation or other materials provided with the distribution and in
|
||||
* all advertising materials mentioning features or use of this software.
|
||||
* Neither the name of the University nor the names of its contributors may
|
||||
* be used to endorse or promote products derived from this software without
|
||||
* specific prior written permission.
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
*/
|
||||
|
||||
#ifndef lint
|
||||
static char sccsid[] = "@(#)dfa.c 5.2 (Berkeley) 6/18/90";
|
||||
#endif /* not lint */
|
||||
|
||||
/* dfa - DFA construction routines */
|
||||
static char rcsid[] =
|
||||
"@(#) $Header: /cvsroot/src/gnu/usr.bin/lex/Attic/dfa.c,v 1.2 1993/05/04 07:44:42 cgd Exp $ (LBL)";
|
||||
#endif
|
||||
|
||||
#include "flexdef.h"
|
||||
|
||||
|
||||
/* declare functions that have forward references */
|
||||
|
||||
void dump_associated_rules PROTO((FILE*, int));
|
||||
@ -1024,9 +1012,9 @@ int symlist[];
|
||||
|
||||
if ( tch != SYM_EPSILON )
|
||||
{
|
||||
if ( tch < -lastccl || tch > csize )
|
||||
if ( tch < -lastccl || tch >= csize )
|
||||
{
|
||||
if ( tch > csize && tch <= CSIZE )
|
||||
if ( tch >= csize && tch <= CSIZE )
|
||||
flexerror( "scanner requires -8 flag" );
|
||||
|
||||
else
|
||||
|
@ -1,48 +1,35 @@
|
||||
/* ecs - equivalence class routines */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1990 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Vern Paxson of Lawrence Berkeley Laboratory.
|
||||
* Vern Paxson.
|
||||
*
|
||||
* The United States Government has rights in this work pursuant
|
||||
* to contract no. DE-AC03-76SF00098 between the United States
|
||||
* Department of Energy and the University of California.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* Redistribution and use in source and binary forms are permitted provided
|
||||
* that: (1) source distributions retain this entire copyright notice and
|
||||
* comment, and (2) distributions including binaries display the following
|
||||
* acknowledgement: ``This product includes software developed by the
|
||||
* University of California, Berkeley and its contributors'' in the
|
||||
* documentation or other materials provided with the distribution and in
|
||||
* all advertising materials mentioning features or use of this software.
|
||||
* Neither the name of the University nor the names of its contributors may
|
||||
* be used to endorse or promote products derived from this software without
|
||||
* specific prior written permission.
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
*/
|
||||
|
||||
#ifndef lint
|
||||
static char sccsid[] = "@(#)ecs.c 5.2 (Berkeley) 6/18/90";
|
||||
#endif /* not lint */
|
||||
|
||||
/* ecs - equivalence class routines */
|
||||
static char rcsid[] =
|
||||
"@(#) $Header: /cvsroot/src/gnu/usr.bin/lex/Attic/ecs.c,v 1.2 1993/05/04 07:44:45 cgd Exp $ (LBL)";
|
||||
#endif
|
||||
|
||||
#include "flexdef.h"
|
||||
|
||||
|
@ -1,46 +1,32 @@
|
||||
/* flexdef - definitions file for flex */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1990 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Vern Paxson of Lawrence Berkeley Laboratory.
|
||||
* Vern Paxson.
|
||||
*
|
||||
* The United States Government has rights in this work pursuant
|
||||
* The United States Government has rights in this work pursuant
|
||||
* to contract no. DE-AC03-76SF00098 between the United States
|
||||
* Department of Energy and the University of California.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)flexdef.h 5.4 (Berkeley) 2/14/91
|
||||
* Redistribution and use in source and binary forms are permitted provided
|
||||
* that: (1) source distributions retain this entire copyright notice and
|
||||
* comment, and (2) distributions including binaries display the following
|
||||
* acknowledgement: ``This product includes software developed by the
|
||||
* University of California, Berkeley and its contributors'' in the
|
||||
* documentation or other materials provided with the distribution and in
|
||||
* all advertising materials mentioning features or use of this software.
|
||||
* Neither the name of the University nor the names of its contributors may
|
||||
* be used to endorse or promote products derived from this software without
|
||||
* specific prior written permission.
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
*/
|
||||
|
||||
/* flexdef - definitions file for flex */
|
||||
/* @(#) $Header: /cvsroot/src/gnu/usr.bin/lex/Attic/flexdef.h,v 1.2 1993/05/04 07:44:46 cgd Exp $ (LBL) */
|
||||
|
||||
#ifndef FILE
|
||||
#include <stdio.h>
|
||||
@ -70,7 +56,25 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef USG
|
||||
#define SYS_V
|
||||
#endif
|
||||
|
||||
#if defined(SYS_V) || defined(__386BSD__) || defined(__NetBSD__)
|
||||
#include <string.h>
|
||||
#else
|
||||
|
||||
#include <strings.h>
|
||||
#ifdef lint
|
||||
char *sprintf(); /* keep lint happy */
|
||||
#endif
|
||||
#ifdef SCO_UNIX
|
||||
void *memset();
|
||||
#else
|
||||
char *memset();
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef AMIGA
|
||||
#define bzero(s, n) setmem((char *)(s), n, '\0')
|
||||
@ -86,6 +90,21 @@
|
||||
#define SHORT_FILE_NAMES
|
||||
#endif
|
||||
|
||||
#ifdef __STDC__
|
||||
|
||||
#ifdef __GNUC__
|
||||
#include <stddef.h>
|
||||
void *malloc( size_t );
|
||||
void free( void* );
|
||||
#else
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
|
||||
#else /* ! __STDC__ */
|
||||
char *malloc(), *realloc();
|
||||
#endif
|
||||
|
||||
|
||||
/* maximum line length we'll have to deal with */
|
||||
#define MAXLINE BUFSIZ
|
||||
|
||||
@ -109,6 +128,11 @@
|
||||
#define true 1
|
||||
#define false 0
|
||||
|
||||
#include "pathnames.h"
|
||||
|
||||
#ifndef DEFAULT_SKELETON_FILE
|
||||
#define DEFAULT_SKELETON_FILE _PATH_SKELETONFILE
|
||||
#endif
|
||||
|
||||
/* special chk[] values marking the slots taking by end-of-buffer and action
|
||||
* numbers
|
||||
|
@ -1,45 +1,4 @@
|
||||
.\" Copyright (c) 1991 The Regents of the University of California.
|
||||
.\" All rights reserved.
|
||||
.\"
|
||||
.\" new copyright; att/bsd/shared
|
||||
.\" This code is derived from software contributed to Berkeley by
|
||||
.\" Vern Paxson of Lawrence Berkeley Laboratory.
|
||||
.\"
|
||||
.\" The United States Government has rights in this work pursuant
|
||||
.\" to contract no. DE-AC03-76SF00098 between the United States
|
||||
.\" Department of Energy and the University of California.
|
||||
.\"
|
||||
.\" Redistribution and use in source and binary forms, with or without
|
||||
.\" modification, are permitted provided that the following conditions
|
||||
.\" are met:
|
||||
.\" 1. Redistributions of source code must retain the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer.
|
||||
.\" 2. Redistributions in binary form must reproduce the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer in the
|
||||
.\" documentation and/or other materials provided with the distribution.
|
||||
.\" 3. All advertising materials mentioning features or use of this software
|
||||
.\" must display the following acknowledgement:
|
||||
.\" This product includes software developed by the University of
|
||||
.\" California, Berkeley and its contributors.
|
||||
.\" 4. Neither the name of the University nor the names of its contributors
|
||||
.\" may be used to endorse or promote products derived from this software
|
||||
.\" without specific prior written permission.
|
||||
.\"
|
||||
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)flexdoc.1 5.2 (Berkeley) 4/12/91
|
||||
.\"
|
||||
.TH FLEX 1 "April 12, 1991"
|
||||
.TH FLEX 1 "26 May 1990" "Version 2.3"
|
||||
.SH NAME
|
||||
flex - fast lexical analyzer generator
|
||||
.SH SYNOPSIS
|
||||
@ -146,7 +105,7 @@ A somewhat more complicated example:
|
||||
}
|
||||
|
||||
{DIGIT}+"."{DIGIT}* {
|
||||
printf( "A float: %s (%d)\\n", yytext,
|
||||
printf( "A float: %s (%g)\\n", yytext,
|
||||
atof( yytext ) );
|
||||
}
|
||||
|
||||
@ -827,7 +786,10 @@ section of the input file):
|
||||
%{
|
||||
#undef YY_INPUT
|
||||
#define YY_INPUT(buf,result,max_size) \\
|
||||
result = ((buf[0] = getchar()) == EOF) ? YY_NULL : 1;
|
||||
{ \\
|
||||
int c = getchar(); \\
|
||||
result = (c == EOF) ? YY_NULL : (buf[0] = c, 1); \\
|
||||
}
|
||||
%}
|
||||
|
||||
.fi
|
||||
@ -2082,6 +2044,99 @@ is fully compatible with
|
||||
.I lex
|
||||
with the following exceptions:
|
||||
.IP -
|
||||
The undocumented
|
||||
.I lex
|
||||
scanner internal variable
|
||||
.B yylineno
|
||||
is not supported. It is difficult to support this option efficiently,
|
||||
since it requires examining every character scanned and reexamining
|
||||
the characters when the scanner backs up.
|
||||
Things get more complicated when the end of buffer or file is reached or a
|
||||
NUL is scanned (since the scan must then be restarted with the proper line
|
||||
number count), or the user uses the yyless(), unput(), or REJECT actions,
|
||||
or the multiple input buffer functions.
|
||||
.IP
|
||||
The fix is to add rules which, upon seeing a newline, increment
|
||||
yylineno. This is usually an easy process, though it can be a drag if some
|
||||
of the patterns can match multiple newlines along with other characters.
|
||||
.IP
|
||||
yylineno is not part of the POSIX draft.
|
||||
.IP -
|
||||
The
|
||||
.B input()
|
||||
routine is not redefinable, though it may be called to read characters
|
||||
following whatever has been matched by a rule. If
|
||||
.B input()
|
||||
encounters an end-of-file the normal
|
||||
.B yywrap()
|
||||
processing is done. A ``real'' end-of-file is returned by
|
||||
.B input()
|
||||
as
|
||||
.I EOF.
|
||||
.IP
|
||||
Input is instead controlled by redefining the
|
||||
.B YY_INPUT
|
||||
macro.
|
||||
.IP
|
||||
The
|
||||
.I flex
|
||||
restriction that
|
||||
.B input()
|
||||
cannot be redefined is in accordance with the POSIX draft, but
|
||||
.B YY_INPUT
|
||||
has not yet been accepted into the draft (and probably won't; it looks
|
||||
like the draft will simply not specify any way of controlling the
|
||||
scanner's input other than by making an initial assignment to
|
||||
.I yyin).
|
||||
.IP -
|
||||
.I flex
|
||||
scanners do not use stdio for input. Because of this, when writing an
|
||||
interactive scanner one must explicitly call fflush() on the
|
||||
stream associated with the terminal after writing out a prompt.
|
||||
With
|
||||
.I lex
|
||||
such writes are automatically flushed since
|
||||
.I lex
|
||||
scanners use
|
||||
.B getchar()
|
||||
for their input. Also, when writing interactive scanners with
|
||||
.I flex,
|
||||
the
|
||||
.B -I
|
||||
flag must be used.
|
||||
.IP -
|
||||
.I flex
|
||||
scanners are not as reentrant as
|
||||
.I lex
|
||||
scanners. In particular, if you have an interactive scanner and
|
||||
an interrupt handler which long-jumps out of the scanner, and
|
||||
the scanner is subsequently called again, you may get the following
|
||||
message:
|
||||
.nf
|
||||
|
||||
fatal flex scanner internal error--end of buffer missed
|
||||
|
||||
.fi
|
||||
To reenter the scanner, first use
|
||||
.nf
|
||||
|
||||
yyrestart( yyin );
|
||||
|
||||
.fi
|
||||
.IP -
|
||||
.B output()
|
||||
is not supported.
|
||||
Output from the
|
||||
.B ECHO
|
||||
macro is done to the file-pointer
|
||||
.I yyout
|
||||
(default
|
||||
.I stdout).
|
||||
.IP
|
||||
The POSIX draft mentions that an
|
||||
.B output()
|
||||
routine exists but currently gives no details as to what it does.
|
||||
.IP -
|
||||
.I lex
|
||||
does not support exclusive start conditions (%x), though they
|
||||
are in the current POSIX draft.
|
||||
@ -2125,49 +2180,6 @@ one must use "[^\\]]". The latter works with
|
||||
.I lex,
|
||||
too.
|
||||
.IP -
|
||||
The undocumented
|
||||
.I lex
|
||||
scanner internal variable
|
||||
.B yylineno
|
||||
is not supported. (The variable is not part of the POSIX draft.)
|
||||
.IP -
|
||||
The
|
||||
.B input()
|
||||
routine is not redefinable, though it may be called to read characters
|
||||
following whatever has been matched by a rule. If
|
||||
.B input()
|
||||
encounters an end-of-file the normal
|
||||
.B yywrap()
|
||||
processing is done. A ``real'' end-of-file is returned by
|
||||
.B input()
|
||||
as
|
||||
.I EOF.
|
||||
.IP
|
||||
Input is instead controlled by redefining the
|
||||
.B YY_INPUT
|
||||
macro.
|
||||
.IP
|
||||
The
|
||||
.I flex
|
||||
restriction that
|
||||
.B input()
|
||||
cannot be redefined is in accordance with the POSIX draft, but
|
||||
.B YY_INPUT
|
||||
has not yet been accepted into the draft.
|
||||
.IP -
|
||||
.B output()
|
||||
is not supported.
|
||||
Output from the
|
||||
.B ECHO
|
||||
macro is done to the file-pointer
|
||||
.I yyout
|
||||
(default
|
||||
.I stdout).
|
||||
.IP
|
||||
The POSIX draft mentions that an
|
||||
.B output()
|
||||
routine exists but currently gives no details as to what it does.
|
||||
.IP -
|
||||
The
|
||||
.I lex
|
||||
.B %r
|
||||
@ -2179,7 +2191,7 @@ If you are providing your own yywrap() routine, you must include a
|
||||
the "#undef" will have to be enclosed in %{}'s.
|
||||
.IP
|
||||
The POSIX draft
|
||||
specifies that yywrap() is a function and this is unlikely to change; so
|
||||
specifies that yywrap() is a function and this is very unlikely to change; so
|
||||
.I flex users are warned
|
||||
that
|
||||
.B yywrap()
|
||||
@ -2354,6 +2366,17 @@ Your scanner specification includes recognizing 8-bit characters and
|
||||
you did not specify the -8 flag (and your site has not installed flex
|
||||
with -8 as the default).
|
||||
.LP
|
||||
.I
|
||||
fatal flex scanner internal error--end of buffer missed -
|
||||
This can occur in an scanner which is reentered after a long-jump
|
||||
has jumped out (or over) the scanner's activation frame. Before
|
||||
reentering the scanner, use:
|
||||
.nf
|
||||
|
||||
yyrestart( yyin );
|
||||
|
||||
.fi
|
||||
.LP
|
||||
.I too many %t classes! -
|
||||
You managed to put every single character into its own %t class.
|
||||
.I flex
|
||||
@ -2375,7 +2398,7 @@ Jacobson. The implementation was done by Kevin Gong and Vern Paxson.
|
||||
Thanks to the many
|
||||
.I flex
|
||||
beta-testers, feedbackers, and contributors, especially Casey
|
||||
Leedom, benson@odi.com,
|
||||
Leedom, benson@odi.com, Keith Bostic,
|
||||
Frederic Brehm, Nick Christopher, Jason Coughlin,
|
||||
Scott David Daniels, Leo Eskin,
|
||||
Chris Faylor, Eric Goldman, Eric
|
||||
@ -2412,12 +2435,13 @@ Send comments to:
|
||||
.nf
|
||||
|
||||
Vern Paxson
|
||||
Computer Science Department
|
||||
4126 Upson Hall
|
||||
Cornell University
|
||||
Ithaca, NY 14853-7501
|
||||
Computer Systems Engineering
|
||||
Bldg. 46A, Room 1123
|
||||
Lawrence Berkeley Laboratory
|
||||
University of California
|
||||
Berkeley, CA 94720
|
||||
|
||||
vern@cs.cornell.edu
|
||||
decvax!cornell!vern
|
||||
vern@ee.lbl.gov
|
||||
ucbvax!ee.lbl.gov!vern
|
||||
|
||||
.fi
|
||||
|
@ -1,51 +1,39 @@
|
||||
/* gen - actual generation (writing) of flex scanners */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1990 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Vern Paxson of Lawrence Berkeley Laboratory.
|
||||
* Vern Paxson.
|
||||
*
|
||||
* The United States Government has rights in this work pursuant
|
||||
* to contract no. DE-AC03-76SF00098 between the United States
|
||||
* Department of Energy and the University of California.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* Redistribution and use in source and binary forms are permitted provided
|
||||
* that: (1) source distributions retain this entire copyright notice and
|
||||
* comment, and (2) distributions including binaries display the following
|
||||
* acknowledgement: ``This product includes software developed by the
|
||||
* University of California, Berkeley and its contributors'' in the
|
||||
* documentation or other materials provided with the distribution and in
|
||||
* all advertising materials mentioning features or use of this software.
|
||||
* Neither the name of the University nor the names of its contributors may
|
||||
* be used to endorse or promote products derived from this software without
|
||||
* specific prior written permission.
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
*/
|
||||
|
||||
#ifndef lint
|
||||
static char sccsid[] = "@(#)gen.c 5.2 (Berkeley) 6/18/90";
|
||||
#endif /* not lint */
|
||||
|
||||
/* gen - actual generation (writing) of flex scanners */
|
||||
static char rcsid[] =
|
||||
"@(#) $Header: /cvsroot/src/gnu/usr.bin/lex/Attic/gen.c,v 1.2 1993/05/04 07:44:53 cgd Exp $ (LBL)";
|
||||
#endif
|
||||
|
||||
#include "flexdef.h"
|
||||
|
||||
|
||||
/* declare functions that have forward references */
|
||||
|
||||
void gen_next_state PROTO((int));
|
||||
@ -688,11 +676,7 @@ void gen_NUL_trans()
|
||||
|
||||
do_indent();
|
||||
|
||||
if ( interactive )
|
||||
printf( "yy_is_jam = (yy_base[yy_current_state] == %d);\n",
|
||||
jambase );
|
||||
else
|
||||
printf( "yy_is_jam = (yy_current_state == %d);\n", jamstate );
|
||||
printf( "yy_is_jam = (yy_current_state == %d);\n", jamstate );
|
||||
}
|
||||
|
||||
/* if we've entered an accepting state, backtrack; note that
|
||||
@ -811,7 +795,7 @@ void gentabs()
|
||||
|
||||
if ( variable_trailing_context_rules &&
|
||||
! (accnum & YY_TRAILING_HEAD_MASK) &&
|
||||
accnum > 0 &&
|
||||
accnum > 0 && accnum <= num_rules &&
|
||||
rule_type[accnum] == RULE_VARIABLE )
|
||||
{
|
||||
/* special hack to flag accepting number as part
|
||||
@ -1137,9 +1121,10 @@ void make_tables()
|
||||
puts( "static int yy_looking_for_trail_begin = 0;" );
|
||||
puts( "static int yy_full_lp;" );
|
||||
puts( "static int *yy_full_state;" );
|
||||
printf( "#define YY_TRAILING_MASK 0x%x\n", YY_TRAILING_MASK );
|
||||
printf( "#define YY_TRAILING_MASK 0x%x\n",
|
||||
(unsigned int) YY_TRAILING_MASK );
|
||||
printf( "#define YY_TRAILING_HEAD_MASK 0x%x\n",
|
||||
YY_TRAILING_HEAD_MASK );
|
||||
(unsigned int) YY_TRAILING_HEAD_MASK );
|
||||
}
|
||||
|
||||
puts( "#define REJECT \\" );
|
||||
@ -1210,6 +1195,7 @@ void make_tables()
|
||||
|
||||
if ( yymore_used )
|
||||
{
|
||||
indent_puts( "yy_more_len = 0;" );
|
||||
indent_puts( "yy_doing_yy_more = yy_more_flag;" );
|
||||
indent_puts( "if ( yy_doing_yy_more )" );
|
||||
indent_up();
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,21 +1,12 @@
|
||||
/* A lexical scanner generated by flex */
|
||||
|
||||
/* scanner skeleton version:
|
||||
*
|
||||
* $Header: /cvsroot/src/gnu/usr.bin/lex/Attic/lex.skel,v 1.1.1.1 1993/03/21 09:45:37 cgd Exp $
|
||||
*
|
||||
* @(#)lex.skel 5.5 (Berkeley) 5/6/91
|
||||
* $Header: /cvsroot/src/gnu/usr.bin/lex/Attic/lex.skel,v 1.2 1993/05/04 07:45:02 cgd Exp $
|
||||
*/
|
||||
|
||||
#define FLEX_SCANNER
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#ifdef __STDC__
|
||||
|
||||
#define YY_USE_PROTOS
|
||||
#endif
|
||||
|
||||
|
||||
/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
|
||||
@ -28,11 +19,41 @@
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <osfcn.h>
|
||||
|
||||
/* use prototypes in function declarations */
|
||||
#define YY_USE_PROTOS
|
||||
|
||||
/* the "const" storage-class-modifier is valid */
|
||||
#define YY_USE_CONST
|
||||
|
||||
#else /* ! __cplusplus */
|
||||
|
||||
#ifdef __STDC__
|
||||
|
||||
#ifdef __GNUC__
|
||||
#include <stddef.h>
|
||||
void *malloc( size_t );
|
||||
void free( void* );
|
||||
#else
|
||||
#include <stdlib.h>
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#define YY_USE_PROTOS
|
||||
#define YY_USE_CONST
|
||||
|
||||
#endif /* __STDC__ */
|
||||
#endif /* ! __cplusplus */
|
||||
|
||||
|
||||
#ifdef __TURBOC__
|
||||
#define YY_USE_CONST
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef YY_USE_CONST
|
||||
#define const
|
||||
#endif
|
||||
|
||||
|
||||
@ -40,6 +61,13 @@
|
||||
#define YY_PROTO(proto) proto
|
||||
#else
|
||||
#define YY_PROTO(proto) ()
|
||||
/* we can't get here if it's an ANSI C compiler, or a C++ compiler,
|
||||
* so it's got to be a K&R compiler, and therefore there's no standard
|
||||
* place from which to include these definitions
|
||||
*/
|
||||
char *malloc();
|
||||
int free();
|
||||
int read();
|
||||
#endif
|
||||
|
||||
|
||||
@ -172,7 +200,7 @@ struct yy_buffer_state
|
||||
YY_CHAR *yy_ch_buf; /* input buffer */
|
||||
YY_CHAR *yy_buf_pos; /* current position in input buffer */
|
||||
|
||||
/* size of input buffer in bytes, not including room for EOB characters*/
|
||||
/* size of input buffer in bytes, not including room for EOB characters */
|
||||
int yy_buf_size;
|
||||
|
||||
/* number of characters read into yy_ch_buf, not including EOB characters */
|
||||
@ -482,7 +510,7 @@ static int yy_get_next_buffer()
|
||||
|
||||
if ( yy_n_chars == 0 )
|
||||
{
|
||||
if ( number_to_move == 1 )
|
||||
if ( number_to_move - YY_MORE_ADJ == 1 )
|
||||
{
|
||||
ret_val = EOB_ACT_END_OF_FILE;
|
||||
yy_current_buffer->yy_eof_status = EOF_DONE;
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* libmain - flex run-time support library "main" function */
|
||||
|
||||
/* $Header: /cvsroot/src/gnu/usr.bin/lex/lib/Attic/libmain.c,v 1.1.1.1 1993/03/21 09:45:37 cgd Exp $ */
|
||||
/* $Header: /cvsroot/src/gnu/usr.bin/lex/lib/Attic/libmain.c,v 1.2 1993/05/04 07:45:30 cgd Exp $ */
|
||||
|
||||
extern int yylex();
|
||||
|
||||
|
@ -1,41 +1,29 @@
|
||||
/* flex - tool to generate fast lexical analyzers */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1990 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Vern Paxson of Lawrence Berkeley Laboratory.
|
||||
* Vern Paxson.
|
||||
*
|
||||
* The United States Government has rights in this work pursuant
|
||||
* The United States Government has rights in this work pursuant
|
||||
* to contract no. DE-AC03-76SF00098 between the United States
|
||||
* Department of Energy and the University of California.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* Redistribution and use in source and binary forms are permitted provided
|
||||
* that: (1) source distributions retain this entire copyright notice and
|
||||
* comment, and (2) distributions including binaries display the following
|
||||
* acknowledgement: ``This product includes software developed by the
|
||||
* University of California, Berkeley and its contributors'' in the
|
||||
* documentation or other materials provided with the distribution and in
|
||||
* all advertising materials mentioning features or use of this software.
|
||||
* Neither the name of the University nor the names of its contributors may
|
||||
* be used to endorse or promote products derived from this software without
|
||||
* specific prior written permission.
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
*/
|
||||
|
||||
#ifndef lint
|
||||
@ -45,13 +33,12 @@ char copyright[] =
|
||||
#endif /* not lint */
|
||||
|
||||
#ifndef lint
|
||||
static char sccsid[] = "@(#)main.c 5.3 (Berkeley) 6/18/90";
|
||||
#endif /* not lint */
|
||||
static char rcsid[] =
|
||||
"@(#) $Header: /cvsroot/src/gnu/usr.bin/lex/Attic/main.c,v 1.2 1993/05/04 07:45:05 cgd Exp $ (LBL)";
|
||||
#endif
|
||||
|
||||
/* flex - tool to generate fast lexical analyzers */
|
||||
|
||||
#include "flexdef.h"
|
||||
#include "pathnames.h"
|
||||
|
||||
static char flex_version[] = "2.3";
|
||||
|
||||
@ -301,7 +288,7 @@ int status;
|
||||
if ( usemecs )
|
||||
putc( 'm', stderr );
|
||||
|
||||
if ( strcmp( skelname, _PATH_SKELETONFILE ) )
|
||||
if ( skelname && strcmp( skelname, DEFAULT_SKELETON_FILE ) )
|
||||
fprintf( stderr, " -S%s", skelname );
|
||||
|
||||
putc( '\n', stderr );
|
||||
@ -420,6 +407,8 @@ char **argv;
|
||||
|
||||
csize = DEFAULT_CSIZE;
|
||||
|
||||
starttime = flex_gettime();
|
||||
|
||||
program_name = argv[0];
|
||||
|
||||
/* read flags */
|
||||
@ -567,7 +556,7 @@ get_next_arg: /* used by -C and -S flags in lieu of a "continue 2" control */
|
||||
static char skeleton_name_storage[400];
|
||||
|
||||
skelname = skeleton_name_storage;
|
||||
(void) strcpy( skelname, _PATH_SKELETONFILE );
|
||||
(void) strcpy( skelname, DEFAULT_SKELETON_FILE );
|
||||
}
|
||||
|
||||
if ( ! use_stdout )
|
||||
@ -604,7 +593,6 @@ get_next_arg: /* used by -C and -S flags in lieu of a "continue 2" control */
|
||||
lastsc = 0;
|
||||
|
||||
/* initialize the statistics */
|
||||
starttime = flex_gettime();
|
||||
|
||||
if ( (skelfile = fopen( skelname, "r" )) == NULL )
|
||||
lerrsf( "can't open skeleton file %s", skelname );
|
||||
|
@ -1,53 +1,40 @@
|
||||
/* misc - miscellaneous flex routines */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1990 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Vern Paxson of Lawrence Berkeley Laboratory.
|
||||
* Vern Paxson.
|
||||
*
|
||||
* The United States Government has rights in this work pursuant
|
||||
* to contract no. DE-AC03-76SF00098 between the United States
|
||||
* Department of Energy and the University of California.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* Redistribution and use in source and binary forms are permitted provided
|
||||
* that: (1) source distributions retain this entire copyright notice and
|
||||
* comment, and (2) distributions including binaries display the following
|
||||
* acknowledgement: ``This product includes software developed by the
|
||||
* University of California, Berkeley and its contributors'' in the
|
||||
* documentation or other materials provided with the distribution and in
|
||||
* all advertising materials mentioning features or use of this software.
|
||||
* Neither the name of the University nor the names of its contributors may
|
||||
* be used to endorse or promote products derived from this software without
|
||||
* specific prior written permission.
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
*/
|
||||
|
||||
#ifndef lint
|
||||
static char sccsid[] = "@(#)misc.c 5.3 (Berkeley) 2/26/91";
|
||||
#endif /* not lint */
|
||||
|
||||
/* misc - miscellaneous flex routines */
|
||||
static char rcsid[] =
|
||||
"@(#) $Header: /cvsroot/src/gnu/usr.bin/lex/Attic/misc.c,v 1.2 1993/05/04 07:45:06 cgd Exp $ (LBL)";
|
||||
#endif
|
||||
|
||||
#include <ctype.h>
|
||||
#include <stdlib.h>
|
||||
#include "flexdef.h"
|
||||
|
||||
|
||||
/* ANSI C does not guarantee that isascii() is defined */
|
||||
#ifndef isascii
|
||||
#define isascii(c) ((c) <= 0177)
|
||||
@ -386,7 +373,7 @@ char msg[];
|
||||
|
||||
{
|
||||
fprintf( stderr, "%s: fatal internal error, %s\n", program_name, msg );
|
||||
flexend( 1 );
|
||||
exit( 1 );
|
||||
}
|
||||
|
||||
|
||||
@ -490,6 +477,38 @@ Char str[];
|
||||
}
|
||||
|
||||
|
||||
/* is_hex_digit - returns true if a character is a valid hex digit, false
|
||||
* otherwise
|
||||
*
|
||||
* synopsis:
|
||||
* int true_or_false, is_hex_digit();
|
||||
* int ch;
|
||||
* val = is_hex_digit( ch );
|
||||
*/
|
||||
|
||||
int is_hex_digit( ch )
|
||||
int ch;
|
||||
|
||||
{
|
||||
if ( isdigit( ch ) )
|
||||
return ( 1 );
|
||||
|
||||
switch ( clower( ch ) )
|
||||
{
|
||||
case 'a':
|
||||
case 'b':
|
||||
case 'c':
|
||||
case 'd':
|
||||
case 'e':
|
||||
case 'f':
|
||||
return ( 1 );
|
||||
|
||||
default:
|
||||
return ( 0 );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* line_directive_out - spit out a "# line" statement */
|
||||
|
||||
void line_directive_out( output_file_name )
|
||||
@ -597,9 +616,14 @@ Char myesc( array )
|
||||
Char array[];
|
||||
|
||||
{
|
||||
Char c, esc_char;
|
||||
register int sptr;
|
||||
|
||||
switch ( array[1] )
|
||||
{
|
||||
#ifdef __STDC__
|
||||
case 'a': return ( '\a' );
|
||||
#endif
|
||||
case 'b': return ( '\b' );
|
||||
case 'f': return ( '\f' );
|
||||
case 'n': return ( '\n' );
|
||||
@ -607,9 +631,6 @@ Char array[];
|
||||
case 't': return ( '\t' );
|
||||
case 'v': return ( '\v' );
|
||||
|
||||
case 'x':
|
||||
/* fall through */
|
||||
|
||||
case '0':
|
||||
case '1':
|
||||
case '2':
|
||||
@ -620,17 +641,12 @@ Char array[];
|
||||
case '7':
|
||||
case '8':
|
||||
case '9':
|
||||
|
||||
{ /* \<octal> or \x<hex> */
|
||||
Char c, esc_char;
|
||||
register int sptr = 1;
|
||||
|
||||
if ( array[1] == 'x' )
|
||||
++sptr;
|
||||
{ /* \<octal> */
|
||||
sptr = 1;
|
||||
|
||||
while ( isascii( array[sptr] ) && isdigit( array[sptr] ) )
|
||||
/* don't increment inside loop control because if
|
||||
* isdigit() is a macro it will expand it to two
|
||||
* isdigit() is a macro it might expand into multiple
|
||||
* increments ...
|
||||
*/
|
||||
++sptr;
|
||||
@ -638,10 +654,28 @@ Char array[];
|
||||
c = array[sptr];
|
||||
array[sptr] = '\0';
|
||||
|
||||
if ( array[1] == 'x' )
|
||||
esc_char = htoi( array + 2 );
|
||||
else
|
||||
esc_char = otoi( array + 1 );
|
||||
esc_char = otoi( array + 1 );
|
||||
|
||||
array[sptr] = c;
|
||||
|
||||
return ( esc_char );
|
||||
}
|
||||
|
||||
case 'x':
|
||||
{ /* \x<hex> */
|
||||
int sptr = 2;
|
||||
|
||||
while ( isascii( array[sptr] ) && is_hex_digit( array[sptr] ) )
|
||||
/* don't increment inside loop control because if
|
||||
* isdigit() is a macro it might expand into multiple
|
||||
* increments ...
|
||||
*/
|
||||
++sptr;
|
||||
|
||||
c = array[sptr];
|
||||
array[sptr] = '\0';
|
||||
|
||||
esc_char = htoi( array + 2 );
|
||||
|
||||
array[sptr] = c;
|
||||
|
||||
|
@ -1,51 +1,39 @@
|
||||
/* nfa - NFA construction routines */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1990 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Vern Paxson of Lawrence Berkeley Laboratory.
|
||||
* Vern Paxson.
|
||||
*
|
||||
* The United States Government has rights in this work pursuant
|
||||
* to contract no. DE-AC03-76SF00098 between the United States
|
||||
* Department of Energy and the University of California.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* Redistribution and use in source and binary forms are permitted provided
|
||||
* that: (1) source distributions retain this entire copyright notice and
|
||||
* comment, and (2) distributions including binaries display the following
|
||||
* acknowledgement: ``This product includes software developed by the
|
||||
* University of California, Berkeley and its contributors'' in the
|
||||
* documentation or other materials provided with the distribution and in
|
||||
* all advertising materials mentioning features or use of this software.
|
||||
* Neither the name of the University nor the names of its contributors may
|
||||
* be used to endorse or promote products derived from this software without
|
||||
* specific prior written permission.
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
*/
|
||||
|
||||
#ifndef lint
|
||||
static char sccsid[] = "@(#)nfa.c 5.2 (Berkeley) 6/18/90";
|
||||
#endif /* not lint */
|
||||
|
||||
/* nfa - NFA construction routines */
|
||||
static char rcsid[] =
|
||||
"@(#) $Header: /cvsroot/src/gnu/usr.bin/lex/Attic/nfa.c,v 1.2 1993/05/04 07:45:08 cgd Exp $ (LBL)";
|
||||
#endif
|
||||
|
||||
#include "flexdef.h"
|
||||
|
||||
|
||||
/* declare functions that have forward references */
|
||||
|
||||
int dupmachine PROTO((int));
|
||||
|
@ -1,58 +1,47 @@
|
||||
|
||||
/* parse.y - parser for flex input */
|
||||
|
||||
%token CHAR NUMBER SECTEND SCDECL XSCDECL WHITESPACE NAME PREVCCL EOF_OP
|
||||
|
||||
%{
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1990 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Vern Paxson of Lawrence Berkeley Laboratory.
|
||||
* Vern Paxson.
|
||||
*
|
||||
* The United States Government has rights in this work pursuant
|
||||
* to contract no. DE-AC03-76SF00098 between the United States
|
||||
* Department of Energy and the University of California.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* Redistribution and use in source and binary forms are permitted provided
|
||||
* that: (1) source distributions retain this entire copyright notice and
|
||||
* comment, and (2) distributions including binaries display the following
|
||||
* acknowledgement: ``This product includes software developed by the
|
||||
* University of California, Berkeley and its contributors'' in the
|
||||
* documentation or other materials provided with the distribution and in
|
||||
* all advertising materials mentioning features or use of this software.
|
||||
* Neither the name of the University nor the names of its contributors may
|
||||
* be used to endorse or promote products derived from this software without
|
||||
* specific prior written permission.
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
*/
|
||||
|
||||
#ifndef lint
|
||||
static char sccsid[] = "@(#)parse.y 5.2 (Berkeley) 6/18/90";
|
||||
#endif /* not lint */
|
||||
static char rcsid[] =
|
||||
"@(#) $Header: /cvsroot/src/gnu/usr.bin/lex/Attic/parse.y,v 1.2 1993/05/04 07:45:09 cgd Exp $ (LBL)";
|
||||
#endif
|
||||
|
||||
#include "flexdef.h"
|
||||
|
||||
int pat, scnum, eps, headcnt, trailcnt, anyccl, lastchar, i, actvp, rulelen;
|
||||
int trlcontxt, xcluflg, cclsorted, varlength, variable_trail_rule;
|
||||
Char clower();
|
||||
void build_eof_action();
|
||||
void yyerror();
|
||||
|
||||
static int madeany = false; /* whether we've made the '.' character class */
|
||||
int previous_continued_action; /* whether the previous rule's action was '|' */
|
||||
@ -346,14 +335,26 @@ rule : re2 re
|
||||
headcnt = 0;
|
||||
}
|
||||
|
||||
if ( varlength && headcnt == 0 )
|
||||
{
|
||||
/* again, see the comment in the rule for "re2 re"
|
||||
* above
|
||||
*/
|
||||
add_accept( $1, num_rules | YY_TRAILING_HEAD_MASK );
|
||||
variable_trail_rule = true;
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
if ( ! varlength )
|
||||
headcnt = rulelen;
|
||||
|
||||
++rulelen;
|
||||
trailcnt = 1;
|
||||
}
|
||||
|
||||
trlcontxt = true;
|
||||
|
||||
if ( ! varlength )
|
||||
headcnt = rulelen;
|
||||
|
||||
++rulelen;
|
||||
trailcnt = 1;
|
||||
|
||||
eps = mkstate( SYM_EPSILON );
|
||||
$$ = link_machines( $1,
|
||||
link_machines( eps, mkstate( '\n' ) ) );
|
||||
@ -456,7 +457,15 @@ singleton : singleton '*'
|
||||
else
|
||||
{
|
||||
if ( $3 == 0 )
|
||||
$$ = mkopt( mkrep( $1, $3, $5 ) );
|
||||
{
|
||||
if ( $5 <= 0 )
|
||||
{
|
||||
synerr( "bad iteration values" );
|
||||
$$ = $1;
|
||||
}
|
||||
else
|
||||
$$ = mkopt( mkrep( $1, 1, $5 ) );
|
||||
}
|
||||
else
|
||||
$$ = mkrep( $1, $3, $5 );
|
||||
}
|
||||
|
@ -1,62 +1,43 @@
|
||||
|
||||
/* scan.l - scanner for flex input */
|
||||
|
||||
%{
|
||||
/*-
|
||||
* Copyright (c) 1990 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Vern Paxson of Lawrence Berkeley Laboratory.
|
||||
* Vern Paxson.
|
||||
*
|
||||
* The United States Government has rights in this work pursuant
|
||||
* The United States Government has rights in this work pursuant
|
||||
* to contract no. DE-AC03-76SF00098 between the United States
|
||||
* Department of Energy and the University of California.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)scan.l 5.3 (Berkeley) 4/12/91
|
||||
* Redistribution and use in source and binary forms are permitted provided
|
||||
* that: (1) source distributions retain this entire copyright notice and
|
||||
* comment, and (2) distributions including binaries display the following
|
||||
* acknowledgement: ``This product includes software developed by the
|
||||
* University of California, Berkeley and its contributors'' in the
|
||||
* documentation or other materials provided with the distribution and in
|
||||
* all advertising materials mentioning features or use of this software.
|
||||
* Neither the name of the University nor the names of its contributors may
|
||||
* be used to endorse or promote products derived from this software without
|
||||
* specific prior written permission.
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
*/
|
||||
|
||||
/* scan.l - scanner for flex input */
|
||||
#ifndef lint
|
||||
static char rcsid[] =
|
||||
"@(#) $Header: /cvsroot/src/gnu/usr.bin/lex/Attic/scan.l,v 1.2 1993/05/04 07:45:11 cgd Exp $ (LBL)";
|
||||
#endif
|
||||
|
||||
%{
|
||||
#undef yywrap
|
||||
|
||||
#include "flexdef.h"
|
||||
#include "parse.h"
|
||||
|
||||
#ifndef lint
|
||||
static char copyright[] =
|
||||
"@(#) Copyright (c) 1989 The Regents of the University of California.\n";
|
||||
static char CR_continuation[] = "@(#) All rights reserved.\n";
|
||||
|
||||
static char rcsid[] =
|
||||
"@(#) $Header: /cvsroot/src/gnu/usr.bin/lex/Attic/scan.l,v 1.1.1.1 1993/03/21 09:45:37 cgd Exp $ (LBL)";
|
||||
#endif
|
||||
|
||||
#define ACTION_ECHO fprintf( temp_action_file, "%s", yytext )
|
||||
#define MARK_END_OF_PROLOG fprintf( temp_action_file, "%%%% end of prolog\n" );
|
||||
|
||||
@ -138,7 +119,7 @@ ESCSEQ \\([^\n]|[0-9]{1,3}|x[0-9a-f]{1,2})
|
||||
}
|
||||
|
||||
|
||||
^"%"[aeknopt]" ".*\n {
|
||||
^"%"[aeknopt]{WS}.*\n {
|
||||
#ifdef NOTDEF
|
||||
fprintf( stderr,
|
||||
"old-style lex command at line %d ignored:\n\t%s",
|
||||
|
@ -5,47 +5,35 @@
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Vern Paxson of Lawrence Berkeley Laboratory.
|
||||
* Vern Paxson.
|
||||
*
|
||||
* The United States Government has rights in this work pursuant
|
||||
* to contract no. DE-AC03-76SF00098 between the United States
|
||||
* Department of Energy and the University of California.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* Redistribution and use in source and binary forms are permitted provided
|
||||
* that: (1) source distributions retain this entire copyright notice and
|
||||
* comment, and (2) distributions including binaries display the following
|
||||
* acknowledgement: ``This product includes software developed by the
|
||||
* University of California, Berkeley and its contributors'' in the
|
||||
* documentation or other materials provided with the distribution and in
|
||||
* all advertising materials mentioning features or use of this software.
|
||||
* Neither the name of the University nor the names of its contributors may
|
||||
* be used to endorse or promote products derived from this software without
|
||||
* specific prior written permission.
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
*/
|
||||
|
||||
#ifndef lint
|
||||
static char sccsid[] = "@(#)sym.c 5.2 (Berkeley) 6/18/90";
|
||||
#endif /* not lint */
|
||||
static char rcsid[] =
|
||||
"@(#) $Header: /cvsroot/src/gnu/usr.bin/lex/Attic/sym.c,v 1.2 1993/05/04 07:45:12 cgd Exp $ (LBL)";
|
||||
#endif
|
||||
|
||||
#include "flexdef.h"
|
||||
|
||||
|
||||
/* declare functions that have forward references */
|
||||
|
||||
int hashfunct PROTO((register char[], int));
|
||||
@ -210,7 +198,7 @@ int hash_size;
|
||||
locstr = 0;
|
||||
|
||||
while ( str[locstr] )
|
||||
hashval = ((hashval << 1) + str[locstr++]) % hash_size;
|
||||
hashval = ((hashval << 1) + (unsigned char) str[locstr++]) % hash_size;
|
||||
|
||||
return ( hashval );
|
||||
}
|
||||
|
@ -5,47 +5,35 @@
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Vern Paxson of Lawrence Berkeley Laboratory.
|
||||
* Vern Paxson.
|
||||
*
|
||||
* The United States Government has rights in this work pursuant
|
||||
* to contract no. DE-AC03-76SF00098 between the United States
|
||||
* Department of Energy and the University of California.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* Redistribution and use in source and binary forms are permitted provided
|
||||
* that: (1) source distributions retain this entire copyright notice and
|
||||
* comment, and (2) distributions including binaries display the following
|
||||
* acknowledgement: ``This product includes software developed by the
|
||||
* University of California, Berkeley and its contributors'' in the
|
||||
* documentation or other materials provided with the distribution and in
|
||||
* all advertising materials mentioning features or use of this software.
|
||||
* Neither the name of the University nor the names of its contributors may
|
||||
* be used to endorse or promote products derived from this software without
|
||||
* specific prior written permission.
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
*/
|
||||
|
||||
#ifndef lint
|
||||
static char sccsid[] = "@(#)tblcmp.c 5.2 (Berkeley) 6/18/90";
|
||||
#endif /* not lint */
|
||||
static char rcsid[] =
|
||||
"@(#) $Header: /cvsroot/src/gnu/usr.bin/lex/Attic/tblcmp.c,v 1.2 1993/05/04 07:45:15 cgd Exp $ (LBL)";
|
||||
#endif
|
||||
|
||||
#include "flexdef.h"
|
||||
|
||||
|
||||
/* declarations for functions that have forward references */
|
||||
|
||||
void mkentry PROTO((register int*, int, int, int, int));
|
||||
@ -380,7 +368,7 @@ int *state, numtrans;
|
||||
|
||||
while ( 1 ) /* loops until a space is found */
|
||||
{
|
||||
if ( i + numecs > current_max_xpairs )
|
||||
if ( i + numecs >= current_max_xpairs )
|
||||
expand_nxt_chk();
|
||||
|
||||
/* loops until space for end-of-buffer and action number are found */
|
||||
@ -401,7 +389,7 @@ int *state, numtrans;
|
||||
else
|
||||
++i;
|
||||
|
||||
if ( i + numecs > current_max_xpairs )
|
||||
if ( i + numecs >= current_max_xpairs )
|
||||
expand_nxt_chk();
|
||||
}
|
||||
|
||||
@ -488,7 +476,7 @@ void mkdeftbl()
|
||||
|
||||
++tblend; /* room for transition on end-of-buffer character */
|
||||
|
||||
if ( tblend + numecs > current_max_xpairs )
|
||||
if ( tblend + numecs >= current_max_xpairs )
|
||||
expand_nxt_chk();
|
||||
|
||||
/* add in default end-of-buffer transition */
|
||||
@ -596,7 +584,7 @@ int numchars, statenum, deflink, totaltrans;
|
||||
;
|
||||
}
|
||||
|
||||
if ( baseaddr + maxec - minec >= current_max_xpairs )
|
||||
if ( baseaddr + maxec - minec + 1 >= current_max_xpairs )
|
||||
expand_nxt_chk();
|
||||
|
||||
for ( i = minec; i <= maxec; ++i )
|
||||
@ -610,7 +598,8 @@ int numchars, statenum, deflink, totaltrans;
|
||||
++baseaddr )
|
||||
;
|
||||
|
||||
if ( baseaddr + maxec - minec >= current_max_xpairs )
|
||||
if ( baseaddr + maxec - minec + 1 >=
|
||||
current_max_xpairs )
|
||||
expand_nxt_chk();
|
||||
|
||||
/* reset the loop counter so we'll start all
|
||||
@ -632,7 +621,7 @@ int numchars, statenum, deflink, totaltrans;
|
||||
tblbase = baseaddr - minec;
|
||||
tbllast = tblbase + maxec;
|
||||
|
||||
if ( tbllast >= current_max_xpairs )
|
||||
if ( tbllast + 1 >= current_max_xpairs )
|
||||
expand_nxt_chk();
|
||||
|
||||
base[statenum] = tblbase;
|
||||
|
@ -5,44 +5,31 @@
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Vern Paxson of Lawrence Berkeley Laboratory.
|
||||
* Vern Paxson.
|
||||
*
|
||||
* The United States Government has rights in this work pursuant
|
||||
* to contract no. DE-AC03-76SF00098 between the United States
|
||||
* Department of Energy and the University of California.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* Redistribution and use in source and binary forms are permitted provided
|
||||
* that: (1) source distributions retain this entire copyright notice and
|
||||
* comment, and (2) distributions including binaries display the following
|
||||
* acknowledgement: ``This product includes software developed by the
|
||||
* University of California, Berkeley and its contributors'' in the
|
||||
* documentation or other materials provided with the distribution and in
|
||||
* all advertising materials mentioning features or use of this software.
|
||||
* Neither the name of the University nor the names of its contributors may
|
||||
* be used to endorse or promote products derived from this software without
|
||||
* specific prior written permission.
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
*/
|
||||
|
||||
#ifndef lint
|
||||
static char sccsid[] = "@(#)yylex.c 5.2 (Berkeley) 6/18/90";
|
||||
#endif /* not lint */
|
||||
static char rcsid[] =
|
||||
"@(#) $Header: /cvsroot/src/gnu/usr.bin/lex/Attic/yylex.c,v 1.2 1993/05/04 07:45:17 cgd Exp $ (LBL)";
|
||||
#endif
|
||||
|
||||
#include <ctype.h>
|
||||
#include "flexdef.h"
|
||||
|
@ -2,50 +2,36 @@ Flex carries the copyright used for BSD software, slightly modified
|
||||
because it originated at the Lawrence Berkeley (not Livermore!) Laboratory,
|
||||
which operates under a contract with the Department of Energy:
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1991 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Vern Paxson of Lawrence Berkeley Laboratory.
|
||||
*
|
||||
* The United States Government has rights in this work pursuant
|
||||
* to contract no. DE-AC03-76SF00098 between the United States
|
||||
* Department of Energy and the University of California.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)COPYING 5.2 (Berkeley) 4/12/91
|
||||
*/
|
||||
Copyright (c) 1990 The Regents of the University of California.
|
||||
All rights reserved.
|
||||
|
||||
This code is derived from software contributed to Berkeley by
|
||||
Vern Paxson.
|
||||
|
||||
The United States Government has rights in this work pursuant
|
||||
to contract no. DE-AC03-76SF00098 between the United States
|
||||
Department of Energy and the University of California.
|
||||
|
||||
Redistribution and use in source and binary forms are permitted
|
||||
provided that: (1) source distributions retain this entire
|
||||
copyright notice and comment, and (2) distributions including
|
||||
binaries display the following acknowledgement: ``This product
|
||||
includes software developed by the University of California,
|
||||
Berkeley and its contributors'' in the documentation or other
|
||||
materials provided with the distribution and in all advertising
|
||||
materials mentioning features or use of this software. Neither the
|
||||
name of the University nor the names of its contributors may be
|
||||
used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
|
||||
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE.
|
||||
|
||||
This basically says "do whatever you please with this software except
|
||||
remove this notice".
|
||||
remove this notice or take advantage of the University's (or the flex
|
||||
authors') name".
|
||||
|
||||
Note that the "flex.skel" scanner skeleton carries no copyright notice.
|
||||
You are free to do whatever you please with scanners generated using flex;
|
||||
|
@ -1,48 +1,35 @@
|
||||
/* ccl - routines for character classes */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1990 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Vern Paxson of Lawrence Berkeley Laboratory.
|
||||
* Vern Paxson.
|
||||
*
|
||||
* The United States Government has rights in this work pursuant
|
||||
* to contract no. DE-AC03-76SF00098 between the United States
|
||||
* Department of Energy and the University of California.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* Redistribution and use in source and binary forms are permitted provided
|
||||
* that: (1) source distributions retain this entire copyright notice and
|
||||
* comment, and (2) distributions including binaries display the following
|
||||
* acknowledgement: ``This product includes software developed by the
|
||||
* University of California, Berkeley and its contributors'' in the
|
||||
* documentation or other materials provided with the distribution and in
|
||||
* all advertising materials mentioning features or use of this software.
|
||||
* Neither the name of the University nor the names of its contributors may
|
||||
* be used to endorse or promote products derived from this software without
|
||||
* specific prior written permission.
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
*/
|
||||
|
||||
#ifndef lint
|
||||
static char sccsid[] = "@(#)ccl.c 5.2 (Berkeley) 6/18/90";
|
||||
#endif /* not lint */
|
||||
|
||||
/* ccl - routines for character classes */
|
||||
static char rcsid[] =
|
||||
"@(#) $Header: /cvsroot/src/usr.bin/lex/Attic/ccl.c,v 1.2 1993/05/04 07:44:41 cgd Exp $ (LBL)";
|
||||
#endif
|
||||
|
||||
#include "flexdef.h"
|
||||
|
||||
|
@ -1,51 +1,39 @@
|
||||
/* dfa - DFA construction routines */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1990 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Vern Paxson of Lawrence Berkeley Laboratory.
|
||||
* Vern Paxson.
|
||||
*
|
||||
* The United States Government has rights in this work pursuant
|
||||
* to contract no. DE-AC03-76SF00098 between the United States
|
||||
* Department of Energy and the University of California.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* Redistribution and use in source and binary forms are permitted provided
|
||||
* that: (1) source distributions retain this entire copyright notice and
|
||||
* comment, and (2) distributions including binaries display the following
|
||||
* acknowledgement: ``This product includes software developed by the
|
||||
* University of California, Berkeley and its contributors'' in the
|
||||
* documentation or other materials provided with the distribution and in
|
||||
* all advertising materials mentioning features or use of this software.
|
||||
* Neither the name of the University nor the names of its contributors may
|
||||
* be used to endorse or promote products derived from this software without
|
||||
* specific prior written permission.
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
*/
|
||||
|
||||
#ifndef lint
|
||||
static char sccsid[] = "@(#)dfa.c 5.2 (Berkeley) 6/18/90";
|
||||
#endif /* not lint */
|
||||
|
||||
/* dfa - DFA construction routines */
|
||||
static char rcsid[] =
|
||||
"@(#) $Header: /cvsroot/src/usr.bin/lex/Attic/dfa.c,v 1.2 1993/05/04 07:44:42 cgd Exp $ (LBL)";
|
||||
#endif
|
||||
|
||||
#include "flexdef.h"
|
||||
|
||||
|
||||
/* declare functions that have forward references */
|
||||
|
||||
void dump_associated_rules PROTO((FILE*, int));
|
||||
@ -1024,9 +1012,9 @@ int symlist[];
|
||||
|
||||
if ( tch != SYM_EPSILON )
|
||||
{
|
||||
if ( tch < -lastccl || tch > csize )
|
||||
if ( tch < -lastccl || tch >= csize )
|
||||
{
|
||||
if ( tch > csize && tch <= CSIZE )
|
||||
if ( tch >= csize && tch <= CSIZE )
|
||||
flexerror( "scanner requires -8 flag" );
|
||||
|
||||
else
|
||||
|
@ -1,48 +1,35 @@
|
||||
/* ecs - equivalence class routines */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1990 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Vern Paxson of Lawrence Berkeley Laboratory.
|
||||
* Vern Paxson.
|
||||
*
|
||||
* The United States Government has rights in this work pursuant
|
||||
* to contract no. DE-AC03-76SF00098 between the United States
|
||||
* Department of Energy and the University of California.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* Redistribution and use in source and binary forms are permitted provided
|
||||
* that: (1) source distributions retain this entire copyright notice and
|
||||
* comment, and (2) distributions including binaries display the following
|
||||
* acknowledgement: ``This product includes software developed by the
|
||||
* University of California, Berkeley and its contributors'' in the
|
||||
* documentation or other materials provided with the distribution and in
|
||||
* all advertising materials mentioning features or use of this software.
|
||||
* Neither the name of the University nor the names of its contributors may
|
||||
* be used to endorse or promote products derived from this software without
|
||||
* specific prior written permission.
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
*/
|
||||
|
||||
#ifndef lint
|
||||
static char sccsid[] = "@(#)ecs.c 5.2 (Berkeley) 6/18/90";
|
||||
#endif /* not lint */
|
||||
|
||||
/* ecs - equivalence class routines */
|
||||
static char rcsid[] =
|
||||
"@(#) $Header: /cvsroot/src/usr.bin/lex/Attic/ecs.c,v 1.2 1993/05/04 07:44:45 cgd Exp $ (LBL)";
|
||||
#endif
|
||||
|
||||
#include "flexdef.h"
|
||||
|
||||
|
@ -1,46 +1,32 @@
|
||||
/* flexdef - definitions file for flex */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1990 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Vern Paxson of Lawrence Berkeley Laboratory.
|
||||
* Vern Paxson.
|
||||
*
|
||||
* The United States Government has rights in this work pursuant
|
||||
* The United States Government has rights in this work pursuant
|
||||
* to contract no. DE-AC03-76SF00098 between the United States
|
||||
* Department of Energy and the University of California.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)flexdef.h 5.4 (Berkeley) 2/14/91
|
||||
* Redistribution and use in source and binary forms are permitted provided
|
||||
* that: (1) source distributions retain this entire copyright notice and
|
||||
* comment, and (2) distributions including binaries display the following
|
||||
* acknowledgement: ``This product includes software developed by the
|
||||
* University of California, Berkeley and its contributors'' in the
|
||||
* documentation or other materials provided with the distribution and in
|
||||
* all advertising materials mentioning features or use of this software.
|
||||
* Neither the name of the University nor the names of its contributors may
|
||||
* be used to endorse or promote products derived from this software without
|
||||
* specific prior written permission.
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
*/
|
||||
|
||||
/* flexdef - definitions file for flex */
|
||||
/* @(#) $Header: /cvsroot/src/usr.bin/lex/Attic/flexdef.h,v 1.2 1993/05/04 07:44:46 cgd Exp $ (LBL) */
|
||||
|
||||
#ifndef FILE
|
||||
#include <stdio.h>
|
||||
@ -70,7 +56,25 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef USG
|
||||
#define SYS_V
|
||||
#endif
|
||||
|
||||
#if defined(SYS_V) || defined(__386BSD__) || defined(__NetBSD__)
|
||||
#include <string.h>
|
||||
#else
|
||||
|
||||
#include <strings.h>
|
||||
#ifdef lint
|
||||
char *sprintf(); /* keep lint happy */
|
||||
#endif
|
||||
#ifdef SCO_UNIX
|
||||
void *memset();
|
||||
#else
|
||||
char *memset();
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef AMIGA
|
||||
#define bzero(s, n) setmem((char *)(s), n, '\0')
|
||||
@ -86,6 +90,21 @@
|
||||
#define SHORT_FILE_NAMES
|
||||
#endif
|
||||
|
||||
#ifdef __STDC__
|
||||
|
||||
#ifdef __GNUC__
|
||||
#include <stddef.h>
|
||||
void *malloc( size_t );
|
||||
void free( void* );
|
||||
#else
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
|
||||
#else /* ! __STDC__ */
|
||||
char *malloc(), *realloc();
|
||||
#endif
|
||||
|
||||
|
||||
/* maximum line length we'll have to deal with */
|
||||
#define MAXLINE BUFSIZ
|
||||
|
||||
@ -109,6 +128,11 @@
|
||||
#define true 1
|
||||
#define false 0
|
||||
|
||||
#include "pathnames.h"
|
||||
|
||||
#ifndef DEFAULT_SKELETON_FILE
|
||||
#define DEFAULT_SKELETON_FILE _PATH_SKELETONFILE
|
||||
#endif
|
||||
|
||||
/* special chk[] values marking the slots taking by end-of-buffer and action
|
||||
* numbers
|
||||
|
@ -1,45 +1,4 @@
|
||||
.\" Copyright (c) 1991 The Regents of the University of California.
|
||||
.\" All rights reserved.
|
||||
.\"
|
||||
.\" new copyright; att/bsd/shared
|
||||
.\" This code is derived from software contributed to Berkeley by
|
||||
.\" Vern Paxson of Lawrence Berkeley Laboratory.
|
||||
.\"
|
||||
.\" The United States Government has rights in this work pursuant
|
||||
.\" to contract no. DE-AC03-76SF00098 between the United States
|
||||
.\" Department of Energy and the University of California.
|
||||
.\"
|
||||
.\" Redistribution and use in source and binary forms, with or without
|
||||
.\" modification, are permitted provided that the following conditions
|
||||
.\" are met:
|
||||
.\" 1. Redistributions of source code must retain the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer.
|
||||
.\" 2. Redistributions in binary form must reproduce the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer in the
|
||||
.\" documentation and/or other materials provided with the distribution.
|
||||
.\" 3. All advertising materials mentioning features or use of this software
|
||||
.\" must display the following acknowledgement:
|
||||
.\" This product includes software developed by the University of
|
||||
.\" California, Berkeley and its contributors.
|
||||
.\" 4. Neither the name of the University nor the names of its contributors
|
||||
.\" may be used to endorse or promote products derived from this software
|
||||
.\" without specific prior written permission.
|
||||
.\"
|
||||
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)flexdoc.1 5.2 (Berkeley) 4/12/91
|
||||
.\"
|
||||
.TH FLEX 1 "April 12, 1991"
|
||||
.TH FLEX 1 "26 May 1990" "Version 2.3"
|
||||
.SH NAME
|
||||
flex - fast lexical analyzer generator
|
||||
.SH SYNOPSIS
|
||||
@ -146,7 +105,7 @@ A somewhat more complicated example:
|
||||
}
|
||||
|
||||
{DIGIT}+"."{DIGIT}* {
|
||||
printf( "A float: %s (%d)\\n", yytext,
|
||||
printf( "A float: %s (%g)\\n", yytext,
|
||||
atof( yytext ) );
|
||||
}
|
||||
|
||||
@ -827,7 +786,10 @@ section of the input file):
|
||||
%{
|
||||
#undef YY_INPUT
|
||||
#define YY_INPUT(buf,result,max_size) \\
|
||||
result = ((buf[0] = getchar()) == EOF) ? YY_NULL : 1;
|
||||
{ \\
|
||||
int c = getchar(); \\
|
||||
result = (c == EOF) ? YY_NULL : (buf[0] = c, 1); \\
|
||||
}
|
||||
%}
|
||||
|
||||
.fi
|
||||
@ -2082,6 +2044,99 @@ is fully compatible with
|
||||
.I lex
|
||||
with the following exceptions:
|
||||
.IP -
|
||||
The undocumented
|
||||
.I lex
|
||||
scanner internal variable
|
||||
.B yylineno
|
||||
is not supported. It is difficult to support this option efficiently,
|
||||
since it requires examining every character scanned and reexamining
|
||||
the characters when the scanner backs up.
|
||||
Things get more complicated when the end of buffer or file is reached or a
|
||||
NUL is scanned (since the scan must then be restarted with the proper line
|
||||
number count), or the user uses the yyless(), unput(), or REJECT actions,
|
||||
or the multiple input buffer functions.
|
||||
.IP
|
||||
The fix is to add rules which, upon seeing a newline, increment
|
||||
yylineno. This is usually an easy process, though it can be a drag if some
|
||||
of the patterns can match multiple newlines along with other characters.
|
||||
.IP
|
||||
yylineno is not part of the POSIX draft.
|
||||
.IP -
|
||||
The
|
||||
.B input()
|
||||
routine is not redefinable, though it may be called to read characters
|
||||
following whatever has been matched by a rule. If
|
||||
.B input()
|
||||
encounters an end-of-file the normal
|
||||
.B yywrap()
|
||||
processing is done. A ``real'' end-of-file is returned by
|
||||
.B input()
|
||||
as
|
||||
.I EOF.
|
||||
.IP
|
||||
Input is instead controlled by redefining the
|
||||
.B YY_INPUT
|
||||
macro.
|
||||
.IP
|
||||
The
|
||||
.I flex
|
||||
restriction that
|
||||
.B input()
|
||||
cannot be redefined is in accordance with the POSIX draft, but
|
||||
.B YY_INPUT
|
||||
has not yet been accepted into the draft (and probably won't; it looks
|
||||
like the draft will simply not specify any way of controlling the
|
||||
scanner's input other than by making an initial assignment to
|
||||
.I yyin).
|
||||
.IP -
|
||||
.I flex
|
||||
scanners do not use stdio for input. Because of this, when writing an
|
||||
interactive scanner one must explicitly call fflush() on the
|
||||
stream associated with the terminal after writing out a prompt.
|
||||
With
|
||||
.I lex
|
||||
such writes are automatically flushed since
|
||||
.I lex
|
||||
scanners use
|
||||
.B getchar()
|
||||
for their input. Also, when writing interactive scanners with
|
||||
.I flex,
|
||||
the
|
||||
.B -I
|
||||
flag must be used.
|
||||
.IP -
|
||||
.I flex
|
||||
scanners are not as reentrant as
|
||||
.I lex
|
||||
scanners. In particular, if you have an interactive scanner and
|
||||
an interrupt handler which long-jumps out of the scanner, and
|
||||
the scanner is subsequently called again, you may get the following
|
||||
message:
|
||||
.nf
|
||||
|
||||
fatal flex scanner internal error--end of buffer missed
|
||||
|
||||
.fi
|
||||
To reenter the scanner, first use
|
||||
.nf
|
||||
|
||||
yyrestart( yyin );
|
||||
|
||||
.fi
|
||||
.IP -
|
||||
.B output()
|
||||
is not supported.
|
||||
Output from the
|
||||
.B ECHO
|
||||
macro is done to the file-pointer
|
||||
.I yyout
|
||||
(default
|
||||
.I stdout).
|
||||
.IP
|
||||
The POSIX draft mentions that an
|
||||
.B output()
|
||||
routine exists but currently gives no details as to what it does.
|
||||
.IP -
|
||||
.I lex
|
||||
does not support exclusive start conditions (%x), though they
|
||||
are in the current POSIX draft.
|
||||
@ -2125,49 +2180,6 @@ one must use "[^\\]]". The latter works with
|
||||
.I lex,
|
||||
too.
|
||||
.IP -
|
||||
The undocumented
|
||||
.I lex
|
||||
scanner internal variable
|
||||
.B yylineno
|
||||
is not supported. (The variable is not part of the POSIX draft.)
|
||||
.IP -
|
||||
The
|
||||
.B input()
|
||||
routine is not redefinable, though it may be called to read characters
|
||||
following whatever has been matched by a rule. If
|
||||
.B input()
|
||||
encounters an end-of-file the normal
|
||||
.B yywrap()
|
||||
processing is done. A ``real'' end-of-file is returned by
|
||||
.B input()
|
||||
as
|
||||
.I EOF.
|
||||
.IP
|
||||
Input is instead controlled by redefining the
|
||||
.B YY_INPUT
|
||||
macro.
|
||||
.IP
|
||||
The
|
||||
.I flex
|
||||
restriction that
|
||||
.B input()
|
||||
cannot be redefined is in accordance with the POSIX draft, but
|
||||
.B YY_INPUT
|
||||
has not yet been accepted into the draft.
|
||||
.IP -
|
||||
.B output()
|
||||
is not supported.
|
||||
Output from the
|
||||
.B ECHO
|
||||
macro is done to the file-pointer
|
||||
.I yyout
|
||||
(default
|
||||
.I stdout).
|
||||
.IP
|
||||
The POSIX draft mentions that an
|
||||
.B output()
|
||||
routine exists but currently gives no details as to what it does.
|
||||
.IP -
|
||||
The
|
||||
.I lex
|
||||
.B %r
|
||||
@ -2179,7 +2191,7 @@ If you are providing your own yywrap() routine, you must include a
|
||||
the "#undef" will have to be enclosed in %{}'s.
|
||||
.IP
|
||||
The POSIX draft
|
||||
specifies that yywrap() is a function and this is unlikely to change; so
|
||||
specifies that yywrap() is a function and this is very unlikely to change; so
|
||||
.I flex users are warned
|
||||
that
|
||||
.B yywrap()
|
||||
@ -2354,6 +2366,17 @@ Your scanner specification includes recognizing 8-bit characters and
|
||||
you did not specify the -8 flag (and your site has not installed flex
|
||||
with -8 as the default).
|
||||
.LP
|
||||
.I
|
||||
fatal flex scanner internal error--end of buffer missed -
|
||||
This can occur in an scanner which is reentered after a long-jump
|
||||
has jumped out (or over) the scanner's activation frame. Before
|
||||
reentering the scanner, use:
|
||||
.nf
|
||||
|
||||
yyrestart( yyin );
|
||||
|
||||
.fi
|
||||
.LP
|
||||
.I too many %t classes! -
|
||||
You managed to put every single character into its own %t class.
|
||||
.I flex
|
||||
@ -2375,7 +2398,7 @@ Jacobson. The implementation was done by Kevin Gong and Vern Paxson.
|
||||
Thanks to the many
|
||||
.I flex
|
||||
beta-testers, feedbackers, and contributors, especially Casey
|
||||
Leedom, benson@odi.com,
|
||||
Leedom, benson@odi.com, Keith Bostic,
|
||||
Frederic Brehm, Nick Christopher, Jason Coughlin,
|
||||
Scott David Daniels, Leo Eskin,
|
||||
Chris Faylor, Eric Goldman, Eric
|
||||
@ -2412,12 +2435,13 @@ Send comments to:
|
||||
.nf
|
||||
|
||||
Vern Paxson
|
||||
Computer Science Department
|
||||
4126 Upson Hall
|
||||
Cornell University
|
||||
Ithaca, NY 14853-7501
|
||||
Computer Systems Engineering
|
||||
Bldg. 46A, Room 1123
|
||||
Lawrence Berkeley Laboratory
|
||||
University of California
|
||||
Berkeley, CA 94720
|
||||
|
||||
vern@cs.cornell.edu
|
||||
decvax!cornell!vern
|
||||
vern@ee.lbl.gov
|
||||
ucbvax!ee.lbl.gov!vern
|
||||
|
||||
.fi
|
||||
|
@ -1,51 +1,39 @@
|
||||
/* gen - actual generation (writing) of flex scanners */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1990 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Vern Paxson of Lawrence Berkeley Laboratory.
|
||||
* Vern Paxson.
|
||||
*
|
||||
* The United States Government has rights in this work pursuant
|
||||
* to contract no. DE-AC03-76SF00098 between the United States
|
||||
* Department of Energy and the University of California.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* Redistribution and use in source and binary forms are permitted provided
|
||||
* that: (1) source distributions retain this entire copyright notice and
|
||||
* comment, and (2) distributions including binaries display the following
|
||||
* acknowledgement: ``This product includes software developed by the
|
||||
* University of California, Berkeley and its contributors'' in the
|
||||
* documentation or other materials provided with the distribution and in
|
||||
* all advertising materials mentioning features or use of this software.
|
||||
* Neither the name of the University nor the names of its contributors may
|
||||
* be used to endorse or promote products derived from this software without
|
||||
* specific prior written permission.
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
*/
|
||||
|
||||
#ifndef lint
|
||||
static char sccsid[] = "@(#)gen.c 5.2 (Berkeley) 6/18/90";
|
||||
#endif /* not lint */
|
||||
|
||||
/* gen - actual generation (writing) of flex scanners */
|
||||
static char rcsid[] =
|
||||
"@(#) $Header: /cvsroot/src/usr.bin/lex/Attic/gen.c,v 1.2 1993/05/04 07:44:53 cgd Exp $ (LBL)";
|
||||
#endif
|
||||
|
||||
#include "flexdef.h"
|
||||
|
||||
|
||||
/* declare functions that have forward references */
|
||||
|
||||
void gen_next_state PROTO((int));
|
||||
@ -688,11 +676,7 @@ void gen_NUL_trans()
|
||||
|
||||
do_indent();
|
||||
|
||||
if ( interactive )
|
||||
printf( "yy_is_jam = (yy_base[yy_current_state] == %d);\n",
|
||||
jambase );
|
||||
else
|
||||
printf( "yy_is_jam = (yy_current_state == %d);\n", jamstate );
|
||||
printf( "yy_is_jam = (yy_current_state == %d);\n", jamstate );
|
||||
}
|
||||
|
||||
/* if we've entered an accepting state, backtrack; note that
|
||||
@ -811,7 +795,7 @@ void gentabs()
|
||||
|
||||
if ( variable_trailing_context_rules &&
|
||||
! (accnum & YY_TRAILING_HEAD_MASK) &&
|
||||
accnum > 0 &&
|
||||
accnum > 0 && accnum <= num_rules &&
|
||||
rule_type[accnum] == RULE_VARIABLE )
|
||||
{
|
||||
/* special hack to flag accepting number as part
|
||||
@ -1137,9 +1121,10 @@ void make_tables()
|
||||
puts( "static int yy_looking_for_trail_begin = 0;" );
|
||||
puts( "static int yy_full_lp;" );
|
||||
puts( "static int *yy_full_state;" );
|
||||
printf( "#define YY_TRAILING_MASK 0x%x\n", YY_TRAILING_MASK );
|
||||
printf( "#define YY_TRAILING_MASK 0x%x\n",
|
||||
(unsigned int) YY_TRAILING_MASK );
|
||||
printf( "#define YY_TRAILING_HEAD_MASK 0x%x\n",
|
||||
YY_TRAILING_HEAD_MASK );
|
||||
(unsigned int) YY_TRAILING_HEAD_MASK );
|
||||
}
|
||||
|
||||
puts( "#define REJECT \\" );
|
||||
@ -1210,6 +1195,7 @@ void make_tables()
|
||||
|
||||
if ( yymore_used )
|
||||
{
|
||||
indent_puts( "yy_more_len = 0;" );
|
||||
indent_puts( "yy_doing_yy_more = yy_more_flag;" );
|
||||
indent_puts( "if ( yy_doing_yy_more )" );
|
||||
indent_up();
|
||||
|
File diff suppressed because it is too large
Load Diff
1035
usr.bin/lex/lex.1
1035
usr.bin/lex/lex.1
File diff suppressed because it is too large
Load Diff
@ -1,21 +1,12 @@
|
||||
/* A lexical scanner generated by flex */
|
||||
|
||||
/* scanner skeleton version:
|
||||
*
|
||||
* $Header: /cvsroot/src/usr.bin/lex/Attic/lex.skel,v 1.1.1.1 1993/03/21 09:45:37 cgd Exp $
|
||||
*
|
||||
* @(#)lex.skel 5.5 (Berkeley) 5/6/91
|
||||
* $Header: /cvsroot/src/usr.bin/lex/Attic/lex.skel,v 1.2 1993/05/04 07:45:02 cgd Exp $
|
||||
*/
|
||||
|
||||
#define FLEX_SCANNER
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#ifdef __STDC__
|
||||
|
||||
#define YY_USE_PROTOS
|
||||
#endif
|
||||
|
||||
|
||||
/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
|
||||
@ -28,11 +19,41 @@
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <osfcn.h>
|
||||
|
||||
/* use prototypes in function declarations */
|
||||
#define YY_USE_PROTOS
|
||||
|
||||
/* the "const" storage-class-modifier is valid */
|
||||
#define YY_USE_CONST
|
||||
|
||||
#else /* ! __cplusplus */
|
||||
|
||||
#ifdef __STDC__
|
||||
|
||||
#ifdef __GNUC__
|
||||
#include <stddef.h>
|
||||
void *malloc( size_t );
|
||||
void free( void* );
|
||||
#else
|
||||
#include <stdlib.h>
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#define YY_USE_PROTOS
|
||||
#define YY_USE_CONST
|
||||
|
||||
#endif /* __STDC__ */
|
||||
#endif /* ! __cplusplus */
|
||||
|
||||
|
||||
#ifdef __TURBOC__
|
||||
#define YY_USE_CONST
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef YY_USE_CONST
|
||||
#define const
|
||||
#endif
|
||||
|
||||
|
||||
@ -40,6 +61,13 @@
|
||||
#define YY_PROTO(proto) proto
|
||||
#else
|
||||
#define YY_PROTO(proto) ()
|
||||
/* we can't get here if it's an ANSI C compiler, or a C++ compiler,
|
||||
* so it's got to be a K&R compiler, and therefore there's no standard
|
||||
* place from which to include these definitions
|
||||
*/
|
||||
char *malloc();
|
||||
int free();
|
||||
int read();
|
||||
#endif
|
||||
|
||||
|
||||
@ -172,7 +200,7 @@ struct yy_buffer_state
|
||||
YY_CHAR *yy_ch_buf; /* input buffer */
|
||||
YY_CHAR *yy_buf_pos; /* current position in input buffer */
|
||||
|
||||
/* size of input buffer in bytes, not including room for EOB characters*/
|
||||
/* size of input buffer in bytes, not including room for EOB characters */
|
||||
int yy_buf_size;
|
||||
|
||||
/* number of characters read into yy_ch_buf, not including EOB characters */
|
||||
@ -482,7 +510,7 @@ static int yy_get_next_buffer()
|
||||
|
||||
if ( yy_n_chars == 0 )
|
||||
{
|
||||
if ( number_to_move == 1 )
|
||||
if ( number_to_move - YY_MORE_ADJ == 1 )
|
||||
{
|
||||
ret_val = EOB_ACT_END_OF_FILE;
|
||||
yy_current_buffer->yy_eof_status = EOF_DONE;
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* libmain - flex run-time support library "main" function */
|
||||
|
||||
/* $Header: /cvsroot/src/usr.bin/lex/lib/Attic/libmain.c,v 1.1.1.1 1993/03/21 09:45:37 cgd Exp $ */
|
||||
/* $Header: /cvsroot/src/usr.bin/lex/lib/Attic/libmain.c,v 1.2 1993/05/04 07:45:30 cgd Exp $ */
|
||||
|
||||
extern int yylex();
|
||||
|
||||
|
@ -1,41 +1,29 @@
|
||||
/* flex - tool to generate fast lexical analyzers */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1990 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Vern Paxson of Lawrence Berkeley Laboratory.
|
||||
* Vern Paxson.
|
||||
*
|
||||
* The United States Government has rights in this work pursuant
|
||||
* The United States Government has rights in this work pursuant
|
||||
* to contract no. DE-AC03-76SF00098 between the United States
|
||||
* Department of Energy and the University of California.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* Redistribution and use in source and binary forms are permitted provided
|
||||
* that: (1) source distributions retain this entire copyright notice and
|
||||
* comment, and (2) distributions including binaries display the following
|
||||
* acknowledgement: ``This product includes software developed by the
|
||||
* University of California, Berkeley and its contributors'' in the
|
||||
* documentation or other materials provided with the distribution and in
|
||||
* all advertising materials mentioning features or use of this software.
|
||||
* Neither the name of the University nor the names of its contributors may
|
||||
* be used to endorse or promote products derived from this software without
|
||||
* specific prior written permission.
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
*/
|
||||
|
||||
#ifndef lint
|
||||
@ -45,13 +33,12 @@ char copyright[] =
|
||||
#endif /* not lint */
|
||||
|
||||
#ifndef lint
|
||||
static char sccsid[] = "@(#)main.c 5.3 (Berkeley) 6/18/90";
|
||||
#endif /* not lint */
|
||||
static char rcsid[] =
|
||||
"@(#) $Header: /cvsroot/src/usr.bin/lex/Attic/main.c,v 1.2 1993/05/04 07:45:05 cgd Exp $ (LBL)";
|
||||
#endif
|
||||
|
||||
/* flex - tool to generate fast lexical analyzers */
|
||||
|
||||
#include "flexdef.h"
|
||||
#include "pathnames.h"
|
||||
|
||||
static char flex_version[] = "2.3";
|
||||
|
||||
@ -301,7 +288,7 @@ int status;
|
||||
if ( usemecs )
|
||||
putc( 'm', stderr );
|
||||
|
||||
if ( strcmp( skelname, _PATH_SKELETONFILE ) )
|
||||
if ( skelname && strcmp( skelname, DEFAULT_SKELETON_FILE ) )
|
||||
fprintf( stderr, " -S%s", skelname );
|
||||
|
||||
putc( '\n', stderr );
|
||||
@ -420,6 +407,8 @@ char **argv;
|
||||
|
||||
csize = DEFAULT_CSIZE;
|
||||
|
||||
starttime = flex_gettime();
|
||||
|
||||
program_name = argv[0];
|
||||
|
||||
/* read flags */
|
||||
@ -567,7 +556,7 @@ get_next_arg: /* used by -C and -S flags in lieu of a "continue 2" control */
|
||||
static char skeleton_name_storage[400];
|
||||
|
||||
skelname = skeleton_name_storage;
|
||||
(void) strcpy( skelname, _PATH_SKELETONFILE );
|
||||
(void) strcpy( skelname, DEFAULT_SKELETON_FILE );
|
||||
}
|
||||
|
||||
if ( ! use_stdout )
|
||||
@ -604,7 +593,6 @@ get_next_arg: /* used by -C and -S flags in lieu of a "continue 2" control */
|
||||
lastsc = 0;
|
||||
|
||||
/* initialize the statistics */
|
||||
starttime = flex_gettime();
|
||||
|
||||
if ( (skelfile = fopen( skelname, "r" )) == NULL )
|
||||
lerrsf( "can't open skeleton file %s", skelname );
|
||||
|
@ -1,53 +1,40 @@
|
||||
/* misc - miscellaneous flex routines */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1990 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Vern Paxson of Lawrence Berkeley Laboratory.
|
||||
* Vern Paxson.
|
||||
*
|
||||
* The United States Government has rights in this work pursuant
|
||||
* to contract no. DE-AC03-76SF00098 between the United States
|
||||
* Department of Energy and the University of California.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* Redistribution and use in source and binary forms are permitted provided
|
||||
* that: (1) source distributions retain this entire copyright notice and
|
||||
* comment, and (2) distributions including binaries display the following
|
||||
* acknowledgement: ``This product includes software developed by the
|
||||
* University of California, Berkeley and its contributors'' in the
|
||||
* documentation or other materials provided with the distribution and in
|
||||
* all advertising materials mentioning features or use of this software.
|
||||
* Neither the name of the University nor the names of its contributors may
|
||||
* be used to endorse or promote products derived from this software without
|
||||
* specific prior written permission.
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
*/
|
||||
|
||||
#ifndef lint
|
||||
static char sccsid[] = "@(#)misc.c 5.3 (Berkeley) 2/26/91";
|
||||
#endif /* not lint */
|
||||
|
||||
/* misc - miscellaneous flex routines */
|
||||
static char rcsid[] =
|
||||
"@(#) $Header: /cvsroot/src/usr.bin/lex/Attic/misc.c,v 1.2 1993/05/04 07:45:06 cgd Exp $ (LBL)";
|
||||
#endif
|
||||
|
||||
#include <ctype.h>
|
||||
#include <stdlib.h>
|
||||
#include "flexdef.h"
|
||||
|
||||
|
||||
/* ANSI C does not guarantee that isascii() is defined */
|
||||
#ifndef isascii
|
||||
#define isascii(c) ((c) <= 0177)
|
||||
@ -386,7 +373,7 @@ char msg[];
|
||||
|
||||
{
|
||||
fprintf( stderr, "%s: fatal internal error, %s\n", program_name, msg );
|
||||
flexend( 1 );
|
||||
exit( 1 );
|
||||
}
|
||||
|
||||
|
||||
@ -490,6 +477,38 @@ Char str[];
|
||||
}
|
||||
|
||||
|
||||
/* is_hex_digit - returns true if a character is a valid hex digit, false
|
||||
* otherwise
|
||||
*
|
||||
* synopsis:
|
||||
* int true_or_false, is_hex_digit();
|
||||
* int ch;
|
||||
* val = is_hex_digit( ch );
|
||||
*/
|
||||
|
||||
int is_hex_digit( ch )
|
||||
int ch;
|
||||
|
||||
{
|
||||
if ( isdigit( ch ) )
|
||||
return ( 1 );
|
||||
|
||||
switch ( clower( ch ) )
|
||||
{
|
||||
case 'a':
|
||||
case 'b':
|
||||
case 'c':
|
||||
case 'd':
|
||||
case 'e':
|
||||
case 'f':
|
||||
return ( 1 );
|
||||
|
||||
default:
|
||||
return ( 0 );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* line_directive_out - spit out a "# line" statement */
|
||||
|
||||
void line_directive_out( output_file_name )
|
||||
@ -597,9 +616,14 @@ Char myesc( array )
|
||||
Char array[];
|
||||
|
||||
{
|
||||
Char c, esc_char;
|
||||
register int sptr;
|
||||
|
||||
switch ( array[1] )
|
||||
{
|
||||
#ifdef __STDC__
|
||||
case 'a': return ( '\a' );
|
||||
#endif
|
||||
case 'b': return ( '\b' );
|
||||
case 'f': return ( '\f' );
|
||||
case 'n': return ( '\n' );
|
||||
@ -607,9 +631,6 @@ Char array[];
|
||||
case 't': return ( '\t' );
|
||||
case 'v': return ( '\v' );
|
||||
|
||||
case 'x':
|
||||
/* fall through */
|
||||
|
||||
case '0':
|
||||
case '1':
|
||||
case '2':
|
||||
@ -620,17 +641,12 @@ Char array[];
|
||||
case '7':
|
||||
case '8':
|
||||
case '9':
|
||||
|
||||
{ /* \<octal> or \x<hex> */
|
||||
Char c, esc_char;
|
||||
register int sptr = 1;
|
||||
|
||||
if ( array[1] == 'x' )
|
||||
++sptr;
|
||||
{ /* \<octal> */
|
||||
sptr = 1;
|
||||
|
||||
while ( isascii( array[sptr] ) && isdigit( array[sptr] ) )
|
||||
/* don't increment inside loop control because if
|
||||
* isdigit() is a macro it will expand it to two
|
||||
* isdigit() is a macro it might expand into multiple
|
||||
* increments ...
|
||||
*/
|
||||
++sptr;
|
||||
@ -638,10 +654,28 @@ Char array[];
|
||||
c = array[sptr];
|
||||
array[sptr] = '\0';
|
||||
|
||||
if ( array[1] == 'x' )
|
||||
esc_char = htoi( array + 2 );
|
||||
else
|
||||
esc_char = otoi( array + 1 );
|
||||
esc_char = otoi( array + 1 );
|
||||
|
||||
array[sptr] = c;
|
||||
|
||||
return ( esc_char );
|
||||
}
|
||||
|
||||
case 'x':
|
||||
{ /* \x<hex> */
|
||||
int sptr = 2;
|
||||
|
||||
while ( isascii( array[sptr] ) && is_hex_digit( array[sptr] ) )
|
||||
/* don't increment inside loop control because if
|
||||
* isdigit() is a macro it might expand into multiple
|
||||
* increments ...
|
||||
*/
|
||||
++sptr;
|
||||
|
||||
c = array[sptr];
|
||||
array[sptr] = '\0';
|
||||
|
||||
esc_char = htoi( array + 2 );
|
||||
|
||||
array[sptr] = c;
|
||||
|
||||
|
@ -1,51 +1,39 @@
|
||||
/* nfa - NFA construction routines */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1990 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Vern Paxson of Lawrence Berkeley Laboratory.
|
||||
* Vern Paxson.
|
||||
*
|
||||
* The United States Government has rights in this work pursuant
|
||||
* to contract no. DE-AC03-76SF00098 between the United States
|
||||
* Department of Energy and the University of California.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* Redistribution and use in source and binary forms are permitted provided
|
||||
* that: (1) source distributions retain this entire copyright notice and
|
||||
* comment, and (2) distributions including binaries display the following
|
||||
* acknowledgement: ``This product includes software developed by the
|
||||
* University of California, Berkeley and its contributors'' in the
|
||||
* documentation or other materials provided with the distribution and in
|
||||
* all advertising materials mentioning features or use of this software.
|
||||
* Neither the name of the University nor the names of its contributors may
|
||||
* be used to endorse or promote products derived from this software without
|
||||
* specific prior written permission.
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
*/
|
||||
|
||||
#ifndef lint
|
||||
static char sccsid[] = "@(#)nfa.c 5.2 (Berkeley) 6/18/90";
|
||||
#endif /* not lint */
|
||||
|
||||
/* nfa - NFA construction routines */
|
||||
static char rcsid[] =
|
||||
"@(#) $Header: /cvsroot/src/usr.bin/lex/Attic/nfa.c,v 1.2 1993/05/04 07:45:08 cgd Exp $ (LBL)";
|
||||
#endif
|
||||
|
||||
#include "flexdef.h"
|
||||
|
||||
|
||||
/* declare functions that have forward references */
|
||||
|
||||
int dupmachine PROTO((int));
|
||||
|
@ -1,58 +1,47 @@
|
||||
|
||||
/* parse.y - parser for flex input */
|
||||
|
||||
%token CHAR NUMBER SECTEND SCDECL XSCDECL WHITESPACE NAME PREVCCL EOF_OP
|
||||
|
||||
%{
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1990 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Vern Paxson of Lawrence Berkeley Laboratory.
|
||||
* Vern Paxson.
|
||||
*
|
||||
* The United States Government has rights in this work pursuant
|
||||
* to contract no. DE-AC03-76SF00098 between the United States
|
||||
* Department of Energy and the University of California.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* Redistribution and use in source and binary forms are permitted provided
|
||||
* that: (1) source distributions retain this entire copyright notice and
|
||||
* comment, and (2) distributions including binaries display the following
|
||||
* acknowledgement: ``This product includes software developed by the
|
||||
* University of California, Berkeley and its contributors'' in the
|
||||
* documentation or other materials provided with the distribution and in
|
||||
* all advertising materials mentioning features or use of this software.
|
||||
* Neither the name of the University nor the names of its contributors may
|
||||
* be used to endorse or promote products derived from this software without
|
||||
* specific prior written permission.
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
*/
|
||||
|
||||
#ifndef lint
|
||||
static char sccsid[] = "@(#)parse.y 5.2 (Berkeley) 6/18/90";
|
||||
#endif /* not lint */
|
||||
static char rcsid[] =
|
||||
"@(#) $Header: /cvsroot/src/usr.bin/lex/Attic/parse.y,v 1.2 1993/05/04 07:45:09 cgd Exp $ (LBL)";
|
||||
#endif
|
||||
|
||||
#include "flexdef.h"
|
||||
|
||||
int pat, scnum, eps, headcnt, trailcnt, anyccl, lastchar, i, actvp, rulelen;
|
||||
int trlcontxt, xcluflg, cclsorted, varlength, variable_trail_rule;
|
||||
Char clower();
|
||||
void build_eof_action();
|
||||
void yyerror();
|
||||
|
||||
static int madeany = false; /* whether we've made the '.' character class */
|
||||
int previous_continued_action; /* whether the previous rule's action was '|' */
|
||||
@ -346,14 +335,26 @@ rule : re2 re
|
||||
headcnt = 0;
|
||||
}
|
||||
|
||||
if ( varlength && headcnt == 0 )
|
||||
{
|
||||
/* again, see the comment in the rule for "re2 re"
|
||||
* above
|
||||
*/
|
||||
add_accept( $1, num_rules | YY_TRAILING_HEAD_MASK );
|
||||
variable_trail_rule = true;
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
if ( ! varlength )
|
||||
headcnt = rulelen;
|
||||
|
||||
++rulelen;
|
||||
trailcnt = 1;
|
||||
}
|
||||
|
||||
trlcontxt = true;
|
||||
|
||||
if ( ! varlength )
|
||||
headcnt = rulelen;
|
||||
|
||||
++rulelen;
|
||||
trailcnt = 1;
|
||||
|
||||
eps = mkstate( SYM_EPSILON );
|
||||
$$ = link_machines( $1,
|
||||
link_machines( eps, mkstate( '\n' ) ) );
|
||||
@ -456,7 +457,15 @@ singleton : singleton '*'
|
||||
else
|
||||
{
|
||||
if ( $3 == 0 )
|
||||
$$ = mkopt( mkrep( $1, $3, $5 ) );
|
||||
{
|
||||
if ( $5 <= 0 )
|
||||
{
|
||||
synerr( "bad iteration values" );
|
||||
$$ = $1;
|
||||
}
|
||||
else
|
||||
$$ = mkopt( mkrep( $1, 1, $5 ) );
|
||||
}
|
||||
else
|
||||
$$ = mkrep( $1, $3, $5 );
|
||||
}
|
||||
|
@ -1,62 +1,43 @@
|
||||
|
||||
/* scan.l - scanner for flex input */
|
||||
|
||||
%{
|
||||
/*-
|
||||
* Copyright (c) 1990 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Vern Paxson of Lawrence Berkeley Laboratory.
|
||||
* Vern Paxson.
|
||||
*
|
||||
* The United States Government has rights in this work pursuant
|
||||
* The United States Government has rights in this work pursuant
|
||||
* to contract no. DE-AC03-76SF00098 between the United States
|
||||
* Department of Energy and the University of California.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)scan.l 5.3 (Berkeley) 4/12/91
|
||||
* Redistribution and use in source and binary forms are permitted provided
|
||||
* that: (1) source distributions retain this entire copyright notice and
|
||||
* comment, and (2) distributions including binaries display the following
|
||||
* acknowledgement: ``This product includes software developed by the
|
||||
* University of California, Berkeley and its contributors'' in the
|
||||
* documentation or other materials provided with the distribution and in
|
||||
* all advertising materials mentioning features or use of this software.
|
||||
* Neither the name of the University nor the names of its contributors may
|
||||
* be used to endorse or promote products derived from this software without
|
||||
* specific prior written permission.
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
*/
|
||||
|
||||
/* scan.l - scanner for flex input */
|
||||
#ifndef lint
|
||||
static char rcsid[] =
|
||||
"@(#) $Header: /cvsroot/src/usr.bin/lex/Attic/scan.l,v 1.2 1993/05/04 07:45:11 cgd Exp $ (LBL)";
|
||||
#endif
|
||||
|
||||
%{
|
||||
#undef yywrap
|
||||
|
||||
#include "flexdef.h"
|
||||
#include "parse.h"
|
||||
|
||||
#ifndef lint
|
||||
static char copyright[] =
|
||||
"@(#) Copyright (c) 1989 The Regents of the University of California.\n";
|
||||
static char CR_continuation[] = "@(#) All rights reserved.\n";
|
||||
|
||||
static char rcsid[] =
|
||||
"@(#) $Header: /cvsroot/src/usr.bin/lex/Attic/scan.l,v 1.1.1.1 1993/03/21 09:45:37 cgd Exp $ (LBL)";
|
||||
#endif
|
||||
|
||||
#define ACTION_ECHO fprintf( temp_action_file, "%s", yytext )
|
||||
#define MARK_END_OF_PROLOG fprintf( temp_action_file, "%%%% end of prolog\n" );
|
||||
|
||||
@ -138,7 +119,7 @@ ESCSEQ \\([^\n]|[0-9]{1,3}|x[0-9a-f]{1,2})
|
||||
}
|
||||
|
||||
|
||||
^"%"[aeknopt]" ".*\n {
|
||||
^"%"[aeknopt]{WS}.*\n {
|
||||
#ifdef NOTDEF
|
||||
fprintf( stderr,
|
||||
"old-style lex command at line %d ignored:\n\t%s",
|
||||
|
@ -5,47 +5,35 @@
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Vern Paxson of Lawrence Berkeley Laboratory.
|
||||
* Vern Paxson.
|
||||
*
|
||||
* The United States Government has rights in this work pursuant
|
||||
* to contract no. DE-AC03-76SF00098 between the United States
|
||||
* Department of Energy and the University of California.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* Redistribution and use in source and binary forms are permitted provided
|
||||
* that: (1) source distributions retain this entire copyright notice and
|
||||
* comment, and (2) distributions including binaries display the following
|
||||
* acknowledgement: ``This product includes software developed by the
|
||||
* University of California, Berkeley and its contributors'' in the
|
||||
* documentation or other materials provided with the distribution and in
|
||||
* all advertising materials mentioning features or use of this software.
|
||||
* Neither the name of the University nor the names of its contributors may
|
||||
* be used to endorse or promote products derived from this software without
|
||||
* specific prior written permission.
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
*/
|
||||
|
||||
#ifndef lint
|
||||
static char sccsid[] = "@(#)sym.c 5.2 (Berkeley) 6/18/90";
|
||||
#endif /* not lint */
|
||||
static char rcsid[] =
|
||||
"@(#) $Header: /cvsroot/src/usr.bin/lex/Attic/sym.c,v 1.2 1993/05/04 07:45:12 cgd Exp $ (LBL)";
|
||||
#endif
|
||||
|
||||
#include "flexdef.h"
|
||||
|
||||
|
||||
/* declare functions that have forward references */
|
||||
|
||||
int hashfunct PROTO((register char[], int));
|
||||
@ -210,7 +198,7 @@ int hash_size;
|
||||
locstr = 0;
|
||||
|
||||
while ( str[locstr] )
|
||||
hashval = ((hashval << 1) + str[locstr++]) % hash_size;
|
||||
hashval = ((hashval << 1) + (unsigned char) str[locstr++]) % hash_size;
|
||||
|
||||
return ( hashval );
|
||||
}
|
||||
|
@ -5,47 +5,35 @@
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Vern Paxson of Lawrence Berkeley Laboratory.
|
||||
* Vern Paxson.
|
||||
*
|
||||
* The United States Government has rights in this work pursuant
|
||||
* to contract no. DE-AC03-76SF00098 between the United States
|
||||
* Department of Energy and the University of California.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* Redistribution and use in source and binary forms are permitted provided
|
||||
* that: (1) source distributions retain this entire copyright notice and
|
||||
* comment, and (2) distributions including binaries display the following
|
||||
* acknowledgement: ``This product includes software developed by the
|
||||
* University of California, Berkeley and its contributors'' in the
|
||||
* documentation or other materials provided with the distribution and in
|
||||
* all advertising materials mentioning features or use of this software.
|
||||
* Neither the name of the University nor the names of its contributors may
|
||||
* be used to endorse or promote products derived from this software without
|
||||
* specific prior written permission.
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
*/
|
||||
|
||||
#ifndef lint
|
||||
static char sccsid[] = "@(#)tblcmp.c 5.2 (Berkeley) 6/18/90";
|
||||
#endif /* not lint */
|
||||
static char rcsid[] =
|
||||
"@(#) $Header: /cvsroot/src/usr.bin/lex/Attic/tblcmp.c,v 1.2 1993/05/04 07:45:15 cgd Exp $ (LBL)";
|
||||
#endif
|
||||
|
||||
#include "flexdef.h"
|
||||
|
||||
|
||||
/* declarations for functions that have forward references */
|
||||
|
||||
void mkentry PROTO((register int*, int, int, int, int));
|
||||
@ -380,7 +368,7 @@ int *state, numtrans;
|
||||
|
||||
while ( 1 ) /* loops until a space is found */
|
||||
{
|
||||
if ( i + numecs > current_max_xpairs )
|
||||
if ( i + numecs >= current_max_xpairs )
|
||||
expand_nxt_chk();
|
||||
|
||||
/* loops until space for end-of-buffer and action number are found */
|
||||
@ -401,7 +389,7 @@ int *state, numtrans;
|
||||
else
|
||||
++i;
|
||||
|
||||
if ( i + numecs > current_max_xpairs )
|
||||
if ( i + numecs >= current_max_xpairs )
|
||||
expand_nxt_chk();
|
||||
}
|
||||
|
||||
@ -488,7 +476,7 @@ void mkdeftbl()
|
||||
|
||||
++tblend; /* room for transition on end-of-buffer character */
|
||||
|
||||
if ( tblend + numecs > current_max_xpairs )
|
||||
if ( tblend + numecs >= current_max_xpairs )
|
||||
expand_nxt_chk();
|
||||
|
||||
/* add in default end-of-buffer transition */
|
||||
@ -596,7 +584,7 @@ int numchars, statenum, deflink, totaltrans;
|
||||
;
|
||||
}
|
||||
|
||||
if ( baseaddr + maxec - minec >= current_max_xpairs )
|
||||
if ( baseaddr + maxec - minec + 1 >= current_max_xpairs )
|
||||
expand_nxt_chk();
|
||||
|
||||
for ( i = minec; i <= maxec; ++i )
|
||||
@ -610,7 +598,8 @@ int numchars, statenum, deflink, totaltrans;
|
||||
++baseaddr )
|
||||
;
|
||||
|
||||
if ( baseaddr + maxec - minec >= current_max_xpairs )
|
||||
if ( baseaddr + maxec - minec + 1 >=
|
||||
current_max_xpairs )
|
||||
expand_nxt_chk();
|
||||
|
||||
/* reset the loop counter so we'll start all
|
||||
@ -632,7 +621,7 @@ int numchars, statenum, deflink, totaltrans;
|
||||
tblbase = baseaddr - minec;
|
||||
tbllast = tblbase + maxec;
|
||||
|
||||
if ( tbllast >= current_max_xpairs )
|
||||
if ( tbllast + 1 >= current_max_xpairs )
|
||||
expand_nxt_chk();
|
||||
|
||||
base[statenum] = tblbase;
|
||||
|
@ -5,44 +5,31 @@
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Vern Paxson of Lawrence Berkeley Laboratory.
|
||||
* Vern Paxson.
|
||||
*
|
||||
* The United States Government has rights in this work pursuant
|
||||
* to contract no. DE-AC03-76SF00098 between the United States
|
||||
* Department of Energy and the University of California.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
* Redistribution and use in source and binary forms are permitted provided
|
||||
* that: (1) source distributions retain this entire copyright notice and
|
||||
* comment, and (2) distributions including binaries display the following
|
||||
* acknowledgement: ``This product includes software developed by the
|
||||
* University of California, Berkeley and its contributors'' in the
|
||||
* documentation or other materials provided with the distribution and in
|
||||
* all advertising materials mentioning features or use of this software.
|
||||
* Neither the name of the University nor the names of its contributors may
|
||||
* be used to endorse or promote products derived from this software without
|
||||
* specific prior written permission.
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
*/
|
||||
|
||||
#ifndef lint
|
||||
static char sccsid[] = "@(#)yylex.c 5.2 (Berkeley) 6/18/90";
|
||||
#endif /* not lint */
|
||||
static char rcsid[] =
|
||||
"@(#) $Header: /cvsroot/src/usr.bin/lex/Attic/yylex.c,v 1.2 1993/05/04 07:45:17 cgd Exp $ (LBL)";
|
||||
#endif
|
||||
|
||||
#include <ctype.h>
|
||||
#include "flexdef.h"
|
||||
|
Loading…
x
Reference in New Issue
Block a user