Commit Graph

51 Commits

Author SHA1 Message Date
Nick Hibma
c613a5e7dc Fix breakage introduced in rev.1.7. yystacksize and yysslim are global and
should be prefixed by YYPREFIX as well.

Only relevant if -p <yyprefix> is used. Used in cases where multiple parsers
are used in executable.
2000-09-07 15:01:18 +00:00
Bruce Evans
87be6e697a Fixed breakage of K&R support in rev.1.26. yyparse() was defined as
`int yyparse(;) ; { ... }' in K&R mode.  Getting rid of the second
unwanted semicolon in this made the ifdef tangle more tangled than
before.  Fixed a backwards comment in the tangle.
2000-01-17 02:04:06 +00:00
Bruce Evans
dd079f6ca5 Fixed breakage of K&R support in rev.1.8 of output.c: don't generate
#elif.  Cleaned up rev.1.8 a bit more: generate the #include of
<stdio.h> closer to the code that needs it.
2000-01-17 01:51:29 +00:00
Kris Kennaway
af98c2e2cf malloc more space for temp file name
Noticed by:	marcel
2000-01-10 20:26:24 +00:00
Kris Kennaway
757219ec43 Feed mkstemp() some more X's to keep it safe. 2000-01-10 08:54:09 +00:00
David E. O'Brien
484620e2e4 Make "YYPARSE_PARAM" and "YYPARSE_PARAM_TYPE" C++/ANSI-C clean. 1999-10-28 15:18:05 +00:00
David E. O'Brien
c3584b3b4e Allow a user specified parameter to 'yyparse()', in a manner similar to
that used by bison.  The names are consistent with the bison implementation
but this one also allows the type of the parameter to be specified.

For a desired prototype of:

	int yyparse __P((struct yyresult *));

and compile like this:

	yacc -dv grammar.y
	cc -c -DYYPARSE_PARAM_TYPE="struct yyresult *" \
	      -DYYPARSE_PARAM="parm" y.tab.c

and use like this:

	${
	#include "usrtypes.h"
	#include "usrproto.h"
	}$

	%token NUMBER

	%%

	goal : NUMBER
		{
		parm->value = yylval;
		} ;

If YYPARSE_PARAM_TYPE isn't specified then "void *" is the default type.
If YYPARSE_PARAM is not specified then the generated code behaves exactly
as traditional byacc.

PR:		13562
Submitted by:	W Gerald Hicks <wghicks@bellsouth.net>
1999-10-27 17:51:37 +00:00
David E. O'Brien
cbfe363a6d Emit YYERRCODE into y.tab.h to help `lex' report scanning errors back to
Yacc.

PR:		13562
Submitted by:	W Gerald Hicks <wghicks@bellsouth.net>
1999-10-27 17:46:41 +00:00
Peter Wemm
c3aac50f28 $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
David E. O'Brien
17e6630760 Revert the past 3 commits to what should have been the rev 1.18 -> rev 1.19
change.  (doesn't anybody read commit logs and look at the diffs?)
1999-07-30 15:05:32 +00:00
Dag-Erling Smørgrav
aed4de8a07 Hyphens are not legal characters in a C identifier.
Broken by:	hoek
1999-07-30 14:52:23 +00:00
Tim Vanderhoek
593bbda376 Even better fix for last commit: rename rcsid[] to _yacc-parser_rcsid[]
(one always gets these ideas just after the commit).
1999-07-30 13:04:19 +00:00
Tim Vanderhoek
892d5804bb Don't output rcsid into the output parser. It may have already been
defined in an input file such as src/bin/sh/arith.y.  #if 0 it out.  I did
not add $Id$ back into the comment header (as removed from last commit).
1999-07-30 12:53:21 +00:00
David E. O'Brien
55293461db Only output `rcsid' (set to our Id string) into the resulting parser file.
Don't output `sccsid' (set to an anchient UCB Id string) into the parser file.

Submitted by:	bde
1999-07-30 06:40:00 +00:00
David E. O'Brien
5da860fa05 Follow the directions in the comments and add our Id string to the output
file.
1999-07-29 09:59:06 +00:00
David E. O'Brien
6db03527ff Check that user supplied the required argument; and if not, show usage().
Obtained from:	OpenBSD
1999-07-29 09:47:33 +00:00
David E. O'Brien
e7bd01e5df * Don't assume realloc() can take NULL as first arg. Yacc needs to
generate portable code...
* Correctly define yyparse() (ie, K&R vs. C++/ANSI-C)

Obtained from:	OpenBSD revs 1.5 & 1.10
1999-07-29 09:42:14 +00:00
David E. O'Brien
de18e37eba YYRECOVERING(), not YYRECOVERING.
Obtained from:	OpenBSD rev 1.8 (approved by Robert Corbett)
1999-07-29 08:47:30 +00:00
David E. O'Brien
030b221f78 Add support for Bison's "%expect <int>" directive.
I originally coded this myself, and now I realize {Net,Open}BSD had already
coded this.  I have tossed my version to reduce diffs between the projects.

Obtained from:	OpenBSD 2.5
1999-07-29 08:42:21 +00:00
Tim Vanderhoek
c897806b0b Regenerate to match changes made in the embedded yacc parser. 1999-07-23 23:13:44 +00:00
Tim Vanderhoek
0673595591 Regenerate this file. This fixes a y2k bogon. As an unintentional side-effect,
it also fixes that fact that this file badly needed to be regenerated due
to changes in yacc.

Not done by: pst (in misc/1380)
Almost done by: danny (in ftp.y)
1999-07-23 23:10:34 +00:00
Bill Fumerola
9ef5c48bef Clean up some ambiguous nested if/elses. 1999-07-04 17:26:16 +00:00
Peter Wemm
7c71e88713 Clean up the skeleton code a little. There was a #ifdef to avoid
stdlib.h unless on C++.  However, we already included it above, so there
was no point using the redundant declarations instead.
1999-04-18 13:37:49 +00:00
Daniel O'Callaghan
9a578eb627 "19%02", tm.year -> "%d", tm.year+1900 1999-01-18 22:42:05 +00:00
Warner Losh
fae4b464e3 Use mkstemp rather than mktemp for yacc's temp files. This change was made
to OpenBSD a long time ago and to my tree shortly thereafter.  I think theo
made this change, or one similar to it, but I could be wrong.
1998-06-09 04:20:51 +00:00
John Birrell
5b116430fc Add #include <string.h> to get prototypes. 1998-02-20 04:33:03 +00:00
Philippe Charnier
fca5180712 Use err(3). Rewrote man page in mdoc format. The user visible change is that
report of s/r and r/r conflicts is now printed in two separate lines beginning
by `yacc: '.
1997-08-28 06:33:53 +00:00
Steve Price
6e5f0e40e6 Add back the description of the -o option.
Threatened PR by: Tim Vanderhoek :)
1997-05-14 02:33:08 +00:00
Steve Price
86bdf9bc0b #include <stdlib.h> in the C++ case and declare getenv and realloc
in the C case so that we don't have to depend on stdlib.h being
present.

Submitted by:	Bruce Evans <bde@freefall.freebsd.org>
1997-04-29 03:07:45 +00:00
Steve Price
600e3340ca Keep style consistent.
Submitted by:	Bruce Evans <bde@freefall.freebsd.org>
1997-04-29 03:05:38 +00:00
Steve Price
7dce0a1e9f Fix problems using -Wwrite-strings and -Wcast-qual with yacc generated
parsers.  Closes PR #2792.

Submitted by:	Tim Vanderhoek
1997-04-28 03:36:13 +00:00
John-Mark Gurney
93e0d62d1c `appears'' -> `appeared'' (closes PR#3393, Submitted-by: Josh Gilliam)
add missing Id's
other minor clean ups
1997-04-27 08:45:46 +00:00
Bruce Evans
7677efc6a4 Don't generate invalid C++ code (for implicit conversion from `void *' in
assignment).
1997-03-22 01:48:17 +00:00
Peter Wemm
c115df18cd Revert $FreeBSD$ to $Id$ 1997-02-22 19:58:13 +00:00
Steve Price
8f2a742859 Implement the -o commandline switch. This does almost exactly
what bison does with -o, except it DTRT with respect to naming
the .code file when the -r switch is also used.

