2002-11-12 Akim Demaille <akim@epita.fr>
+ * src/getargs.c (long_options): Remove duplicates.
+ * src/vmsgetargs.c, src/build.com, src/bison.cld, src/vmshlp.mar:
+ Remove.
+ * doc/bison.rnh: Remove.
+ * doc/bison.texinfo (VMS Invocation): Remove.
+
+2002-11-12 Akim Demaille <akim@epita.fr>
+
* src/struniq.h, src/struniq.c (struniq_t): Is const.
(STRUNIQ_EQ, struniq_assert, struniq_assert_p): New.
man_MANS = bison.1
bison_TEXINFOS = gpl.texi fdl.texi
-EXTRA_DIST = FAQ bison.1 bison.rnh refcard.tex
+EXTRA_DIST = FAQ bison.1 refcard.tex
CLEANFILES = refcard.dvi refcard.log refcard.ps
+++ /dev/null
-.!
-.! RUNOFF source file for BISON.HLP
-.!
-.! This is a RUNOFF input file which will produce a VMS help file
-.! for the VMS HELP library.
-.!
-.! Eric Youngdale and Wilfred J. Hansen (wjh+@cmu.edu).
-.!
-.literal
-.end literal
-.no paging
-.no flags all
-.right margin 70
-.left margin 1
-
-.indent -1
-1 BISON
-.skip
- The BISON command invokes the GNU BISON parser generator.
-.skip
-.literal
- BISON file-spec
-.end literal
-.skip
-.indent -1
-2 Parameters
-.skip
- file-spec
-.skip
-Here file-spec is the grammar file name, which usually ends in
-.y. The parser file's name is made by replacing the .y
-with _tab.c. Thus, the command bison foo.y yields
-foo_tab.c.
-
-.skip
-.indent -1
-2 Qualifiers
-.skip
- The following is the list of available qualifiers for BISON:
-.literal
- /DEBUG
- /DEFINES
- /FILE_PREFIX=prefix
- /FIXED_OUTFILES
- /NAME_PREFIX=prefix
- /NOLINES
- /NOPARSER
- /OUTPUT=outfilefile
- /RAW
- /TOKEN_TABLE
- /VERBOSE
- /VERSION
- /YACC
-.end literal
-.skip
-.indent -1
-2 /DEBUG
-.skip
-In the parser file,
-define the macro YYDEBUG to 1 if it is not already defined,
-so that the debugging facilities are compiled.
-.skip
-.indent -1
-2 /DEFINES
-.skip
-Write an extra output file containing macro definitions for the token
-type names defined in the grammar and the semantic value type
-YYSTYPE, as well as a extern variable declarations.
-.skip
-If the parser output file is named "name.c" then this file
-is named "name.h".
-.skip
-This output file is essential if you wish to put the definition of
-yylex in a separate source file, because yylex needs to
-be able to refer to token type codes and the variable
-yylval.
-.skip
-.indent -1
-2 /FILE_PREFIX
-.skip
-.literal
- /FILIE_PREFIX=prefix
-.end literal
-.skip
- Specify a prefix to use for all Bison output file names. The names are
-chosen as if the input file were named prefix.c
-
-.skip
-.indent -1
-2 /FIXED_OUTFILES
-.skip
-Equivalent to /OUTPUT=y_tab.c; the parser output file is called
-y_tab.c, and the other outputs are called y.output and
-y_tab.h. The purpose of this switch is to imitate Yacc's output
-file name conventions. The /YACC qualifier is functionally equivalent
-to /FIXED_OUTFILES. The following command definition will
-work as a substitute for Yacc:
-
-.literal
-$YACC:==BISON/FIXED_OUTFILES
-.end literal
-.skip
-.indent -1
-2 /NAME_PREFIX
-.skip
-.literal
- /NAME_PREFIX=prefix
-.end literal
-.skip
-Rename the external symbols used in the parser so that they start with
-"prefix" instead of "yy". The precise list of symbols renamed
-is yyparse, yylex, yyerror, yylval, yychar and yydebug.
-
-For example, if you use /NAME_PREFIX="c", the names become cparse,
-clex, and so on.
-
-.skip
-.indent -1
-2 /NOLINES
-.skip
-Don't put any "#line" preprocessor commands in the parser file.
-Ordinarily Bison puts them in the parser file so that the C compiler
-and debuggers will associate errors with your source file, the
-grammar file. This option causes them to associate errors with the
-parser file, treating it an independent source file in its own right.
-.skip
-.indent -1
-2 /NOPARSER
-.skip
-Do not generate the parser code into the output; generate only
-declarations. The generated name_tab.c file will have only
-constant declarations. In addition, a name.act file is
-generated containing a switch statement body containing all the
-translated actions.
-.skip
-.indent -1
-2 /OUTPUT
-.skip
-.literal
- /OUTPUT=outfile
-.end literal
-.skip
-Specify the name "outfile" for the parser file.
-.skip
-.indent -1
-2 /RAW
-.skip
-When this switch is specified, the .tab.h file defines the tokens to
-have the bison token numbers rather than the yacc compatible numbers.
-To employ this switch you would have to have your own parser.
-.skip
-.indent -1
-2 /TOKEN_TABLE
-.skip
-This switch causes the name_tab.c output to include a list of
-token names in order by their token numbers; this is defined in the array
-yytname. Also generated are #defines for YYNTOKENS, YYNNTS, YYNRULES,
-and YYNSTATES.
-
-.skip
-.indent -1
-2 /VERBOSE
-.skip
-Write an extra output file containing verbose descriptions of the
-parser states and what is done for each type of look-ahead token in
-that state.
-.skip
-This file also describes all the conflicts, both those resolved by
-operator precedence and the unresolved ones.
-.skip
-The file's name is made by removing _tab.c or .c from
-the parser output file name, and adding .output instead.
-.skip
-Therefore, if the input file is foo.y, then the parser file is
-called foo_tab.c by default. As a consequence, the verbose
-output file is called foo.output.
-.skip
-.indent -1
-2 /VERSION
-.skip
-Print the version number of Bison.
-
-.skip
-.indent -1
-2 /YACC
-.skip
-See /FIXED_OUTFILES.
-.skip
-.indent -1
-
-
-
* Bison Options:: All the options described in detail,
in alphabetical order by short options.
* Option Cross Key:: Alphabetical list of long options.
-* VMS Invocation:: Bison command syntax on @acronym{VMS}.
Frequently Asked Questions
* Bison Options:: All the options described in detail,
in alphabetical order by short options.
* Option Cross Key:: Alphabetical list of long options.
-* VMS Invocation:: Bison command syntax on @acronym{VMS}.
@end menu
@node Bison Options
@end example
@end ifinfo
-@node VMS Invocation
-@section Invoking Bison under @acronym{VMS}
-@cindex invoking Bison under @acronym{VMS}
-@cindex @acronym{VMS}
-
-The command line syntax for Bison on @acronym{VMS} is a variant of the usual
-Bison command syntax---adapted to fit @acronym{VMS} conventions.
-
-To find the @acronym{VMS} equivalent for any Bison option, start with the long
-option, and substitute a @samp{/} for the leading @samp{--}, and
-substitute a @samp{_} for each @samp{-} in the name of the long option.
-For example, the following invocation under @acronym{VMS}:
-
-@example
-bison /debug/name_prefix=bar foo.y
-@end example
-
-@noindent
-is equivalent to the following command under @acronym{POSIX}.
-
-@example
-bison --debug --name-prefix=bar foo.y
-@end example
-
-The @acronym{VMS} file system does not permit filenames such as
-@file{foo.tab.c}. In the above example, the output file
-would instead be named @file{foo_tab.c}.
-
@c ================================================= Invoking Bison
@node FAQ
BUILT_SOURCES = scan-skel.c scan-gram.c parse-gram.c parse-gram.h
-EXTRA_bison_SOURCES = vmsgetargs.c
-
-EXTRA_DIST = build.com bison.cld vmshlp.mar
-
echo:
echo $(bison_SOURCES) $(noinst_HEADERS)
+++ /dev/null
-!
-! VMS BISON command definition file
-!
-DEFINE VERB BISON
- IMAGE GNU_BISON:[000000]BISON
-
- PARAMETER P1,Label=BISON$INFILE,Prompt="File"
- value(required,type=$infile)
- QUALIFIER VERBOSE,Label=BISON$VERBOSE
- QUALIFIER DEFINES,Label=BISON$DEFINES
- QUALIFIER FIXED_OUTFILES,Label=BISON$FIXED_OUTFILES
- QUALIFIER NOPARSER,Label=BISON$NOPARSER
- QUALIFIER RAW,LABEL=BISON$RAW
- QUALIFIER TOKEN_TABLE,LABEL=BISON$TOKEN_TABLE
- qualifier nolines,Label=BISON$NOLINES
- qualifier debug,Label=BISON$DEBUG
- qualifier output,value(type=$outfile),Label=BISON$OUTPUT
- qualifier version,label=BISON$VERSION
- qualifier yacc,label=BISON$YACC
- qualifier file_prefix,value(type=$outfile),label=BISON$FILE_PREFIX
- qualifier name_prefix,value(type=$outfile),LABEL=BISON$NAME_PREFIX
+++ /dev/null
-$! Set the def dir to proper place for use in batch. Works for interactive too.
-$flnm = f$enviroment("PROCEDURE") ! get current procedure name
-$set default 'f$parse(flnm,,,"DEVICE")''f$parse(flnm,,,"DIRECTORY")'
-$!
-$! This command procedure compiles and links BISON for VMS.
-$! BISON has been tested with VAXC version 2.3 and VMS version 4.5
-$! and on VMS 4.5 with GCC 1.12.
-$!
-$! Bj|rn Larsen blarsen@ifi.uio.no
-$! With some contributions by Gabor Karsai,
-$! KARSAIG1%VUENGVAX.BITNET@jade.berkeley.edu
-$! All merged and cleaned by RMS.
-$!
-$! Adapted for both VAX-11 "C" and VMS/GCC compilation by
-$! David L. Kashtan kashtan.iu.ai.sri.com
-$!
-$! First we try to sense which C compiler we have available. Sensing logic
-$! borrowed from Emacs.
-$!
-$set noon !do not bomb if an error occurs.
-$assign nla0: sys$output
-$assign nla0: sys$error !so we do not get an error message about this.
-$cc nla0:compiler_check.c
-$if $status.eq.%x38090 then goto try_gcc
-$ CC :== CC
-$ cc_options:="/NOLIST/define=(""index=strchr"",""rindex=strrchr"")"
-$ extra_linker_files:="VMSHLP,"
-$goto have_compiler
-$!
-$try_gcc:
-$gcc nla0:compiler_check.c
-$if $status.eq.%x38090 then goto whoops
-$ CC :== GCC
-$ cc_options:="/DEBUG"
-$ extra_linker_files:="GNU_CC:[000000]GCCLIB/LIB,"
-$goto have_compiler
-$!
-$whoops:
-$write sys$output "You must have a C compiler to build BISON. Sorry."
-$deassign sys$output
-$deassign sys$error
-$exit %x38090
-$!
-$!
-$have_compiler:
-$deassign sys$output
-$deassign sys$error
-$set on
-$if f$search("compiler_check.obj").nes."" then dele/nolog compiler_check.obj;
-$write sys$output "Building BISON with the ''cc' compiler."
-$!
-$! Do the compilation (compiler type is all set up)
-$!
-$ Compile:
-$ if "''p1'" .eqs. "LINK" then goto Link
-$ 'CC' 'cc_options' files.c
-$ 'CC' 'cc_options' LR0.C
-$ 'CC' 'cc_options' ALLOCATE.C
-$ 'CC' 'cc_options' CLOSURE.C
-$ 'CC' 'cc_options' CONFLICTS.C
-$ 'CC' 'cc_options' DERIVES.C
-$ 'CC' 'cc_options' VMSGETARGS.C
-$ 'CC' 'cc_options' GRAM.C
-$ 'CC' 'cc_options' LALR.C
-$ 'CC' 'cc_options' LEX.C
-$ 'CC' 'cc_options' MAIN.C
-$ 'CC' 'cc_options' NULLABLE.C
-$ 'CC' 'cc_options' OUTPUT.C
-$ 'CC' 'cc_options' PRINT.C
-$ 'CC' 'cc_options' READER.C
-$ 'CC' 'cc_options' REDUCE.C
-$ 'CC' 'cc_options' SYMTAB.C
-$ 'CC' 'cc_options' WARSHALL.C
-$ 'CC' 'cc_options' VERSION.C
-$ if "''CC'" .eqs. "CC" then macro vmshlp.mar
-$ Link:
-$ link/exec=bison main,LR0,allocate,closure,conflicts,derives,files,-
-vmsgetargs,gram,lalr,lex,nullable,output,print,reader,reduce,symtab,warshall,-
-version,'extra_linker_files'sys$library:vaxcrtl/lib
-$!
-$! Generate bison.hlp (for online help).
-$!
-$runoff bison.rnh
/* Hidden. */
{ "trace", optional_argument, 0, 'T' },
- /* FIXME: semantic parsers will output an `include' of an
- output file: be sure that the naem included is indeed the name of
- the output file. */ /* FIXME Should we activate this options ?
- */
- { "output", required_argument, 0, 'o' },
- { "file-prefix", required_argument, 0, 'b' },
- { "name-prefix", required_argument, 0, 'p' },
-
- /*
- * Percent and command line declarations.
- */
-
/* Output. */
{ "defines", optional_argument, 0, 'd' },
MUSCLE_INSERT_INT ("pure", pure_parser);
MUSCLE_INSERT_INT ("synclines_flag", !no_lines_flag);
- /* FIXME: This is wrong: the muscles should decide whether they hold
- a copy or not, but the situation is too obscure currently. */
+ /* File names. */
MUSCLE_INSERT_STRING ("prefix", spec_name_prefix ? spec_name_prefix : "yy");
/* User Code. */
+++ /dev/null
-;/* Macro help routines for the BISON/VMS program
-; Gabor Karsai, Vanderbilt University
-;
-;BISON is distributed in the hope that it will be useful, but WITHOUT ANY
-;WARRANTY. No author or distributor accepts responsibility to anyone
-;for the consequences of using it or for whether it serves any
-;particular purpose or works at all, unless he says so in writing.
-;Refer to the BISON General Public License for full details.
-;
-;Everyone is granted permission to copy, modify and redistribute BISON,
-;but only under the conditions described in the BISON General Public
-;License. A copy of this license is supposed to have been given to you
-;along with BISON so you can know your rights and responsibilities. It
-;should be in a file named COPYING. Among other things, the copyright
-;notice and this notice must be preserved on all copies.
-;
-; In other words, you are welcome to use, share and improve this program.
-; You are forbidden to forbid anyone else to use, share and improve
-; what you give them. Help stamp out software-hoarding! */
-;
- .psect vmshlp pic,usr,rel,ovr,shr,long,exe,nowrt
-
-alloca::
- .word 0
- subl2 ^X4(ap),sp
- movl ^X10(fp),r1
- movq ^X8(fp),ap
- bicl2 #03,sp
- addl2 #^X1c,sp
- movl sp,r0
- jmp (r1)
-
-bcopy::
- .word ^X0e00
- movl ^X04(ap),r11
- movl ^X08(ap),r10
- movl ^X0c(ap),r9
- brb 1$
-2$: movb (r10)+,(r11)+
-1$: sobgeq r9,2$
- ret
- .end