Submitted by: bde
1997-02-16 01:50:25 +00:00
Jordan K. Hubbard
1130b656e5 Make the long-awaited change from $Id$ to $FreeBSD$
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore.  This update would have been
insane otherwise.
1997-01-14 07:20:47 +00:00
Steve Price
2b5f199de6 Add RCS id's since these files have left the default branch. 1997-01-12 21:29:55 +00:00
Steve Price
2726ae5b7c This doesn't change any functionality, it simple makes yacc(1)
compile -Wall clean.
1997-01-12 21:16:25 +00:00
Steve Price
2b6dfbee74 Revert the '-o output_file_name' option changes. 1997-01-12 04:04:52 +00:00
Steve Price
610a365e2d Merge Lite2 mods. 1997-01-06 03:07:20 +00:00
Steve Price
55f61394b6 Implement and document a '-o output_file_name' option to
allow the generated code to be written to a file other
than the default, y.tab.c.

Inspired by: bde and brian@mediacity.com
1997-01-06 02:05:28 +00:00
Jeffrey Hsu
b20d9ed2e7 Add YYLEX and YYEMPTY macros to make byacc look more like bison.
Obtained from:  Cygnus source tree, with permission.
		Original commit by Jim Wilson, wilson@cygnus.com.
1996-11-04 21:54:52 +00:00
Steve Price
2e66d503c6 Fix for PR# 1427, yacc-generated parser generates warnings
with -Wall.  Tim's work with some minor additions by me.

Submitted by:	Tim Vanderhoek <hoek@freenet.hamilton.on.ca>
1996-09-22 02:05:53 +00:00
Peter Wemm
80396a110a Fix -Wall warning in skeleton parser 1996-09-03 10:56:32 +00:00
Joerg Wunsch
ec9b6b00a2 Make the yacc skeleton aware of C++. It was previously broken in the
YYDEBUG case (getenv() declared wrong).
1996-09-03 08:00:26 +00:00
Peter Wemm
a8a6cb214c Install yacc with a link as byacc (and the man page). Some gnu autoconf
scripts that check for features/fixes in bison also check for byacc and
dont find it unless there is a 'byacc' in the path.
1996-01-08 09:20:16 +00:00
Poul-Henning Kamp
08f9c42211 Make all the tables "const" so that they don't clutter our data-segment. 1996-01-07 22:30:13 +00:00
Bruce Evans
9c0dc173cc Change install' to ${INSTALL}' so that default install flags can be
specified in the top level Makefiles.
1995-07-25 00:37:58 +00:00
Rodney W. Grimes
7799f52a32 Remove trailing whitespace. 1995-05-30 06:41:30 +00:00
Jordan K. Hubbard
c28e4c86c0 Fix man extents from .0 to .1
Submitted by:	jkh
1994-08-11 01:42:28 +00:00