* src/getargs.c (longopts): Support `--output'. getopt is now

able to understand that `--out' is OK: the two racing long options
are aliases.
(usage): Adjust.
* src/lex.h (tok_setopt): Remove, replaced with...
(tok_intopt, tok_stropt): these new guys.
* src/lex.c (getopt.h): Not needed.
(token_buffer, unlexed_token_buffer): Not const.
(percent_table): Promote `-' over `_' in directive names.
Active `%name-prefix', `file-prefix', and `output'.
(parse_percent_token): Accept possible arguments to directives.
Promote `-' over `_' in directive names.
* doc/bison.texinfo (Decl Summary): Split the list into
`directives for grammars' and `directives for bison'.
Sort'em.
Add description of `%name-prefix', `file-prefix', and `output'.
Promote `-' over `_' in directive names.
(Bison Options): s/%locactions/%locations/.  Nice Freudian slip.
Simplify the description of `--name-prefix'.
Promote `-' over `_' in directive names.
Promote `--output' over `--output-file'.
Fix the description of `--defines'.
* tests/output.at: Exercise %file-prefix and %output.
This commit is contained in:
Akim Demaille
2001-11-04 16:26:59 +00:00
parent 57c429f305
commit ea57e0a3c4
32 changed files with 966 additions and 901 deletions

View File

@@ -1,3 +1,29 @@
2001-11-04 Akim Demaille <akim@epita.fr>
* src/getargs.c (longopts): Support `--output'. getopt is now
able to understand that `--out' is OK: the two racing long options
are aliases.
(usage): Adjust.
* src/lex.h (tok_setopt): Remove, replaced with...
(tok_intopt, tok_stropt): these new guys.
* src/lex.c (getopt.h): Not needed.
(token_buffer, unlexed_token_buffer): Not const.
(percent_table): Promote `-' over `_' in directive names.
Active `%name-prefix', `file-prefix', and `output'.
(parse_percent_token): Accept possible arguments to directives.
Promote `-' over `_' in directive names.
* doc/bison.texinfo (Decl Summary): Split the list into
`directives for grammars' and `directives for bison'.
Sort'em.
Add description of `%name-prefix', `file-prefix', and `output'.
Promote `-' over `_' in directive names.
(Bison Options): s/%locactions/%locations/. Nice Freudian slip.
Simplify the description of `--name-prefix'.
Promote `-' over `_' in directive names.
Promote `--output' over `--output-file'.
Fix the description of `--defines'.
* tests/output.at: Exercise %file-prefix and %output.
2001-11-02 Akim Demaille <akim@epita.fr> 2001-11-02 Akim Demaille <akim@epita.fr>
* doc/refcard.tex: Update. * doc/refcard.tex: Update.

View File

@@ -137,9 +137,10 @@ RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \
uninstall-info-recursive all-recursive install-data-recursive \ uninstall-info-recursive all-recursive install-data-recursive \
install-exec-recursive installdirs-recursive install-recursive \ install-exec-recursive installdirs-recursive install-recursive \
uninstall-recursive check-recursive installcheck-recursive uninstall-recursive check-recursive installcheck-recursive
DIST_COMMON = README ./stamp-h1.in ABOUT-NLS AUTHORS COPYING ChangeLog \ DIST_COMMON = README ././stamp-h1.in ./stamp-h1.in ABOUT-NLS AUTHORS \
INSTALL Makefile.am Makefile.in NEWS README-alpha THANKS \ COPYING ChangeLog INSTALL Makefile.am Makefile.in NEWS \
aclocal.m4 config.hin configure configure.in README-alpha THANKS aclocal.m4 config.hin configure \
configure.in
DIST_SUBDIRS = $(SUBDIRS) DIST_SUBDIRS = $(SUBDIRS)
all: config.h all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive $(MAKE) $(AM_MAKEFLAGS) all-recursive
@@ -294,7 +295,7 @@ distdir: $(DISTFILES)
fi fi
-chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir) -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
mkdir $(distdir) mkdir $(distdir)
$(mkinstalldirs) $(distdir)/intl $(distdir)/po $(distdir)/tests $(mkinstalldirs) $(distdir)/./. $(distdir)/intl $(distdir)/po $(distdir)/tests
@for file in $(DISTFILES); do \ @for file in $(DISTFILES); do \
if test -f $$file; then d=.; else d=$(srcdir); fi; \ if test -f $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \

20
NEWS
View File

@@ -7,12 +7,20 @@ Changes in version 1.30a:
* Fixed CPP guards: 9foo.h uses BISON_9FOO_H instead of 9FOO_H. * Fixed CPP guards: 9foo.h uses BISON_9FOO_H instead of 9FOO_H.
* Fixed some typos in the documentation.
* %token MY_EOF 0 is supported. * %token MY_EOF 0 is supported.
Before, MY_EOF was silently renumbered as 257. Before, MY_EOF was silently renumbered as 257.
* doc/refcard.tex is updated. * doc/refcard.tex is updated.
* %output, %file-prefix, %name-prefix.
New.
* --output
New, aliasing `--output-file'.
Changes in version 1.30: Changes in version 1.30, 2001-10-26:
* `--defines' and `--graph' have now an optionnal argument which is the * `--defines' and `--graph' have now an optionnal argument which is the
output file name. `-d' and `-g' do not change, they do not take any output file name. `-d' and `-g' do not change, they do not take any
@@ -23,7 +31,7 @@ Changes in version 1.30:
* Portability fixes. * Portability fixes.
Changes in version 1.29: Changes in version 1.29, 2001-09-07:
* The output file does not define const, as this caused problems when used * The output file does not define const, as this caused problems when used
with common autoconfiguration schemes. If you still use ancient compilers with common autoconfiguration schemes. If you still use ancient compilers
@@ -58,7 +66,7 @@ Changes in version 1.29:
* @$ * @$
Automatic location tracking. Automatic location tracking.
Changes in version 1.28: Changes in version 1.28, 1999-07-06:
* Should compile better now with K&R compilers. * Should compile better now with K&R compilers.
@@ -90,7 +98,7 @@ Changes in version 1.26:
* Generated parsers should now work even on operating systems which do * Generated parsers should now work even on operating systems which do
not provide alloca(). not provide alloca().
Changes in version 1.25: Changes in version 1.25, 1995-10-16:
* Errors in the input grammar are not fatal; Bison keeps reading * Errors in the input grammar are not fatal; Bison keeps reading
the grammar file, and reports all the errors found in it. the grammar file, and reports all the errors found in it.
@@ -131,3 +139,7 @@ Changes in version 1.22:
Changes in version 1.20: Changes in version 1.20:
Output file does not redefine const for C++. Output file does not redefine const for C++.
Local Variables:
mode: outline
End:

View File

@@ -3,10 +3,10 @@
% Load plain if necessary, i.e., if running under initex. % Load plain if necessary, i.e., if running under initex.
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
% %
\def\texinfoversion{2001-07-25.07} \def\texinfoversion{2000-12-12.07}
% %
% Copyright (C) 1985, 86, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, % Copyright (C) 1985, 86, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2000
% 2000, 01 Free Software Foundation, Inc. % Free Software Foundation, Inc.
% %
% This texinfo.tex file is free software; you can redistribute it and/or % This texinfo.tex file is free software; you can redistribute it and/or
% modify it under the terms of the GNU General Public License as % modify it under the terms of the GNU General Public License as
@@ -170,16 +170,6 @@
}% }%
\fi \fi
% add check for \lastpenalty to plain's definitions. If the last thing
% we did was a \nobreak, we don't want to insert more space.
%
\def\smallbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\smallskipamount
\removelastskip\penalty-50\smallskip\fi\fi}
\def\medbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\medskipamount
\removelastskip\penalty-100\medskip\fi\fi}
\def\bigbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\bigskipamount
\removelastskip\penalty-200\bigskip\fi\fi}
% For @cropmarks command. % For @cropmarks command.
% Do @cropmarks to get crop marks. % Do @cropmarks to get crop marks.
% %
@@ -441,7 +431,7 @@
% environments. --karl, 6may93 % environments. --karl, 6may93
%{\advance \baselineskip by -\singlespaceskip %{\advance \baselineskip by -\singlespaceskip
%\kern \baselineskip}% %\kern \baselineskip}%
\setleading\singlespaceskip \setleading \singlespaceskip
} }
%% Simple single-character @ commands %% Simple single-character @ commands
@@ -934,15 +924,11 @@ where each line of input produces a line of output.}
\fi \fi
\ifx\empty\imagewidth\else width \imagewidth \fi \ifx\empty\imagewidth\else width \imagewidth \fi
\ifx\empty\imageheight\else height \imageheight \fi \ifx\empty\imageheight\else height \imageheight \fi
\ifnum\pdftexversion<13 {#1.pdf}%
#1.pdf%
\else
{#1.pdf}%
\fi
\ifnum\pdftexversion < 14 \else \ifnum\pdftexversion < 14 \else
\pdfrefximage \pdflastximage \pdfrefximage \pdflastximage
\fi} \fi}
\def\pdfmkdest#1{{\normalturnoffactive \pdfdest name{#1} xyz}} \def\pdfmkdest#1{\pdfdest name{#1@} xyz}
\def\pdfmkpgn#1{#1@} \def\pdfmkpgn#1{#1@}
\let\linkcolor = \Blue % was Cyan, but that seems light? \let\linkcolor = \Blue % was Cyan, but that seems light?
\def\endlink{\Black\pdfendlink} \def\endlink{\Black\pdfendlink}
@@ -1040,7 +1026,6 @@ where each line of input produces a line of output.}
\def\pdfurl#1{% \def\pdfurl#1{%
\begingroup \begingroup
\normalturnoffactive\def\@{@}% \normalturnoffactive\def\@{@}%
\let\value=\expandablevalue
\leavevmode\Red \leavevmode\Red
\startlink attr{/Border [0 0 0]}% \startlink attr{/Border [0 0 0]}%
user{/Subtype /Link /A << /S /URI /URI (#1) >>}% user{/Subtype /Link /A << /S /URI /URI (#1) >>}%
@@ -1068,8 +1053,9 @@ where each line of input produces a line of output.}
\def\makelink{\addtokens{\toksB}% \def\makelink{\addtokens{\toksB}%
{\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0} {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0}
\def\pdflink#1{% \def\pdflink#1{%
\startlink attr{/Border [0 0 0]} goto name{\pdfmkpgn{#1}} \startlink attr{/Border [0 0 0]} goto name{\mkpgn{#1}}
\linkcolor #1\endlink} \linkcolor #1\endlink}
\def\mkpgn#1{#1@}
\def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st} \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st}
\fi % \ifx\pdfoutput \fi % \ifx\pdfoutput
@@ -1086,29 +1072,9 @@ where each line of input produces a line of output.}
% We don't need math for this one. % We don't need math for this one.
\def\ttsl{\tenttsl} \def\ttsl{\tenttsl}
% Default leading.
\newdimen\textleading \textleading = 13.2pt
% Set the baselineskip to #1, and the lineskip and strut size
% correspondingly. There is no deep meaning behind these magic numbers
% used as factors; they just match (closely enough) what Knuth defined.
%
\def\lineskipfactor{.08333}
\def\strutheightpercent{.70833}
\def\strutdepthpercent {.29167}
%
\def\setleading#1{%
\normalbaselineskip = #1\relax
\normallineskip = \lineskipfactor\normalbaselineskip
\normalbaselines
\setbox\strutbox =\hbox{%
\vrule width0pt height\strutheightpercent\baselineskip
depth \strutdepthpercent \baselineskip
}%
}
% Use Computer Modern fonts at \magstephalf (11pt). % Use Computer Modern fonts at \magstephalf (11pt).
\newcount\mainmagstep \mainmagstep=\magstephalf \newcount\mainmagstep
\mainmagstep=\magstephalf
% Set the font macro #1 to the font named #2, adding on the % Set the font macro #1 to the font named #2, adding on the
% specified font prefix (normally `cm'). % specified font prefix (normally `cm').
@@ -1175,18 +1141,6 @@ where each line of input produces a line of output.}
\font\smalli=cmmi9 \font\smalli=cmmi9
\font\smallsy=cmsy9 \font\smallsy=cmsy9
% Fonts for small examples (8pt).
\setfont\smallerrm\rmshape{8}{1000}
\setfont\smallertt\ttshape{8}{1000}
\setfont\smallerbf\bfshape{10}{800}
\setfont\smallerit\itshape{8}{1000}
\setfont\smallersl\slshape{8}{1000}
\setfont\smallersf\sfshape{8}{1000}
\setfont\smallersc\scshape{10}{800}
\setfont\smallerttsl\ttslshape{10}{800}
\font\smalleri=cmmi8
\font\smallersy=cmsy8
% Fonts for title page: % Fonts for title page:
\setfont\titlerm\rmbshape{12}{\magstep3} \setfont\titlerm\rmbshape{12}{\magstep3}
\setfont\titleit\itbshape{10}{\magstep4} \setfont\titleit\itbshape{10}{\magstep4}
@@ -1275,7 +1229,7 @@ where each line of input produces a line of output.}
\let\tenrm=\textrm \let\tenit=\textit \let\tensl=\textsl \let\tenrm=\textrm \let\tenit=\textit \let\tensl=\textsl
\let\tenbf=\textbf \let\tentt=\texttt \let\smallcaps=\textsc \let\tenbf=\textbf \let\tentt=\texttt \let\smallcaps=\textsc
\let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy \let\tenttsl=\textttsl \let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy \let\tenttsl=\textttsl
\resetmathfonts \setleading{\textleading}} \resetmathfonts}
\def\titlefonts{% \def\titlefonts{%
\let\tenrm=\titlerm \let\tenit=\titleit \let\tensl=\titlesl \let\tenrm=\titlerm \let\tenit=\titleit \let\tensl=\titlesl
\let\tenbf=\titlebf \let\tentt=\titlett \let\smallcaps=\titlesc \let\tenbf=\titlebf \let\tentt=\titlett \let\smallcaps=\titlesc
@@ -1304,14 +1258,7 @@ where each line of input produces a line of output.}
\let\tenbf=\smallbf \let\tentt=\smalltt \let\smallcaps=\smallsc \let\tenbf=\smallbf \let\tentt=\smalltt \let\smallcaps=\smallsc
\let\tensf=\smallsf \let\teni=\smalli \let\tensy=\smallsy \let\tensf=\smallsf \let\teni=\smalli \let\tensy=\smallsy
\let\tenttsl=\smallttsl \let\tenttsl=\smallttsl
\resetmathfonts \setleading{10.5pt}} \resetmathfonts \setleading{11pt}}
\def\smallerfonts{%
\let\tenrm=\smallerrm \let\tenit=\smallerit \let\tensl=\smallersl
\let\tenbf=\smallerbf \let\tentt=\smallertt \let\smallcaps=\smallersc
\let\tensf=\smallersf \let\teni=\smalleri \let\tensy=\smallersy
\let\tenttsl=\smallerttsl
\resetmathfonts \setleading{9.5pt}}
\let\smallexamplefonts = \smallerfonts
% Set up the default fonts, so we can use them for creating boxes. % Set up the default fonts, so we can use them for creating boxes.
% %
@@ -1614,10 +1561,6 @@ where each line of input produces a line of output.}
\oldpage \oldpage
\endgroup \endgroup
% %
% Need this before the \...aftertitlepage checks so that if they are
% in effect the toc pages will come out with page numbers.
\HEADINGSon
%
% If they want short, they certainly want long too. % If they want short, they certainly want long too.
\ifsetshortcontentsaftertitlepage \ifsetshortcontentsaftertitlepage
\shortcontents \shortcontents
@@ -1633,6 +1576,8 @@ where each line of input produces a line of output.}
\fi \fi
% %
\ifpdf \pdfmakepagedesttrue \fi \ifpdf \pdfmakepagedesttrue \fi
%
\HEADINGSon
} }
\def\finishtitlepage{% \def\finishtitlepage{%
@@ -2394,15 +2339,13 @@ width0pt\relax} \fi
% %
\def\ignore{\doignore{ignore}} \def\ignore{\doignore{ignore}}
% Also ignore @ifinfo, @ifhtml, @ifnottex, @html, @menu, % Ignore @ifinfo, @ifhtml, @ifnottex, @html, @menu, and @direntry text.
% @documentdescription, and @direntry text.
% %
\def\ifinfo{\doignore{ifinfo}} \def\ifinfo{\doignore{ifinfo}}
\def\ifhtml{\doignore{ifhtml}} \def\ifhtml{\doignore{ifhtml}}
\def\ifnottex{\doignore{ifnottex}} \def\ifnottex{\doignore{ifnottex}}
\def\html{\doignore{html}} \def\html{\doignore{html}}
\def\menu{\doignore{menu}} \def\menu{\doignore{menu}}
\def\documentdescription{\doignore{documentdescription}}
\def\direntry{\doignore{direntry}} \def\direntry{\doignore{direntry}}
% @dircategory CATEGORY -- specify a category of the dir file % @dircategory CATEGORY -- specify a category of the dir file
@@ -2509,14 +2452,10 @@ width0pt\relax} \fi
\let\tenrm=\nullfont \let\tenit=\nullfont \let\tensl=\nullfont \let\tenrm=\nullfont \let\tenit=\nullfont \let\tensl=\nullfont
\let\tenbf=\nullfont \let\tentt=\nullfont \let\smallcaps=\nullfont \let\tenbf=\nullfont \let\tentt=\nullfont \let\smallcaps=\nullfont
\let\tensf=\nullfont \let\tensf=\nullfont
% Similarly for index fonts. % Similarly for index fonts (mostly for their use in smallexample).
\let\smallrm=\nullfont \let\smallit=\nullfont \let\smallsl=\nullfont \let\smallrm=\nullfont \let\smallit=\nullfont \let\smallsl=\nullfont
\let\smallbf=\nullfont \let\smalltt=\nullfont \let\smallsc=\nullfont \let\smallbf=\nullfont \let\smalltt=\nullfont \let\smallsc=\nullfont
\let\smallsf=\nullfont \let\smallsf=\nullfont
% Similarly for smallexample fonts.
\let\smallerrm=\nullfont \let\smallerit=\nullfont \let\smallersl=\nullfont
\let\smallerbf=\nullfont \let\smallertt=\nullfont \let\smallersc=\nullfont
\let\smallersf=\nullfont
% %
% Don't complain when characters are missing from the fonts. % Don't complain when characters are missing from the fonts.
\tracinglostchars = 0 \tracinglostchars = 0
@@ -2965,17 +2904,16 @@ width0pt\relax} \fi
% Now the real index entry with the fonts. % Now the real index entry with the fonts.
\toks0 = {#2}% \toks0 = {#2}%
% %
% If the third (subentry) arg is present, add it to the index % If third (subentry) arg is present, add it to the index
% line to write. % string. And include a space.
\ifx\thirdarg\emptymacro \else \ifx\thirdarg\emptymacro \else
\toks0 = \expandafter{\the\toks0{#3}}% \toks0 = \expandafter{\the\toks0 \space #3}%
\fi \fi
% %
% Set up the complete index entry, with both the sort key and % Set up the complete index entry, with both the sort key
% the original text, including any font commands. We write % and the original text, including any font commands. We write
% three arguments to \entry to the .?? file (four in the % three arguments to \entry to the .?? file, texindex reduces to
% subentry case), texindex reduces to two when writing the .??s % two when writing the .??s sorted result.
% sorted result.
\edef\temp{% \edef\temp{%
\write\csname#1indfile\endcsname{% \write\csname#1indfile\endcsname{%
\realbackslash entry{\indexsorttmp}{\folio}{\the\toks0}}% \realbackslash entry{\indexsorttmp}{\folio}{\the\toks0}}%
@@ -3197,18 +3135,11 @@ width0pt\relax} \fi
\def\primary #1{\line{#1\hfil}} \def\primary #1{\line{#1\hfil}}
\newskip\secondaryindent \secondaryindent=0.5cm \newskip\secondaryindent \secondaryindent=0.5cm
\def\secondary#1#2{{%
\parfillskip=0in \def\secondary #1#2{
\parskip=0in {\parfillskip=0in \parskip=0in
\hangindent=1in \hangindent =1in \hangafter=1
\hangafter=1 \noindent\hskip\secondaryindent\hbox{#1}\indexdotfill #2\par
\noindent\hskip\secondaryindent\hbox{#1}\indexdotfill
\ifpdf
\pdfgettoks#2.\ \the\toksA % The page number ends the paragraph.
\else
#2
\fi
\par
}} }}
% Define two-column mode, which we use to typeset indexes. % Define two-column mode, which we use to typeset indexes.
@@ -4203,17 +4134,9 @@ width0pt\relax} \fi
% is reset to zero; thus the \afterenvbreak inserts no space -- but the % is reset to zero; thus the \afterenvbreak inserts no space -- but the
% start of the next paragraph will insert \parskip % start of the next paragraph will insert \parskip
% %
\def\aboveenvbreak{{% \def\aboveenvbreak{{\advance\envskipamount by \parskip
\ifnum\lastpenalty < 10000 \endgraf \ifdim\lastskip<\envskipamount
\advance\envskipamount by \parskip \removelastskip \penalty-50 \vskip\envskipamount \fi}}
\endgraf
\ifdim\lastskip<\envskipamount
\removelastskip
\penalty-50
\vskip\envskipamount
\fi
\fi
}}
\let\afterenvbreak = \aboveenvbreak \let\afterenvbreak = \aboveenvbreak
@@ -4345,7 +4268,7 @@ width0pt\relax} \fi
\def\smalllispx{\begingroup \def\smalllispx{\begingroup
\def\Esmalllisp{\nonfillfinish\endgroup}% \def\Esmalllisp{\nonfillfinish\endgroup}%
\def\Esmallexample{\nonfillfinish\endgroup}% \def\Esmallexample{\nonfillfinish\endgroup}%
\smallexamplefonts \smallfonts
\lisp \lisp
} }
@@ -4356,12 +4279,12 @@ width0pt\relax} \fi
\let\Edisplay = \nonfillfinish \let\Edisplay = \nonfillfinish
\gobble \gobble
} }
%
% @smalldisplay (when @smallbook): @display plus smaller fonts. % @smalldisplay (when @smallbook): @display plus smaller fonts.
% %
\def\smalldisplayx{\begingroup \def\smalldisplayx{\begingroup
\def\Esmalldisplay{\nonfillfinish\endgroup}% \def\Esmalldisplay{\nonfillfinish\endgroup}%
\smallexamplefonts \rm \smallfonts \rm
\display \display
} }
@@ -4373,12 +4296,12 @@ width0pt\relax} \fi
\let\Eformat = \nonfillfinish \let\Eformat = \nonfillfinish
\gobble \gobble
} }
%
% @smallformat (when @smallbook): @format plus smaller fonts. % @smallformat (when @smallbook): @format plus smaller fonts.
% %
\def\smallformatx{\begingroup \def\smallformatx{\begingroup
\def\Esmallformat{\nonfillfinish\endgroup}% \def\Esmallformat{\nonfillfinish\endgroup}%
\smallexamplefonts \rm \smallfonts \rm
\format \format
} }
@@ -5529,15 +5452,13 @@ width0pt\relax} \fi
\ifpdf \ifpdf
\leavevmode \leavevmode
\getfilename{#4}% \getfilename{#4}%
{\normalturnoffactive \ifnum\filenamelength>0
\ifnum\filenamelength>0 \startlink attr{/Border [0 0 0]}%
\startlink attr{/Border [0 0 0]}% goto file{\the\filename.pdf} name{#1@}%
goto file{\the\filename.pdf} name{#1}% \else
\else \startlink attr{/Border [0 0 0]}%
\startlink attr{/Border [0 0 0]}% goto name{#1@}%
goto name{#1}% \fi
\fi
}%
\linkcolor \linkcolor
\fi \fi
% %
@@ -5817,6 +5738,24 @@ width0pt\relax} \fi
}%end \catcode `\@=11 }%end \catcode `\@=11
% Set the baselineskip to #1, and the lineskip and strut size
% correspondingly. There is no deep meaning behind these magic numbers
% used as factors; they just match (closely enough) what Knuth defined.
%
\def\lineskipfactor{.08333}
\def\strutheightpercent{.70833}
\def\strutdepthpercent {.29167}
%
\def\setleading#1{%
\normalbaselineskip = #1\relax
\normallineskip = \lineskipfactor\normalbaselineskip
\normalbaselines
\setbox\strutbox =\hbox{%
\vrule width0pt height\strutheightpercent\baselineskip
depth \strutdepthpercent \baselineskip
}%
}
% @| inserts a changebar to the left of the current line. It should % @| inserts a changebar to the left of the current line. It should
% surround any changed text. This approach does *not* work if the % surround any changed text. This approach does *not* work if the
% change spans more than two lines of output. To handle that, we would % change spans more than two lines of output. To handle that, we would
@@ -5888,10 +5827,8 @@ width0pt\relax} \fi
% Arguments to @image: % Arguments to @image:
% #1 is (mandatory) image filename; we tack on .eps extension. % #1 is (mandatory) image filename; we tack on .eps extension.
% #2 is (optional) width, #3 is (optional) height. % #2 is (optional) width, #3 is (optional) height.
% #4 is (ignored optional) html alt text. % #4 is just the usual extra ignored arg for parsing this stuff.
% #5 is (ignored optional) extension. \def\imagexxx#1,#2,#3,#4\finish{%
% #6 is just the usual extra ignored arg for parsing this stuff.
\def\imagexxx#1,#2,#3,#4,#5,#6\finish{%
\ifpdf \ifpdf
\centerline{\dopdfimage{#1}{#2}{#3}}% \centerline{\dopdfimage{#1}{#2}{#3}}%
\else \else
@@ -5899,8 +5836,7 @@ width0pt\relax} \fi
\setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi
\setbox0 = \hbox{\ignorespaces #3}\ifdim\wd0 > 0pt \epsfysize=#3\relax \fi \setbox0 = \hbox{\ignorespaces #3}\ifdim\wd0 > 0pt \epsfysize=#3\relax \fi
\begingroup \begingroup
\catcode`\^^M = 5 % in case we're inside an example \catcode`\^^M = 5 % in case we're inside an example
\normalturnoffactive % allow _ et al. in names
% If the image is by itself, center it. % If the image is by itself, center it.
\ifvmode \ifvmode
\nobreak\bigskip \nobreak\bigskip
@@ -5986,9 +5922,8 @@ should work if nowhere else does.}
} }
% Parameters in order: 1) textheight; 2) textwidth; 3) voffset; % Parameters in order: 1) textheight; 2) textwidth; 3) voffset;
% 4) hoffset; 5) binding offset; 6) topskip. We also call % 4) hoffset; 5) binding offset; 6) topskip. Then whoever calls us can
% \setleading{\textleading}, so the caller should define \textleading. % set \parskip and call \setleading for \baselineskip.
% The caller should also set \parskip.
% %
\def\internalpagesizes#1#2#3#4#5#6{% \def\internalpagesizes#1#2#3#4#5#6{%
\voffset = #3\relax \voffset = #3\relax
@@ -6009,25 +5944,14 @@ should work if nowhere else does.}
\normaloffset = #4\relax \normaloffset = #4\relax
\bindingoffset = #5\relax \bindingoffset = #5\relax
% %
\setleading{\textleading}
%
\parindent = \defaultparindent \parindent = \defaultparindent
\setemergencystretch \setemergencystretch
} }
% Use `small' versions.
%
\def\smallenvironments{%
\let\smalldisplay = \smalldisplayx
\let\smallexample = \smalllispx
\let\smallformat = \smallformatx
\let\smalllisp = \smalllispx
}
% @letterpaper (the default). % @letterpaper (the default).
\def\letterpaper{{\globaldefs = 1 \def\letterpaper{{\globaldefs = 1
\parskip = 3pt plus 2pt minus 1pt \parskip = 3pt plus 2pt minus 1pt
\textleading = 13.2pt \setleading{13.2pt}%
% %
% If page is nothing but text, make it come out even. % If page is nothing but text, make it come out even.
\internalpagesizes{46\baselineskip}{6in}{\voffset}{.25in}{\bindingoffset}{36pt}% \internalpagesizes{46\baselineskip}{6in}{\voffset}{.25in}{\bindingoffset}{36pt}%
@@ -6036,7 +5960,7 @@ should work if nowhere else does.}
% Use @smallbook to reset parameters for 7x9.5 (or so) format. % Use @smallbook to reset parameters for 7x9.5 (or so) format.
\def\smallbook{{\globaldefs = 1 \def\smallbook{{\globaldefs = 1
\parskip = 2pt plus 1pt \parskip = 2pt plus 1pt
\textleading = 12pt \setleading{12pt}%
% %
\internalpagesizes{7.5in}{5.in}{\voffset}{.25in}{\bindingoffset}{16pt}% \internalpagesizes{7.5in}{5.in}{\voffset}{.25in}{\bindingoffset}{16pt}%
% %
@@ -6046,13 +5970,17 @@ should work if nowhere else does.}
\contentsrightmargin = 0pt \contentsrightmargin = 0pt
\deftypemargin = 0pt \deftypemargin = 0pt
\defbodyindent = .5cm \defbodyindent = .5cm
\smallenvironments %
\let\smalldisplay = \smalldisplayx
\let\smallexample = \smalllispx
\let\smallformat = \smallformatx
\let\smalllisp = \smalllispx
}} }}
% Use @afourpaper to print on European A4 paper. % Use @afourpaper to print on European A4 paper.
\def\afourpaper{{\globaldefs = 1 \def\afourpaper{{\globaldefs = 1
\setleading{12pt}%
\parskip = 3pt plus 2pt minus 1pt \parskip = 3pt plus 2pt minus 1pt
\textleading = 12pt
% %
\internalpagesizes{53\baselineskip}{160mm}{\voffset}{4mm}{\bindingoffset}{44pt}% \internalpagesizes{53\baselineskip}{160mm}{\voffset}{4mm}{\bindingoffset}{44pt}%
% %
@@ -6060,39 +5988,23 @@ should work if nowhere else does.}
\hfuzz = 1pt \hfuzz = 1pt
}} }}
% Use @afivepaper to print on European A5 paper.
% From romildo@urano.iceb.ufop.br, 2 July 2000.
% He also recommends making @example and @lisp be small.
\def\afivepaper{{\globaldefs = 1
\parskip = 2pt plus 1pt minus 0.1pt
\textleading = 12.5pt
%
\internalpagesizes{166mm}{120mm}{\voffset}{-8mm}{\bindingoffset}{8pt}%
%
\lispnarrowing = 0.2in
\tolerance = 800
\hfuzz = 1.2pt
\contentsrightmargin = 0mm
\deftypemargin = 0pt
\defbodyindent = 2mm
\tableindent = 12mm
%
\smallenvironments
}}
% A specific text layout, 24x15cm overall, intended for A4 paper. Top margin % A specific text layout, 24x15cm overall, intended for A4 paper. Top margin
% 29mm, hence bottom margin 28mm, nominal side margin 3cm. % 29mm, hence bottom margin 28mm, nominal side margin 3cm.
\def\afourlatex{{\globaldefs = 1 \def\afourlatex{{\globaldefs = 1
\textleading = 13.6pt \setleading{13.6pt}%
% %
\afourpaper \afourpaper
\internalpagesizes{237mm}{150mm}{3.6mm}{3.6mm}{3mm}{7mm}% \internalpagesizes{237mm}{150mm}{3.6mm}{3.6mm}{3mm}{7mm}%
%
\globaldefs = 0
}} }}
% Use @afourwide to print on European A4 paper in wide format. % Use @afourwide to print on European A4 paper in wide format.
\def\afourwide{% \def\afourwide{%
\afourpaper \afourpaper
\internalpagesizes{6.5in}{9.5in}{\hoffset}{\normaloffset}{\bindingoffset}{7mm}% \internalpagesizes{6.5in}{9.5in}{\hoffset}{\normaloffset}{\bindingoffset}{7mm}%
%
\globaldefs = 0
} }
% @pagesizes TEXTHEIGHT[,TEXTWIDTH] % @pagesizes TEXTHEIGHT[,TEXTWIDTH]
@@ -6106,7 +6018,7 @@ should work if nowhere else does.}
\globaldefs = 1 \globaldefs = 1
% %
\parskip = 3pt plus 2pt minus 1pt \parskip = 3pt plus 2pt minus 1pt
\setleading{\textleading}% \setleading{13.2pt}%
% %
\internalpagesizes{#1}{\hsize}{\voffset}{\normaloffset}{\bindingoffset}{44pt}% \internalpagesizes{#1}{\hsize}{\voffset}{\normaloffset}{\bindingoffset}{44pt}%
}} }}

View File

@@ -31,115 +31,115 @@ instead of in the original English.
 
Indirect: Indirect:
bison.info-1: 1313 bison.info-1: 1313
bison.info-2: 50691 bison.info-2: 50689
bison.info-3: 100581 bison.info-3: 100579
bison.info-4: 150131 bison.info-4: 147579
bison.info-5: 197908 bison.info-5: 197449
 
Tag Table: Tag Table:
(Indirect) (Indirect)
Node: Top1313 Node: Top1313
Node: Introduction8969 Node: Introduction8967
Node: Conditions10244 Node: Conditions10242
Node: Copying11708 Node: Copying11706
Node: Concepts30911 Node: Concepts30909
Node: Language and Grammar31990 Node: Language and Grammar31988
Node: Grammar in Bison37006 Node: Grammar in Bison37004
Node: Semantic Values38930 Node: Semantic Values38928
Node: Semantic Actions41031 Node: Semantic Actions41029
Node: Locations Overview42220 Node: Locations Overview42218
Node: Bison Parser43667 Node: Bison Parser43665
Node: Stages45979 Node: Stages45977
Node: Grammar Layout47262 Node: Grammar Layout47260
Node: Examples48519 Node: Examples48517
Node: RPN Calc49717 Node: RPN Calc49715
Node: Rpcalc Decls50691 Node: Rpcalc Decls50689
Node: Rpcalc Rules52278 Node: Rpcalc Rules52276
Node: Rpcalc Input54078 Node: Rpcalc Input54076
Node: Rpcalc Line55539 Node: Rpcalc Line55537
Node: Rpcalc Expr56654 Node: Rpcalc Expr56652
Node: Rpcalc Lexer58599 Node: Rpcalc Lexer58597
Node: Rpcalc Main61171 Node: Rpcalc Main61169
Node: Rpcalc Error61569 Node: Rpcalc Error61567
Node: Rpcalc Gen62577 Node: Rpcalc Gen62575
Node: Rpcalc Compile63726 Node: Rpcalc Compile63724
Node: Infix Calc64601 Node: Infix Calc64599
Node: Simple Error Recovery67308 Node: Simple Error Recovery67306
Node: Location Tracking Calc69197 Node: Location Tracking Calc69195
Node: Ltcalc Decls69927 Node: Ltcalc Decls69925
Node: Ltcalc Rules70836 Node: Ltcalc Rules70834
Node: Ltcalc Lexer72897 Node: Ltcalc Lexer72895
Node: Multi-function Calc75235 Node: Multi-function Calc75233
Node: Mfcalc Decl76802 Node: Mfcalc Decl76800
Node: Mfcalc Rules78825 Node: Mfcalc Rules78823
Node: Mfcalc Symtab80205 Node: Mfcalc Symtab80203
Node: Exercises86578 Node: Exercises86576
Node: Grammar File87084 Node: Grammar File87082
Node: Grammar Outline87932 Node: Grammar Outline87930
Node: C Declarations88666 Node: C Declarations88664
Node: Bison Declarations89246 Node: Bison Declarations89244
Node: Grammar Rules89658 Node: Grammar Rules89656
Node: C Code90118 Node: C Code90116
Node: Symbols91048 Node: Symbols91046
Node: Rules96129 Node: Rules96127
Node: Recursion97768 Node: Recursion97766
Node: Semantics99487 Node: Semantics99485
Node: Value Type100581 Node: Value Type100579
Node: Multiple Types101253 Node: Multiple Types101251
Node: Actions102270 Node: Actions102268
Node: Action Types105055 Node: Action Types105053
Node: Mid-Rule Actions106358 Node: Mid-Rule Actions106356
Node: Locations111928 Node: Locations111926
Node: Location Type112576 Node: Location Type112574
Node: Actions and Locations113134 Node: Actions and Locations113132
Node: Location Default Action115290 Node: Location Default Action115288
Node: Declarations116753 Node: Declarations116751
Node: Token Decl118072 Node: Token Decl118070
Node: Precedence Decl120085 Node: Precedence Decl120083
Node: Union Decl121636 Node: Union Decl121634
Node: Type Decl122480 Node: Type Decl122478
Node: Expect Decl123386 Node: Expect Decl123384
Node: Start Decl124932 Node: Start Decl124930
Node: Pure Decl125310 Node: Pure Decl125308
Node: Decl Summary126987 Node: Decl Summary126985
Node: Multiple Parsers132370 Node: Multiple Parsers133113
Node: Interface133864 Node: Interface134607
Node: Parser Function134736 Node: Parser Function135479
Node: Lexical135571 Node: Lexical136314
Node: Calling Convention136977 Node: Calling Convention137720
Node: Token Values139748 Node: Token Values140491
Node: Token Positions140897 Node: Token Positions141640
Node: Pure Calling141782 Node: Pure Calling142525
Node: Error Reporting144714 Node: Error Reporting145457
Node: Action Features146836 Node: Action Features147579
Node: Algorithm150131 Node: Algorithm150874
Node: Look-Ahead152424 Node: Look-Ahead153167
Node: Shift/Reduce154556 Node: Shift/Reduce155299
Node: Precedence157468 Node: Precedence158211
Node: Why Precedence158119 Node: Why Precedence158862
Node: Using Precedence159984 Node: Using Precedence160727
Node: Precedence Examples160952 Node: Precedence Examples161695
Node: How Precedence161653 Node: How Precedence162396
Node: Contextual Precedence162802 Node: Contextual Precedence163545
Node: Parser States164593 Node: Parser States165336
Node: Reduce/Reduce165836 Node: Reduce/Reduce166579
Node: Mystery Conflicts169397 Node: Mystery Conflicts170140
Node: Stack Overflow172783 Node: Stack Overflow173526
Node: Error Recovery174156 Node: Error Recovery174899
Node: Context Dependency179292 Node: Context Dependency180035
Node: Semantic Tokens180140 Node: Semantic Tokens180883
Node: Lexical Tie-ins183157 Node: Lexical Tie-ins183900
Node: Tie-in Recovery184705 Node: Tie-in Recovery185448
Node: Debugging186877 Node: Debugging187620
Node: Invocation190178 Node: Invocation190921
Node: Bison Options191430 Node: Bison Options192173
Node: Environment Variables195398 Node: Environment Variables195723
Node: Option Cross Key196246 Node: Option Cross Key196571
Node: VMS Invocation197124 Node: VMS Invocation197449
Node: Table of Symbols197908 Node: Table of Symbols198233
Node: Glossary205547 Node: Glossary206201
Node: Copying This Manual211851 Node: Copying This Manual212505
Node: GNU Free Documentation License212060 Node: GNU Free Documentation License212714
Node: Index231925 Node: Index232579
 
End Tag Table End Tag Table

View File

@@ -34,7 +34,7 @@ File: bison.info, Node: Top, Next: Introduction, Up: (dir)
Bison Bison
***** *****
This manual documents version 1.30a of Bison, updated 20 September This manual documents version 1.30a of Bison, updated 4 November
2001. 2001.
* Menu: * Menu:

View File

@@ -710,7 +710,7 @@ File: bison.info, Node: Decl Summary, Prev: Pure Decl, Up: Declarations
Bison Declaration Summary Bison Declaration Summary
------------------------- -------------------------
Here is a summary of all Bison declarations: Here is a summary of the declarations used to define a grammar:
`%union' `%union'
Declare the collection of data types that semantic values may have Declare the collection of data types that semantic values may have
@@ -745,38 +745,9 @@ Bison Declaration Summary
Declare the expected number of shift-reduce conflicts (*note Declare the expected number of shift-reduce conflicts (*note
Suppressing Conflict Warnings: Expect Decl.). Suppressing Conflict Warnings: Expect Decl.).
`%yacc'
`%fixed_output_files'
Pretend the option `--yacc' was given, i.e., imitate Yacc,
including its naming conventions. *Note Bison Options::, for more.
`%locations' In order to change the behavior of `bison', use the following
Generate the code processing the locations (*note Special Features directives:
for Use in Actions: Action Features.). This mode is enabled as
soon as the grammar uses the special `@N' tokens, but if your
grammar does not use it, using `%locations' allows for more
accurate parse error messages.
`%pure_parser'
Request a pure (reentrant) parser program (*note A Pure
(Reentrant) Parser: Pure Decl.).
`%no_parser'
Do not include any C code in the parser file; generate tables
only. The parser file contains just `#define' directives and
static variable declarations.
This option also tells Bison to write the C code for the grammar
actions into a file named `FILENAME.act', in the form of a
brace-surrounded body fit for a `switch' statement.
`%no_lines'
Don't generate any `#line' preprocessor commands in the parser
file. Ordinarily Bison writes these commands in the parser file
so that the C compiler and debuggers will associate errors and
object code with your source file (the grammar file). This
directive causes them to associate errors with the parser file,
treating it an independent source file in its own right.
`%debug' `%debug'
Output a definition of the macro `YYDEBUG' into the parser file, so Output a definition of the macro `YYDEBUG' into the parser file, so
@@ -796,20 +767,48 @@ Bison Declaration Summary
able to refer to token type codes and the variable `yylval'. able to refer to token type codes and the variable `yylval'.
*Note Semantic Values of Tokens: Token Values. *Note Semantic Values of Tokens: Token Values.
`%verbose' `%file-prefix="PREFIX"'
Write an extra output file containing verbose descriptions of the Specify a prefix to use for all Bison output file names. The
parser states and what is done for each type of look-ahead token in names are chosen as if the input file were named `PREFIX.y'.
that state.
This file also describes all the conflicts, both those resolved by `%locations'
operator precedence and the unresolved ones. Generate the code processing the locations (*note Special Features
for Use in Actions: Action Features.). This mode is enabled as
soon as the grammar uses the special `@N' tokens, but if your
grammar does not use it, using `%locations' allows for more
accurate parse error messages.
The file's name is made by removing `.tab.c' or `.c' from the `%name-prefix="PREFIX"'
parser output file name, and adding `.output' instead. 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', `yynerrs', `yylval', `yychar'
and `yydebug'. For example, if you use `%name-prefix="c_"', the
names become `c_parse', `c_lex', and so on. *Note Multiple
Parsers in the Same Program: Multiple Parsers.
Therefore, if the input file is `foo.y', then the parser file is `%no-parser'
called `foo.tab.c' by default. As a consequence, the verbose Do not include any C code in the parser file; generate tables
output file is called `foo.output'. only. The parser file contains just `#define' directives and
static variable declarations.
This option also tells Bison to write the C code for the grammar
actions into a file named `FILENAME.act', in the form of a
brace-surrounded body fit for a `switch' statement.
`%no-lines'
Don't generate any `#line' preprocessor commands in the parser
file. Ordinarily Bison writes these commands in the parser file
so that the C compiler and debuggers will associate errors and
object code with your source file (the grammar file). This
directive causes them to associate errors with the parser file,
treating it an independent source file in its own right.
`%output="FILENAME"'
Specify the FILENAME for the parser file.
`%pure-parser'
Request a pure (reentrant) parser program (*note A Pure
(Reentrant) Parser: Pure Decl.).
`%token_table' `%token_table'
Generate an array of token names in the parser file. The name of Generate an array of token names in the parser file. The name of
@@ -845,6 +844,26 @@ Bison Declaration Summary
`YYNSTATES' `YYNSTATES'
The number of parser states (*note Parser States::). The number of parser states (*note Parser States::).
`%verbose'
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.
This file also describes all the conflicts, both those resolved by
operator precedence and the unresolved ones.
The file's name is made by removing `.tab.c' or `.c' from the
parser output file name, and adding `.output' instead.
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'.
`%yacc'
`%fixed-output-files'
Pretend the option `--yacc' was given, i.e., imitate Yacc,
including its naming conventions. *Note Bison Options::, for more.
 
File: bison.info, Node: Multiple Parsers, Prev: Declarations, Up: Grammar File File: bison.info, Node: Multiple Parsers, Prev: Declarations, Up: Grammar File
@@ -1226,92 +1245,3 @@ encountered so far. Normally this variable is global; but if you
request a pure parser (*note A Pure (Reentrant) Parser: Pure Decl.) request a pure parser (*note A Pure (Reentrant) Parser: Pure Decl.)
then it is a local variable which only the actions can access. then it is a local variable which only the actions can access.

File: bison.info, Node: Action Features, Prev: Error Reporting, Up: Interface
Special Features for Use in Actions
===================================
Here is a table of Bison constructs, variables and macros that are
useful in actions.
`$$'
Acts like a variable that contains the semantic value for the
grouping made by the current rule. *Note Actions::.
`$N'
Acts like a variable that contains the semantic value for the Nth
component of the current rule. *Note Actions::.
`$<TYPEALT>$'
Like `$$' but specifies alternative TYPEALT in the union specified
by the `%union' declaration. *Note Data Types of Values in
Actions: Action Types.
`$<TYPEALT>N'
Like `$N' but specifies alternative TYPEALT in the union specified
by the `%union' declaration. *Note Data Types of Values in
Actions: Action Types.
`YYABORT;'
Return immediately from `yyparse', indicating failure. *Note The
Parser Function `yyparse': Parser Function.
`YYACCEPT;'
Return immediately from `yyparse', indicating success. *Note The
Parser Function `yyparse': Parser Function.
`YYBACKUP (TOKEN, VALUE);'
Unshift a token. This macro is allowed only for rules that reduce
a single value, and only when there is no look-ahead token. It
installs a look-ahead token with token type TOKEN and semantic
value VALUE; then it discards the value that was going to be
reduced by this rule.
If the macro is used when it is not valid, such as when there is a
look-ahead token already, then it reports a syntax error with a
message `cannot back up' and performs ordinary error recovery.
In either case, the rest of the action is not executed.
`YYEMPTY'
Value stored in `yychar' when there is no look-ahead token.
`YYERROR;'
Cause an immediate syntax error. This statement initiates error
recovery just as if the parser itself had detected an error;
however, it does not call `yyerror', and does not print any
message. If you want to print an error message, call `yyerror'
explicitly before the `YYERROR;' statement. *Note Error
Recovery::.
`YYRECOVERING'
This macro stands for an expression that has the value 1 when the
parser is recovering from a syntax error, and 0 the rest of the
time. *Note Error Recovery::.
`yychar'
Variable containing the current look-ahead token. (In a pure
parser, this is actually a local variable within `yyparse'.) When
there is no look-ahead token, the value `YYEMPTY' is stored in the
variable. *Note Look-Ahead Tokens: Look-Ahead.
`yyclearin;'
Discard the current look-ahead token. This is useful primarily in
error rules. *Note Error Recovery::.
`yyerrok;'
Resume generating error messages immediately for subsequent syntax
errors. This is useful primarily in error rules. *Note Error
Recovery::.
`@$'
Acts like a structure variable containing information on the
textual position of the grouping made by the current rule. *Note
Tracking Locations: Locations.
`@N'
Acts like a structure variable containing information on the
textual position of the Nth component of the current rule. *Note
Tracking Locations: Locations.

View File

@@ -28,6 +28,95 @@ License", "Conditions for Using Bison" and this permission notice may be
included in translations approved by the Free Software Foundation included in translations approved by the Free Software Foundation
instead of in the original English. instead of in the original English.

File: bison.info, Node: Action Features, Prev: Error Reporting, Up: Interface
Special Features for Use in Actions
===================================
Here is a table of Bison constructs, variables and macros that are
useful in actions.
`$$'
Acts like a variable that contains the semantic value for the
grouping made by the current rule. *Note Actions::.
`$N'
Acts like a variable that contains the semantic value for the Nth
component of the current rule. *Note Actions::.
`$<TYPEALT>$'
Like `$$' but specifies alternative TYPEALT in the union specified
by the `%union' declaration. *Note Data Types of Values in
Actions: Action Types.
`$<TYPEALT>N'
Like `$N' but specifies alternative TYPEALT in the union specified
by the `%union' declaration. *Note Data Types of Values in
Actions: Action Types.
`YYABORT;'
Return immediately from `yyparse', indicating failure. *Note The
Parser Function `yyparse': Parser Function.
`YYACCEPT;'
Return immediately from `yyparse', indicating success. *Note The
Parser Function `yyparse': Parser Function.
`YYBACKUP (TOKEN, VALUE);'
Unshift a token. This macro is allowed only for rules that reduce
a single value, and only when there is no look-ahead token. It
installs a look-ahead token with token type TOKEN and semantic
value VALUE; then it discards the value that was going to be
reduced by this rule.
If the macro is used when it is not valid, such as when there is a
look-ahead token already, then it reports a syntax error with a
message `cannot back up' and performs ordinary error recovery.
In either case, the rest of the action is not executed.
`YYEMPTY'
Value stored in `yychar' when there is no look-ahead token.
`YYERROR;'
Cause an immediate syntax error. This statement initiates error
recovery just as if the parser itself had detected an error;
however, it does not call `yyerror', and does not print any
message. If you want to print an error message, call `yyerror'
explicitly before the `YYERROR;' statement. *Note Error
Recovery::.
`YYRECOVERING'
This macro stands for an expression that has the value 1 when the
parser is recovering from a syntax error, and 0 the rest of the
time. *Note Error Recovery::.
`yychar'
Variable containing the current look-ahead token. (In a pure
parser, this is actually a local variable within `yyparse'.) When
there is no look-ahead token, the value `YYEMPTY' is stored in the
variable. *Note Look-Ahead Tokens: Look-Ahead.
`yyclearin;'
Discard the current look-ahead token. This is useful primarily in
error rules. *Note Error Recovery::.
`yyerrok;'
Resume generating error messages immediately for subsequent syntax
errors. This is useful primarily in error rules. *Note Error
Recovery::.
`@$'
Acts like a structure variable containing information on the
textual position of the grouping made by the current rule. *Note
Tracking Locations: Locations.
`@N'
Acts like a structure variable containing information on the
textual position of the Nth component of the current rule. *Note
Tracking Locations: Locations.
 
File: bison.info, Node: Algorithm, Next: Error Recovery, Prev: Interface, Up: Top File: bison.info, Node: Algorithm, Next: Error Recovery, Prev: Interface, Up: Top
@@ -1118,19 +1207,12 @@ Tuning the parser:
Parser: Debugging. Parser: Debugging.
`--locations' `--locations'
Pretend that `%locactions' was specified. *Note Decl Summary::. Pretend that `%locations' was specified. *Note Decl Summary::.
`-p PREFIX' `-p PREFIX'
`--name-prefix=PREFIX' `--name-prefix=PREFIX'
Rename the external symbols used in the parser so that they start Pretend that `%name-prefix="PREFIX"' was specified. *Note Decl
with PREFIX instead of `yy'. The precise list of symbols renamed Summary::.
is `yyparse', `yylex', `yyerror', `yynerrs', `yylval', `yychar'
and `yydebug'.
For example, if you use `-p c', the names become `cparse', `clex',
and so on.
*Note Multiple Parsers in the Same Program: Multiple Parsers.
`-l' `-l'
`--no-lines' `--no-lines'
@@ -1143,41 +1225,40 @@ Tuning the parser:
`-n' `-n'
`--no-parser' `--no-parser'
Pretend that `%no_parser' was specified. *Note Decl Summary::. Pretend that `%no-parser' was specified. *Note Decl Summary::.
`-k' `-k'
`--token-table' `--token-table'
Pretend that `%token_table' was specified. *Note Decl Summary::. Pretend that `%token-table' was specified. *Note Decl Summary::.
Adjust the output: Adjust the output:
`-d' `-d'
Pretend that `%verbose' was specified, i.e., write an extra output `--defines'
Pretend that `%defines' was specified, i.e., write an extra output
file containing macro definitions for the token type names defined file containing macro definitions for the token type names defined
in the grammar and the semantic value type `YYSTYPE', as well as a in the grammar and the semantic value type `YYSTYPE', as well as a
few `extern' variable declarations. *Note Decl Summary::. few `extern' variable declarations. *Note Decl Summary::.
`--defines=DEFINES-FILE' `--defines=DEFINES-FILE'
The behaviour of -DEFINES is the same than `-d'. The only Same as above, but save in the file DEFINES-FILE.
difference is that it has an optionnal argument which is the name
of the output filename.
`-b FILE-PREFIX' `-b FILE-PREFIX'
`--file-prefix=PREFIX' `--file-prefix=PREFIX'
Specify a prefix to use for all Bison output file names. The Pretend that `%verbose' was specified, i.e, specify prefix to use
names are chosen as if the input file were named `PREFIX.c'. for all Bison output file names. *Note Decl Summary::.
`-v' `-v'
`--verbose' `--verbose'
Pretend that `%verbose' was specified, i.e, write an extra output Pretend that `%verbose' was specified, i.e, write an extra output
file containing verbose descriptions of the grammar and parser. file containing verbose descriptions of the grammar and parser.
*Note Decl Summary::, for more. *Note Decl Summary::.
`-o OUTFILE' `-o FILENAME'
`--output-file=OUTFILE' `--output=FILENAME'
Specify the name OUTFILE for the parser file. Specify the FILENAME for the parser file.
The other output files' names are constructed from OUTFILE as The other output files' names are constructed from FILENAME as
described under the `-v' and `-d' options. described under the `-v' and `-d' options.
`-g' `-g'
@@ -1230,32 +1311,8 @@ find the corresponding short option.
--name-prefix=PREFIX -p NAME-PREFIX --name-prefix=PREFIX -p NAME-PREFIX
--no-lines -l --no-lines -l
--no-parser -n --no-parser -n
--output-file=OUTFILE -o OUTFILE --output=OUTFILE -o OUTFILE
--token-table -k --token-table -k
--verbose -v --verbose -v
--version -V --version -V

File: bison.info, Node: VMS Invocation, Prev: Option Cross Key, Up: Invocation
Invoking Bison under VMS
========================
The command line syntax for Bison on VMS is a variant of the usual
Bison command syntax--adapted to fit VMS conventions.
To find the VMS equivalent for any Bison option, start with the long
option, and substitute a `/' for the leading `--', and substitute a `_'
for each `-' in the name of the long option. For example, the
following invocation under VMS:
bison /debug/name_prefix=bar foo.y
is equivalent to the following command under POSIX.
bison --debug --name-prefix=bar foo.y
The VMS file system does not permit filenames such as `foo.tab.c'.
In the above example, the output file would instead be named
`foo_tab.c'.

View File

@@ -28,6 +28,30 @@ License", "Conditions for Using Bison" and this permission notice may be
included in translations approved by the Free Software Foundation included in translations approved by the Free Software Foundation
instead of in the original English. instead of in the original English.

File: bison.info, Node: VMS Invocation, Prev: Option Cross Key, Up: Invocation
Invoking Bison under VMS
========================
The command line syntax for Bison on VMS is a variant of the usual
Bison command syntax--adapted to fit VMS conventions.
To find the VMS equivalent for any Bison option, start with the long
option, and substitute a `/' for the leading `--', and substitute a `_'
for each `-' in the name of the long option. For example, the
following invocation under VMS:
bison /debug/name_prefix=bar foo.y
is equivalent to the following command under POSIX.
bison --debug --name-prefix=bar foo.y
The VMS file system does not permit filenames such as `foo.tab.c'.
In the above example, the output file would instead be named
`foo_tab.c'.
 
File: bison.info, Node: Table of Symbols, Next: Glossary, Prev: Invocation, Up: Top File: bison.info, Node: Table of Symbols, Next: Glossary, Prev: Invocation, Up: Top
@@ -172,11 +196,19 @@ Bison Symbols
Bison declaration to create a header file meant for the scanner. Bison declaration to create a header file meant for the scanner.
*Note Decl Summary::. *Note Decl Summary::.
`%file-prefix="PREFIX"'
Bison declaration to set tge prefix of the output files. *Note
Decl Summary::.
`%left' `%left'
Bison declaration to assign left associativity to token(s). *Note Bison declaration to assign left associativity to token(s). *Note
Operator Precedence: Precedence Decl. Operator Precedence: Precedence Decl.
`%no_lines' `%name-prefix="PREFIX"'
Bison declaration to rename the external symbols. *Note Decl
Summary::.
`%no-lines'
Bison declaration to avoid generating `#line' directives in the Bison declaration to avoid generating `#line' directives in the
parser file. *Note Decl Summary::. parser file. *Note Decl Summary::.
@@ -184,11 +216,15 @@ Bison Symbols
Bison declaration to assign non-associativity to token(s). *Note Bison declaration to assign non-associativity to token(s). *Note
Operator Precedence: Precedence Decl. Operator Precedence: Precedence Decl.
`%output="FILENAME"'
Bison declaration to set the name of the parser file. *Note Decl
Summary::.
`%prec' `%prec'
Bison declaration to assign a precedence to a specific rule. Bison declaration to assign a precedence to a specific rule.
*Note Context-Dependent Precedence: Contextual Precedence. *Note Context-Dependent Precedence: Contextual Precedence.
`%pure_parser' `%pure-parser'
Bison declaration to request a pure (reentrant) parser. *Note A Bison declaration to request a pure (reentrant) parser. *Note A
Pure (Reentrant) Parser: Pure Decl. Pure (Reentrant) Parser: Pure Decl.
@@ -204,7 +240,7 @@ Bison Symbols
Bison declaration to declare token(s) without specifying Bison declaration to declare token(s) without specifying
precedence. *Note Token Type Names: Token Decl. precedence. *Note Token Type Names: Token Decl.
`%token_table' `%token-table'
Bison declaration to include a token name table in the parser file. Bison declaration to include a token name table in the parser file.
*Note Decl Summary::. *Note Decl Summary::.

View File

@@ -3167,7 +3167,7 @@ valid grammar.
@cindex declaration summary @cindex declaration summary
@cindex summary, Bison declaration @cindex summary, Bison declaration
Here is a summary of all Bison declarations: Here is a summary of the declarations used to define a grammar:
@table @code @table @code
@item %union @item %union
@@ -3202,40 +3202,14 @@ Start-Symbol}).
@item %expect @item %expect
Declare the expected number of shift-reduce conflicts Declare the expected number of shift-reduce conflicts
(@pxref{Expect Decl, ,Suppressing Conflict Warnings}). (@pxref{Expect Decl, ,Suppressing Conflict Warnings}).
@end table
@item %yacc @sp 1
@itemx %fixed_output_files @noindent
Pretend the option @option{--yacc} was given, i.e., imitate Yacc, In order to change the behavior of @command{bison}, use the following
including its naming conventions. @xref{Bison Options}, for more. directives:
@item %locations
Generate the code processing the locations (@pxref{Action Features,
,Special Features for Use in Actions}). This mode is enabled as soon as
the grammar uses the special @samp{@@@var{n}} tokens, but if your
grammar does not use it, using @samp{%locations} allows for more
accurate parse error messages.
@item %pure_parser
Request a pure (reentrant) parser program (@pxref{Pure Decl, ,A Pure
(Reentrant) Parser}).
@item %no_parser
Do not include any C code in the parser file; generate tables only. The
parser file contains just @code{#define} directives and static variable
declarations.
This option also tells Bison to write the C code for the grammar actions
into a file named @file{@var{filename}.act}, in the form of a
brace-surrounded body fit for a @code{switch} statement.
@item %no_lines
Don't generate any @code{#line} preprocessor commands in the parser
file. Ordinarily Bison writes these commands in the parser file so that
the C compiler and debuggers will associate errors and object code with
your source file (the grammar file). This directive causes them to
associate errors with the parser file, treating it an independent source
file in its own right.
@table @code
@item %debug @item %debug
Output a definition of the macro @code{YYDEBUG} into the parser file, so Output a definition of the macro @code{YYDEBUG} into the parser file, so
that the debugging facilities are compiled. @xref{Debugging, ,Debugging that the debugging facilities are compiled. @xref{Debugging, ,Debugging
@@ -3254,35 +3228,64 @@ This output file is essential if you wish to put the definition of
be able to refer to token type codes and the variable be able to refer to token type codes and the variable
@code{yylval}. @xref{Token Values, ,Semantic Values of Tokens}.@refill @code{yylval}. @xref{Token Values, ,Semantic Values of Tokens}.@refill
@item %file-prefix="@var{prefix}"
Specify a prefix to use for all Bison output file names. The names are
chosen as if the input file were named @file{@var{prefix}.y}.
@c @item %header_extension
@c Specify the extension of the parser header file generated when
@c @code{%define} or @samp{-d} are used.
@c
@c For example, a grammar file named @file{foo.ypp} and containing a
@c @code{%header_extension .hh} directive will produce a header file
@c named @file{foo.tab.hh}
@item %locations
Generate the code processing the locations (@pxref{Action Features,
,Special Features for Use in Actions}). This mode is enabled as soon as
the grammar uses the special @samp{@@@var{n}} tokens, but if your
grammar does not use it, using @samp{%locations} allows for more
accurate parse error messages.
@item %name-prefix="@var{prefix}"
Rename the external symbols used in the parser so that they start with
@var{prefix} instead of @samp{yy}. The precise list of symbols renamed
is @code{yyparse}, @code{yylex}, @code{yyerror}, @code{yynerrs},
@code{yylval}, @code{yychar} and @code{yydebug}. For example, if you
use @samp{%name-prefix="c_"}, the names become @code{c_parse},
@code{c_lex}, and so on. @xref{Multiple Parsers, ,Multiple Parsers in
the Same Program}.
@item %no-parser
Do not include any C code in the parser file; generate tables only. The
parser file contains just @code{#define} directives and static variable
declarations.
This option also tells Bison to write the C code for the grammar actions
into a file named @file{@var{filename}.act}, in the form of a
brace-surrounded body fit for a @code{switch} statement.
@item %no-lines
Don't generate any @code{#line} preprocessor commands in the parser
file. Ordinarily Bison writes these commands in the parser file so that
the C compiler and debuggers will associate errors and object code with
your source file (the grammar file). This directive causes them to
associate errors with the parser file, treating it an independent source
file in its own right.
@item %output="@var{filename}"
Specify the @var{filename} for the parser file.
@item %pure-parser
Request a pure (reentrant) parser program (@pxref{Pure Decl, ,A Pure
(Reentrant) Parser}).
@c @item %source_extension @c @item %source_extension
@c Specify the extension of the parser output file. @c Specify the extension of the parser output file.
@c @c
@c For example, a grammar file named @file{foo.yy} and containing a @c For example, a grammar file named @file{foo.yy} and containing a
@c @code{%source_extension .cpp} directive will produce a parser file @c @code{%source_extension .cpp} directive will produce a parser file
@c named @file{foo.tab.cpp} @c named @file{foo.tab.cpp}
@c
@c @item %header_extension
@c Specify the extension of the parser header file generated when
@c @code{%define} or @samp{-d} are used.
@c
@c For example, a garmmar file named @file{foo.ypp} and containing a
@c @code{%header_extension .hh} directive will produce a header file
@c named @file{foo.tab.hh}
@item %verbose
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.
This file also describes all the conflicts, both those resolved by
operator precedence and the unresolved ones.
The file's name is made by removing @samp{.tab.c} or @samp{.c} from
the parser output file name, and adding @samp{.output} instead.@refill
Therefore, if the input file is @file{foo.y}, then the parser file is
called @file{foo.tab.c} by default. As a consequence, the verbose
output file is called @file{foo.output}.@refill
@item %token_table @item %token_table
Generate an array of token names in the parser file. The name of the Generate an array of token names in the parser file. The name of the
@@ -3316,8 +3319,31 @@ The number of grammar rules,
@item YYNSTATES @item YYNSTATES
The number of parser states (@pxref{Parser States}). The number of parser states (@pxref{Parser States}).
@end table @end table
@item %verbose
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.
This file also describes all the conflicts, both those resolved by
operator precedence and the unresolved ones.
The file's name is made by removing @samp{.tab.c} or @samp{.c} from
the parser output file name, and adding @samp{.output} instead.@refill
Therefore, if the input file is @file{foo.y}, then the parser file is
called @file{foo.tab.c} by default. As a consequence, the verbose
output file is called @file{foo.output}.@refill
@item %yacc
@itemx %fixed-output-files
Pretend the option @option{--yacc} was given, i.e., imitate Yacc,
including its naming conventions. @xref{Bison Options}, for more.
@end table @end table
@node Multiple Parsers @node Multiple Parsers
@section Multiple Parsers in the Same Program @section Multiple Parsers in the Same Program
@@ -5049,19 +5075,12 @@ that the debugging facilities are compiled. @xref{Debugging, ,Debugging
Your Parser}. Your Parser}.
@item --locations @item --locations
Pretend that @code{%locactions} was specified. @xref{Decl Summary}. Pretend that @code{%locations} was specified. @xref{Decl Summary}.
@item -p @var{prefix} @item -p @var{prefix}
@itemx --name-prefix=@var{prefix} @itemx --name-prefix=@var{prefix}
Rename the external symbols used in the parser so that they start with Pretend that @code{%name-prefix="@var{prefix}"} was specified.
@var{prefix} instead of @samp{yy}. The precise list of symbols renamed @xref{Decl Summary}.
is @code{yyparse}, @code{yylex}, @code{yyerror}, @code{yynerrs},
@code{yylval}, @code{yychar} and @code{yydebug}.
For example, if you use @samp{-p c}, the names become @code{cparse},
@code{clex}, and so on.
@xref{Multiple Parsers, ,Multiple Parsers in the Same Program}.
@item -l @item -l
@itemx --no-lines @itemx --no-lines
@@ -5073,11 +5092,11 @@ parser file, treating it as an independent source file in its own right.
@item -n @item -n
@itemx --no-parser @itemx --no-parser
Pretend that @code{%no_parser} was specified. @xref{Decl Summary}. Pretend that @code{%no-parser} was specified. @xref{Decl Summary}.
@item -k @item -k
@itemx --token-table @itemx --token-table
Pretend that @code{%token_table} was specified. @xref{Decl Summary}. Pretend that @code{%token-table} was specified. @xref{Decl Summary}.
@end table @end table
@noindent @noindent
@@ -5085,33 +5104,32 @@ Adjust the output:
@table @option @table @option
@item -d @item -d
Pretend that @code{%verbose} was specified, i.e., write an extra output @itemx --defines
Pretend that @code{%defines} was specified, i.e., write an extra output
file containing macro definitions for the token type names defined in file containing macro definitions for the token type names defined in
the grammar and the semantic value type @code{YYSTYPE}, as well as a few the grammar and the semantic value type @code{YYSTYPE}, as well as a few
@code{extern} variable declarations. @xref{Decl Summary}. @code{extern} variable declarations. @xref{Decl Summary}.
@item --defines=@var{defines-file} @item --defines=@var{defines-file}
The behaviour of @var{--defines} is the same than @samp{-d}. The only Same as above, but save in the file @var{defines-file}.
difference is that it has an optionnal argument which is the name of
the output filename.
@item -b @var{file-prefix} @item -b @var{file-prefix}
@itemx --file-prefix=@var{prefix} @itemx --file-prefix=@var{prefix}
Specify a prefix to use for all Bison output file names. The names are Pretend that @code{%verbose} was specified, i.e, specify prefix to use
chosen as if the input file were named @file{@var{prefix}.c}. for all Bison output file names. @xref{Decl Summary}.
@item -v @item -v
@itemx --verbose @itemx --verbose
Pretend that @code{%verbose} was specified, i.e, write an extra output Pretend that @code{%verbose} was specified, i.e, write an extra output
file containing verbose descriptions of the grammar and file containing verbose descriptions of the grammar and
parser. @xref{Decl Summary}, for more. parser. @xref{Decl Summary}.
@item -o @var{outfile} @item -o @var{filename}
@itemx --output-file=@var{outfile} @itemx --output=@var{filename}
Specify the name @var{outfile} for the parser file. Specify the @var{filename} for the parser file.
The other output files' names are constructed from @var{outfile} The other output files' names are constructed from @var{filename} as
as described under the @samp{-v} and @samp{-d} options. described under the @samp{-v} and @samp{-d} options.
@item -g @item -g
Output a VCG definition of the LALR(1) grammar automaton computed by Output a VCG definition of the LALR(1) grammar automaton computed by
@@ -5119,7 +5137,7 @@ Bison. If the grammar file is @file{foo.y}, the VCG output file will
be @file{foo.vcg}. be @file{foo.vcg}.
@item --graph=@var{graph-file} @item --graph=@var{graph-file}
The behaviour of @var{--graph} is the same than @samp{-g}. The only The behaviour of @var{--graph} is the same than @samp{-g}. The only
difference is that it has an optionnal argument which is the name of difference is that it has an optionnal argument which is the name of
the output graph filename. the output graph filename.
@end table @end table
@@ -5168,7 +5186,7 @@ the corresponding short option.
\line{ --name-prefix \leaderfill -p} \line{ --name-prefix \leaderfill -p}
\line{ --no-lines \leaderfill -l} \line{ --no-lines \leaderfill -l}
\line{ --no-parser \leaderfill -n} \line{ --no-parser \leaderfill -n}
\line{ --output-file \leaderfill -o} \line{ --output \leaderfill -o}
\line{ --token-table \leaderfill -k} \line{ --token-table \leaderfill -k}
\line{ --verbose \leaderfill -v} \line{ --verbose \leaderfill -v}
\line{ --version \leaderfill -V} \line{ --version \leaderfill -V}
@@ -5187,7 +5205,7 @@ the corresponding short option.
--name-prefix=@var{prefix} -p @var{name-prefix} --name-prefix=@var{prefix} -p @var{name-prefix}
--no-lines -l --no-lines -l
--no-parser -n --no-parser -n
--output-file=@var{outfile} -o @var{outfile} --output=@var{outfile} -o @var{outfile}
--token-table -k --token-table -k
--verbose -v --verbose -v
--version -V --version -V
@@ -5361,6 +5379,10 @@ Equip the parser for debugging. @xref{Decl Summary}.
Bison declaration to create a header file meant for the scanner. Bison declaration to create a header file meant for the scanner.
@xref{Decl Summary}. @xref{Decl Summary}.
@item %file-prefix="@var{prefix}"
Bison declaration to set tge prefix of the output files. @xref{Decl
Summary}.
@c @item %source_extension @c @item %source_extension
@c Bison declaration to specify the generated parser output file extension. @c Bison declaration to specify the generated parser output file extension.
@c @xref{Decl Summary}. @c @xref{Decl Summary}.
@@ -5373,7 +5395,10 @@ Bison declaration to create a header file meant for the scanner.
Bison declaration to assign left associativity to token(s). Bison declaration to assign left associativity to token(s).
@xref{Precedence Decl, ,Operator Precedence}. @xref{Precedence Decl, ,Operator Precedence}.
@item %no_lines @item %name-prefix="@var{prefix}"
Bison declaration to rename the external symbols. @xref{Decl Summary}.
@item %no-lines
Bison declaration to avoid generating @code{#line} directives in the Bison declaration to avoid generating @code{#line} directives in the
parser file. @xref{Decl Summary}. parser file. @xref{Decl Summary}.
@@ -5381,11 +5406,15 @@ parser file. @xref{Decl Summary}.
Bison declaration to assign non-associativity to token(s). Bison declaration to assign non-associativity to token(s).
@xref{Precedence Decl, ,Operator Precedence}. @xref{Precedence Decl, ,Operator Precedence}.
@item %output="@var{filename}"
Bison declaration to set the name of the parser file. @xref{Decl
Summary}.
@item %prec @item %prec
Bison declaration to assign a precedence to a specific rule. Bison declaration to assign a precedence to a specific rule.
@xref{Contextual Precedence, ,Context-Dependent Precedence}. @xref{Contextual Precedence, ,Context-Dependent Precedence}.
@item %pure_parser @item %pure-parser
Bison declaration to request a pure (reentrant) parser. Bison declaration to request a pure (reentrant) parser.
@xref{Pure Decl, ,A Pure (Reentrant) Parser}. @xref{Pure Decl, ,A Pure (Reentrant) Parser}.
@@ -5400,7 +5429,7 @@ Bison declaration to specify the start symbol. @xref{Start Decl, ,The Start-Sym
Bison declaration to declare token(s) without specifying precedence. Bison declaration to declare token(s) without specifying precedence.
@xref{Token Decl, ,Token Type Names}. @xref{Token Decl, ,Token Type Names}.
@item %token_table @item %token-table
Bison declaration to include a token name table in the parser file. Bison declaration to include a token name table in the parser file.
@xref{Decl Summary}. @xref{Decl Summary}.

View File

@@ -1,4 +1,4 @@
@set UPDATED 20 September 2001 @set UPDATED 4 November 2001
@set UPDATED-MONTH September 2001 @set UPDATED-MONTH November 2001
@set EDITION 1.30a @set EDITION 1.30a
@set VERSION 1.30a @set VERSION 1.30a

View File

@@ -1,4 +1,4 @@
@set UPDATED 20 September 2001 @set UPDATED 4 November 2001
@set UPDATED-MONTH September 2001 @set UPDATED-MONTH November 2001
@set EDITION 1.30a @set EDITION 1.30a
@set VERSION 1.30a @set VERSION 1.30a

View File

@@ -6,6 +6,10 @@
* Makefile.in.in: Upgrade to gettext-0.10.40. * Makefile.in.in: Upgrade to gettext-0.10.40.
2001-11-02 gettextize <bug-gnu-utils@gnu.org>
* Makefile.in.in: Upgrade to gettext-0.10.40.
2001-10-10 gettextize <bug-gnu-utils@gnu.org> 2001-10-10 gettextize <bug-gnu-utils@gnu.org>
* Makefile.in.in: Upgrade to gettext-0.10.40. * Makefile.in.in: Upgrade to gettext-0.10.40.

BIN
po/de.gmo

Binary file not shown.

View File

@@ -5,7 +5,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: bison 1.25\n" "Project-Id-Version: bison 1.25\n"
"POT-Creation-Date: 2001-11-01 19:27+0100\n" "POT-Creation-Date: 2001-11-02 18:54+0100\n"
"PO-Revision-Date: 1996-10-10 17:54 MET DST\n" "PO-Revision-Date: 1996-10-10 17:54 MET DST\n"
"Last-Translator: Ulrich Drepper <drepper@gnu.ai.mit.edu>\n" "Last-Translator: Ulrich Drepper <drepper@gnu.ai.mit.edu>\n"
"Language-Team: German <de@li.org>\n" "Language-Team: German <de@li.org>\n"
@@ -451,7 +451,7 @@ msgstr ""
msgid "symbol %s redefined" msgid "symbol %s redefined"
msgstr "Symbol %s noch einmal definiert" msgstr "Symbol %s noch einmal definiert"
#: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1285 #: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1283
#, c-format #, c-format
msgid "type redeclaration for %s" msgid "type redeclaration for %s"
msgstr "erneute Deklaration des Typs für %s" msgstr "erneute Deklaration des Typs für %s"
@@ -461,12 +461,12 @@ msgstr "erneute Deklaration des Typs f
msgid "`%s' is invalid in %s" msgid "`%s' is invalid in %s"
msgstr "»%s« ist in %s nicht erlaubt" msgstr "»%s« ist in %s nicht erlaubt"
#: src/reader.c:558 src/reader.c:717 #: src/reader.c:558 src/reader.c:716
#, fuzzy, c-format #, fuzzy, c-format
msgid "multiple %s declarations" msgid "multiple %s declarations"
msgstr "mehr als eine %start Deklaration" msgstr "mehr als eine %start Deklaration"
#: src/reader.c:560 src/reader.c:897 src/reader.c:922 src/reader.c:1263 #: src/reader.c:560 src/reader.c:895 src/reader.c:920 src/reader.c:1261
#, fuzzy, c-format #, fuzzy, c-format
msgid "invalid %s declaration" msgid "invalid %s declaration"
msgstr "ungültige %start Deklaration" msgstr "ungültige %start Deklaration"
@@ -495,125 +495,125 @@ msgstr "unzul
msgid "unexpected item: %s" msgid "unexpected item: %s"
msgstr "unerwartetes Symbol: %s" msgstr "unerwartetes Symbol: %s"
#: src/reader.c:760 src/reader.c:1089 src/reader.c:1160 #: src/reader.c:759 src/reader.c:1087 src/reader.c:1158
#, fuzzy, c-format #, fuzzy, c-format
msgid "unmatched %s" msgid "unmatched %s"
msgstr "»{« hat kein Gegenstück" msgstr "»{« hat kein Gegenstück"
#: src/reader.c:792 #: src/reader.c:791
#, fuzzy, c-format #, fuzzy, c-format
msgid "argument of %%expect is not an integer" msgid "argument of %%expect is not an integer"
msgstr "Argument von %expect ist keine ganze Zahl" msgstr "Argument von %expect ist keine ganze Zahl"
#: src/reader.c:838 #: src/reader.c:837
#, c-format #, c-format
msgid "unrecognized item %s, expected an identifier" msgid "unrecognized item %s, expected an identifier"
msgstr "unerwartetes Symbol %s, hier wird ein Bezeichner erwartet" msgstr "unerwartetes Symbol %s, hier wird ein Bezeichner erwartet"
#: src/reader.c:862 #: src/reader.c:859
#, c-format #, c-format
msgid "expected string constant instead of %s" msgid "expected string constant instead of %s"
msgstr "hier wird eine Zeichenkette erwartet, nicht %s" msgstr "hier wird eine Zeichenkette erwartet, nicht %s"
#: src/reader.c:1005 #: src/reader.c:1003
#, c-format #, c-format
msgid "unrecognized: %s" msgid "unrecognized: %s"
msgstr "unbekannt: %s" msgstr "unbekannt: %s"
#: src/reader.c:1010 #: src/reader.c:1008
msgid "no input grammar" msgid "no input grammar"
msgstr "keine Eingabe-Grammatik" msgstr "keine Eingabe-Grammatik"
#: src/reader.c:1015 #: src/reader.c:1013
#, c-format #, c-format
msgid "unknown character: %s" msgid "unknown character: %s"
msgstr "unbekanntes Zeichen: %s" msgstr "unbekanntes Zeichen: %s"
#: src/reader.c:1183 #: src/reader.c:1181
#, fuzzy, c-format #, fuzzy, c-format
msgid "unterminated %guard clause" msgid "unterminated %guard clause"
msgstr "unbeendeter %%guard Fall" msgstr "unbeendeter %%guard Fall"
#: src/reader.c:1350 #: src/reader.c:1348
msgid "ill-formed rule: initial symbol not followed by colon" msgid "ill-formed rule: initial symbol not followed by colon"
msgstr "" msgstr ""
"falsch geformte Regel: führendes Symbol wird nicht von einem Semikolon " "falsch geformte Regel: führendes Symbol wird nicht von einem Semikolon "
"gefolgt" "gefolgt"
#: src/reader.c:1357 #: src/reader.c:1355
msgid "grammar starts with vertical bar" msgid "grammar starts with vertical bar"
msgstr "Grammatik fängt mit einem vertikalen Strich (»|«) an" msgstr "Grammatik fängt mit einem vertikalen Strich (»|«) an"
#: src/reader.c:1388 #: src/reader.c:1386
#, c-format #, c-format
msgid "rule given for %s, which is a token" msgid "rule given for %s, which is a token"
msgstr "Regel für %s vorhanden, welches aber ein Token ist" msgstr "Regel für %s vorhanden, welches aber ein Token ist"
#: src/reader.c:1490 #: src/reader.c:1488
msgid "two @prec's in a row" msgid "two @prec's in a row"
msgstr "zwei @prec Anweisungen nacheinander" msgstr "zwei @prec Anweisungen nacheinander"
#: src/reader.c:1498 #: src/reader.c:1496
#, c-format #, c-format
msgid "%%guard present but %%semantic_parser not specified" msgid "%%guard present but %%semantic_parser not specified"
msgstr "" msgstr ""
"%%guard Anweisung vorhanden, jedoch wird %%semantic_parser nicht angegeben" "%%guard Anweisung vorhanden, jedoch wird %%semantic_parser nicht angegeben"
#: src/reader.c:1507 #: src/reader.c:1505
msgid "two actions at end of one rule" msgid "two actions at end of one rule"
msgstr "Zwei Aktionen am Ende einer Regel" msgstr "Zwei Aktionen am Ende einer Regel"
#: src/reader.c:1521 #: src/reader.c:1519
#, c-format #, c-format
msgid "type clash (`%s' `%s') on default action" msgid "type clash (`%s' `%s') on default action"
msgstr "Typkonflikt (»%s« »%s«) bei Default Aktion" msgstr "Typkonflikt (»%s« »%s«) bei Default Aktion"
#: src/reader.c:1527 #: src/reader.c:1525
msgid "empty rule for typed nonterminal, and no action" msgid "empty rule for typed nonterminal, and no action"
msgstr "leere Regel für Nicht-Terminal vmit Typ und keine Aktion" msgstr "leere Regel für Nicht-Terminal vmit Typ und keine Aktion"
#: src/reader.c:1571 #: src/reader.c:1569
#, c-format #, c-format
msgid "invalid input: %s" msgid "invalid input: %s"
msgstr "ungültige Eingabe: %s" msgstr "ungültige Eingabe: %s"
#: src/reader.c:1579 #: src/reader.c:1577
#, fuzzy, c-format #, fuzzy, c-format
msgid "too many symbols (tokens plus nonterminals); maximum %d" msgid "too many symbols (tokens plus nonterminals); maximum %d"
msgstr "zu viele Symbols (Token plus Nicht-Terminal); Maximum %s" msgstr "zu viele Symbols (Token plus Nicht-Terminal); Maximum %s"
#: src/reader.c:1582 #: src/reader.c:1580
msgid "no rules in the input grammar" msgid "no rules in the input grammar"
msgstr "Eingabegrammatik enthält keine Regeln" msgstr "Eingabegrammatik enthält keine Regeln"
#: src/reader.c:1606 #: src/reader.c:1604
#, c-format #, c-format
msgid "symbol %s is used, but is not defined as a token and has no rules" msgid "symbol %s is used, but is not defined as a token and has no rules"
msgstr "" msgstr ""
"Symbol %s wird benutzt, ist aber nicht als Token definiert und hat keine " "Symbol %s wird benutzt, ist aber nicht als Token definiert und hat keine "
"Regel" "Regel"
#: src/reader.c:1712 #: src/reader.c:1696
#, c-format
msgid "conflicting precedences for %s and %s"
msgstr "Vorrangwertigkeiten für %s und %s widersprechen sich"
#: src/reader.c:1724
#, c-format
msgid "conflicting assoc values for %s and %s"
msgstr "assoc Werte für %s nd %s widersprechen sich"
#: src/reader.c:1770
#, fuzzy, c-format #, fuzzy, c-format
msgid "tokens %s and %s both assigned number %d" msgid "tokens %s and %s both assigned number %d"
msgstr "Token %s und %s haben die selbe nummer %s" msgstr "Token %s und %s haben die selbe nummer %s"
#: src/reader.c:1782 #: src/reader.c:1749
#, c-format
msgid "conflicting precedences for %s and %s"
msgstr "Vorrangwertigkeiten für %s und %s widersprechen sich"
#: src/reader.c:1761
#, c-format
msgid "conflicting assoc values for %s and %s"
msgstr "assoc Werte für %s nd %s widersprechen sich"
#: src/reader.c:1800
#, c-format #, c-format
msgid "the start symbol %s is undefined" msgid "the start symbol %s is undefined"
msgstr "das Startsymbol %s ist undefiniert" msgstr "das Startsymbol %s ist undefiniert"
#: src/reader.c:1784 #: src/reader.c:1802
#, c-format #, c-format
msgid "the start symbol %s is a token" msgid "the start symbol %s is a token"
msgstr "das Startsymbol %s ist ein Token" msgstr "das Startsymbol %s ist ein Token"

View File

@@ -30,7 +30,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: GNU bison 1.25\n" "Project-Id-Version: GNU bison 1.25\n"
"POT-Creation-Date: 2001-11-01 19:27+0100\n" "POT-Creation-Date: 2001-11-02 18:54+0100\n"
"PO-Revision-Date: 1998-09-21 10:19+0200\n" "PO-Revision-Date: 1998-09-21 10:19+0200\n"
"Last-Translator: Nicolás García-Pedrajas <ngarcia-pedrajas@acm.org>\n" "Last-Translator: Nicolás García-Pedrajas <ngarcia-pedrajas@acm.org>\n"
"Language-Team: Spanish <es@li.org>\n" "Language-Team: Spanish <es@li.org>\n"
@@ -523,7 +523,7 @@ msgstr ""
msgid "symbol %s redefined" msgid "symbol %s redefined"
msgstr "redefinido el símbolo %s" msgstr "redefinido el símbolo %s"
#: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1285 #: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1283
#, c-format #, c-format
msgid "type redeclaration for %s" msgid "type redeclaration for %s"
msgstr "redeclaración del tipo de %s" msgstr "redeclaración del tipo de %s"
@@ -533,12 +533,12 @@ msgstr "redeclaraci
msgid "`%s' is invalid in %s" msgid "`%s' is invalid in %s"
msgstr "`%s' no es válido en %s" msgstr "`%s' no es válido en %s"
#: src/reader.c:558 src/reader.c:717 #: src/reader.c:558 src/reader.c:716
#, fuzzy, c-format #, fuzzy, c-format
msgid "multiple %s declarations" msgid "multiple %s declarations"
msgstr "múltiples declaraciones de %start" msgstr "múltiples declaraciones de %start"
#: src/reader.c:560 src/reader.c:897 src/reader.c:922 src/reader.c:1263 #: src/reader.c:560 src/reader.c:895 src/reader.c:920 src/reader.c:1261
#, fuzzy, c-format #, fuzzy, c-format
msgid "invalid %s declaration" msgid "invalid %s declaration"
msgstr "declaración de %start no válida" msgstr "declaración de %start no válida"
@@ -577,12 +577,12 @@ msgid "unexpected item: %s"
msgstr "ítem inesperado: %s" msgstr "ítem inesperado: %s"
# Cambio el orden y el sexo. Ahora está "en español". sv # Cambio el orden y el sexo. Ahora está "en español". sv
#: src/reader.c:760 src/reader.c:1089 src/reader.c:1160 #: src/reader.c:759 src/reader.c:1087 src/reader.c:1158
#, fuzzy, c-format #, fuzzy, c-format
msgid "unmatched %s" msgid "unmatched %s"
msgstr "`{' desemparejada" msgstr "`{' desemparejada"
#: src/reader.c:792 #: src/reader.c:791
#, fuzzy, c-format #, fuzzy, c-format
msgid "argument of %%expect is not an integer" msgid "argument of %%expect is not an integer"
msgstr "el argumento de %expect no es un entero" msgstr "el argumento de %expect no es un entero"
@@ -593,26 +593,26 @@ msgstr "el argumento de %expect no es un entero"
# - cll # - cll
# ok - ngp # ok - ngp
# #
#: src/reader.c:838 #: src/reader.c:837
#, c-format #, c-format
msgid "unrecognized item %s, expected an identifier" msgid "unrecognized item %s, expected an identifier"
msgstr "no se reconoce el ítem %s, se esperaba un identificador" msgstr "no se reconoce el ítem %s, se esperaba un identificador"
#: src/reader.c:862 #: src/reader.c:859
#, c-format #, c-format
msgid "expected string constant instead of %s" msgid "expected string constant instead of %s"
msgstr "se esperaba una cadena constante en lugar de %s" msgstr "se esperaba una cadena constante en lugar de %s"
#: src/reader.c:1005 #: src/reader.c:1003
#, c-format #, c-format
msgid "unrecognized: %s" msgid "unrecognized: %s"
msgstr "no reconocido: %s" msgstr "no reconocido: %s"
#: src/reader.c:1010 #: src/reader.c:1008
msgid "no input grammar" msgid "no input grammar"
msgstr "no hay gramática de entrada" msgstr "no hay gramática de entrada"
#: src/reader.c:1015 #: src/reader.c:1013
#, c-format #, c-format
msgid "unknown character: %s" msgid "unknown character: %s"
msgstr "carácter desconocido: %s" msgstr "carácter desconocido: %s"
@@ -621,93 +621,93 @@ msgstr "car
# mejor que `sin terminar' que me parece más "computerizado" - cll # mejor que `sin terminar' que me parece más "computerizado" - cll
# quizás un poco cacofónico lo de claúsula inconclusa - ngp # quizás un poco cacofónico lo de claúsula inconclusa - ngp
# #
#: src/reader.c:1183 #: src/reader.c:1181
#, fuzzy, c-format #, fuzzy, c-format
msgid "unterminated %guard clause" msgid "unterminated %guard clause"
msgstr "cláusula %%guard sin terminar" msgstr "cláusula %%guard sin terminar"
#: src/reader.c:1350 #: src/reader.c:1348
msgid "ill-formed rule: initial symbol not followed by colon" msgid "ill-formed rule: initial symbol not followed by colon"
msgstr "regla mal formada: el símbolo inicial no está seguido por :" msgstr "regla mal formada: el símbolo inicial no está seguido por :"
#: src/reader.c:1357 #: src/reader.c:1355
msgid "grammar starts with vertical bar" msgid "grammar starts with vertical bar"
msgstr "la gramática comienza con una barra vertical" msgstr "la gramática comienza con una barra vertical"
#: src/reader.c:1388 #: src/reader.c:1386
#, c-format #, c-format
msgid "rule given for %s, which is a token" msgid "rule given for %s, which is a token"
msgstr "se ha dado una regla para %s, que es un terminal" msgstr "se ha dado una regla para %s, que es un terminal"
#: src/reader.c:1490 #: src/reader.c:1488
msgid "two @prec's in a row" msgid "two @prec's in a row"
msgstr "dos @prec en una línea" msgstr "dos @prec en una línea"
# Insisto, el empleo de participios a secas me parece como hablar en # Insisto, el empleo de participios a secas me parece como hablar en
# indio. Por favor, permíteme que añada un "está" :) - cll # indio. Por favor, permíteme que añada un "está" :) - cll
# ok - ngp # ok - ngp
#: src/reader.c:1498 #: src/reader.c:1496
#, c-format #, c-format
msgid "%%guard present but %%semantic_parser not specified" msgid "%%guard present but %%semantic_parser not specified"
msgstr "%%guard presente pero %%semantic_parser está sin especificar" msgstr "%%guard presente pero %%semantic_parser está sin especificar"
#: src/reader.c:1507 #: src/reader.c:1505
msgid "two actions at end of one rule" msgid "two actions at end of one rule"
msgstr "dos acciones al final de una regla" msgstr "dos acciones al final de una regla"
#: src/reader.c:1521 #: src/reader.c:1519
#, c-format #, c-format
msgid "type clash (`%s' `%s') on default action" msgid "type clash (`%s' `%s') on default action"
msgstr "los tipos (`%s' `%s') no concuerdan en la acción por defecto" msgstr "los tipos (`%s' `%s') no concuerdan en la acción por defecto"
#: src/reader.c:1527 #: src/reader.c:1525
msgid "empty rule for typed nonterminal, and no action" msgid "empty rule for typed nonterminal, and no action"
msgstr "regla vacía para un no terminal con tipo y no hay ninguna acción" msgstr "regla vacía para un no terminal con tipo y no hay ninguna acción"
#: src/reader.c:1571 #: src/reader.c:1569
#, c-format #, c-format
msgid "invalid input: %s" msgid "invalid input: %s"
msgstr "entrada no válida: %s" msgstr "entrada no válida: %s"
#: src/reader.c:1579 #: src/reader.c:1577
#, fuzzy, c-format #, fuzzy, c-format
msgid "too many symbols (tokens plus nonterminals); maximum %d" msgid "too many symbols (tokens plus nonterminals); maximum %d"
msgstr "demasiados símbolos (terminales y no terminales); máximo %s" msgstr "demasiados símbolos (terminales y no terminales); máximo %s"
#: src/reader.c:1582 #: src/reader.c:1580
msgid "no rules in the input grammar" msgid "no rules in the input grammar"
msgstr "no hay reglas en la gramática de entrada" msgstr "no hay reglas en la gramática de entrada"
# `token' se debe traducir como `literal' - cll # `token' se debe traducir como `literal' - cll
# en terminología de compiladores token es más un terminal - ngp # en terminología de compiladores token es más un terminal - ngp
# #
#: src/reader.c:1606 #: src/reader.c:1604
#, c-format #, c-format
msgid "symbol %s is used, but is not defined as a token and has no rules" msgid "symbol %s is used, but is not defined as a token and has no rules"
msgstr "" msgstr ""
"se usa el símbolo %s, pero no está definido como terminal y no tiene reglas" "se usa el símbolo %s, pero no está definido como terminal y no tiene reglas"
#: src/reader.c:1712 #: src/reader.c:1696
#, c-format
msgid "conflicting precedences for %s and %s"
msgstr "precedencias en conflicto entre %s y %s"
#: src/reader.c:1724
#, c-format
msgid "conflicting assoc values for %s and %s"
msgstr "conflicto de valores assoc para %s y %s"
#: src/reader.c:1770
#, fuzzy, c-format #, fuzzy, c-format
msgid "tokens %s and %s both assigned number %d" msgid "tokens %s and %s both assigned number %d"
msgstr "los terminales %s y %s tienen asignados ambos el número %s" msgstr "los terminales %s y %s tienen asignados ambos el número %s"
#: src/reader.c:1782 #: src/reader.c:1749
#, c-format
msgid "conflicting precedences for %s and %s"
msgstr "precedencias en conflicto entre %s y %s"
#: src/reader.c:1761
#, c-format
msgid "conflicting assoc values for %s and %s"
msgstr "conflicto de valores assoc para %s y %s"
#: src/reader.c:1800
#, c-format #, c-format
msgid "the start symbol %s is undefined" msgid "the start symbol %s is undefined"
msgstr "el símbolo de inicio (axioma) %s no está definido" msgstr "el símbolo de inicio (axioma) %s no está definido"
#: src/reader.c:1784 #: src/reader.c:1802
#, c-format #, c-format
msgid "the start symbol %s is a token" msgid "the start symbol %s is a token"
msgstr "el símbolo de inicio (axioma) %s es un terminal" msgstr "el símbolo de inicio (axioma) %s es un terminal"

BIN
po/et.gmo

Binary file not shown.

View File

@@ -5,7 +5,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: bison 1.29f\n" "Project-Id-Version: bison 1.29f\n"
"POT-Creation-Date: 2001-11-01 19:27+0100\n" "POT-Creation-Date: 2001-11-02 18:54+0100\n"
"PO-Revision-Date: 2001-10-19 17:53+02:00\n" "PO-Revision-Date: 2001-10-19 17:53+02:00\n"
"Last-Translator: Toomas Soome <tsoome@ut.ee>\n" "Last-Translator: Toomas Soome <tsoome@ut.ee>\n"
"Language-Team: Estonian <et@li.org>\n" "Language-Team: Estonian <et@li.org>\n"
@@ -457,7 +457,7 @@ msgstr "s
msgid "symbol %s redefined" msgid "symbol %s redefined"
msgstr "sümbol %s on uuesti defineeritud" msgstr "sümbol %s on uuesti defineeritud"
#: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1285 #: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1283
#, c-format #, c-format
msgid "type redeclaration for %s" msgid "type redeclaration for %s"
msgstr "%s tüübi uuesti deklareerimine" msgstr "%s tüübi uuesti deklareerimine"
@@ -467,12 +467,12 @@ msgstr "%s t
msgid "`%s' is invalid in %s" msgid "`%s' is invalid in %s"
msgstr "`%s' ei ole %s sees lubatud" msgstr "`%s' ei ole %s sees lubatud"
#: src/reader.c:558 src/reader.c:717 #: src/reader.c:558 src/reader.c:716
#, c-format #, c-format
msgid "multiple %s declarations" msgid "multiple %s declarations"
msgstr "korduvad %s deklaratsioonid" msgstr "korduvad %s deklaratsioonid"
#: src/reader.c:560 src/reader.c:897 src/reader.c:922 src/reader.c:1263 #: src/reader.c:560 src/reader.c:895 src/reader.c:920 src/reader.c:1261
#, c-format #, c-format
msgid "invalid %s declaration" msgid "invalid %s declaration"
msgstr "vigane %s deklaratsioon" msgstr "vigane %s deklaratsioon"
@@ -501,122 +501,122 @@ msgstr "vigane tekst (%s) - number peab olema peale identifikaatorit"
msgid "unexpected item: %s" msgid "unexpected item: %s"
msgstr "ootamatu element: %s" msgstr "ootamatu element: %s"
#: src/reader.c:760 src/reader.c:1089 src/reader.c:1160 #: src/reader.c:759 src/reader.c:1087 src/reader.c:1158
#, c-format #, c-format
msgid "unmatched %s" msgid "unmatched %s"
msgstr "puudub %s" msgstr "puudub %s"
#: src/reader.c:792 #: src/reader.c:791
#, c-format #, c-format
msgid "argument of %%expect is not an integer" msgid "argument of %%expect is not an integer"
msgstr "%%expect argument ei ole täisarv" msgstr "%%expect argument ei ole täisarv"
#: src/reader.c:838 #: src/reader.c:837
#, c-format #, c-format
msgid "unrecognized item %s, expected an identifier" msgid "unrecognized item %s, expected an identifier"
msgstr "tundmatu element %s, eeldasin identifikaatorit" msgstr "tundmatu element %s, eeldasin identifikaatorit"
#: src/reader.c:862 #: src/reader.c:859
#, c-format #, c-format
msgid "expected string constant instead of %s" msgid "expected string constant instead of %s"
msgstr "eeldasin %s asemel sõnekonstanti" msgstr "eeldasin %s asemel sõnekonstanti"
#: src/reader.c:1005 #: src/reader.c:1003
#, c-format #, c-format
msgid "unrecognized: %s" msgid "unrecognized: %s"
msgstr "tundmatu: %s" msgstr "tundmatu: %s"
#: src/reader.c:1010 #: src/reader.c:1008
msgid "no input grammar" msgid "no input grammar"
msgstr "sisendgrammatikat pole" msgstr "sisendgrammatikat pole"
#: src/reader.c:1015 #: src/reader.c:1013
#, c-format #, c-format
msgid "unknown character: %s" msgid "unknown character: %s"
msgstr "tundmatu sümbol: %s" msgstr "tundmatu sümbol: %s"
#: src/reader.c:1183 #: src/reader.c:1181
#, c-format #, c-format
msgid "unterminated %guard clause" msgid "unterminated %guard clause"
msgstr "lõpetamata %guard klausel" msgstr "lõpetamata %guard klausel"
#: src/reader.c:1350 #: src/reader.c:1348
msgid "ill-formed rule: initial symbol not followed by colon" msgid "ill-formed rule: initial symbol not followed by colon"
msgstr "vigaselt formeeritud reegel: algsümbolile ei järgne koolonit" msgstr "vigaselt formeeritud reegel: algsümbolile ei järgne koolonit"
#: src/reader.c:1357 #: src/reader.c:1355
msgid "grammar starts with vertical bar" msgid "grammar starts with vertical bar"
msgstr "grammatika algab püstkriipsuga" msgstr "grammatika algab püstkriipsuga"
#: src/reader.c:1388 #: src/reader.c:1386
#, c-format #, c-format
msgid "rule given for %s, which is a token" msgid "rule given for %s, which is a token"
msgstr "%s jaoks on antud reegel, aga see on märk" msgstr "%s jaoks on antud reegel, aga see on märk"
#: src/reader.c:1490 #: src/reader.c:1488
msgid "two @prec's in a row" msgid "two @prec's in a row"
msgstr "kaks @prec ühel real" msgstr "kaks @prec ühel real"
#: src/reader.c:1498 #: src/reader.c:1496
#, c-format #, c-format
msgid "%%guard present but %%semantic_parser not specified" msgid "%%guard present but %%semantic_parser not specified"
msgstr "%%guard on määratud, aga %%semantic_parser ei ole" msgstr "%%guard on määratud, aga %%semantic_parser ei ole"
#: src/reader.c:1507 #: src/reader.c:1505
msgid "two actions at end of one rule" msgid "two actions at end of one rule"
msgstr "kaks tegevust ühe reegli lõpus" msgstr "kaks tegevust ühe reegli lõpus"
#: src/reader.c:1521 #: src/reader.c:1519
#, c-format #, c-format
msgid "type clash (`%s' `%s') on default action" msgid "type clash (`%s' `%s') on default action"
msgstr "vaikimisi tegevuse tüübikonflikt (`%s' `%s')" msgstr "vaikimisi tegevuse tüübikonflikt (`%s' `%s')"
#: src/reader.c:1527 #: src/reader.c:1525
msgid "empty rule for typed nonterminal, and no action" msgid "empty rule for typed nonterminal, and no action"
msgstr "tüübiga mitteterminalil on tühi reegel ja puudub tegevus" msgstr "tüübiga mitteterminalil on tühi reegel ja puudub tegevus"
#: src/reader.c:1571 #: src/reader.c:1569
#, c-format #, c-format
msgid "invalid input: %s" msgid "invalid input: %s"
msgstr "vigane sisend: %s" msgstr "vigane sisend: %s"
#: src/reader.c:1579 #: src/reader.c:1577
#, c-format #, c-format
msgid "too many symbols (tokens plus nonterminals); maximum %d" msgid "too many symbols (tokens plus nonterminals); maximum %d"
msgstr "liiga palju sümboleid (märgid ja mitteterminalid); maksimaalne on %d" msgstr "liiga palju sümboleid (märgid ja mitteterminalid); maksimaalne on %d"
#: src/reader.c:1582 #: src/reader.c:1580
msgid "no rules in the input grammar" msgid "no rules in the input grammar"
msgstr "sisendgrammatikas pole reegleid" msgstr "sisendgrammatikas pole reegleid"
#: src/reader.c:1606 #: src/reader.c:1604
#, c-format #, c-format
msgid "symbol %s is used, but is not defined as a token and has no rules" msgid "symbol %s is used, but is not defined as a token and has no rules"
msgstr "" msgstr ""
"kasutatakse sümbolit %s, mis ei ole defineeritud märgina ja millel puuduvad " "kasutatakse sümbolit %s, mis ei ole defineeritud märgina ja millel puuduvad "
"reeglid" "reeglid"
#: src/reader.c:1712 #: src/reader.c:1696
#, c-format
msgid "conflicting precedences for %s and %s"
msgstr "%s ja %s omavad konfliktseid prioriteete"
#: src/reader.c:1724
#, c-format
msgid "conflicting assoc values for %s and %s"
msgstr "%s ja %s omavad konfliktseid assotsiatiivseid väärtuseid"
#: src/reader.c:1770
#, c-format #, c-format
msgid "tokens %s and %s both assigned number %d" msgid "tokens %s and %s both assigned number %d"
msgstr "märkidele %s ja %s on mõlemale omistatud number %d" msgstr "märkidele %s ja %s on mõlemale omistatud number %d"
#: src/reader.c:1782 #: src/reader.c:1749
#, c-format
msgid "conflicting precedences for %s and %s"
msgstr "%s ja %s omavad konfliktseid prioriteete"
#: src/reader.c:1761
#, c-format
msgid "conflicting assoc values for %s and %s"
msgstr "%s ja %s omavad konfliktseid assotsiatiivseid väärtuseid"
#: src/reader.c:1800
#, c-format #, c-format
msgid "the start symbol %s is undefined" msgid "the start symbol %s is undefined"
msgstr "stardisümbol %s ei ole defineeritud" msgstr "stardisümbol %s ei ole defineeritud"
#: src/reader.c:1784 #: src/reader.c:1802
#, c-format #, c-format
msgid "the start symbol %s is a token" msgid "the start symbol %s is a token"
msgstr "stardisümbol %s on märk" msgstr "stardisümbol %s on märk"

BIN
po/fr.gmo

Binary file not shown.

View File

@@ -6,7 +6,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: GNU bison 1.29f\n" "Project-Id-Version: GNU bison 1.29f\n"
"POT-Creation-Date: 2001-11-01 19:27+0100\n" "POT-Creation-Date: 2001-11-02 18:54+0100\n"
"PO-Revision-Date: 2001-10-19 15:00-0500\n" "PO-Revision-Date: 2001-10-19 15:00-0500\n"
"Last-Translator: Michel Robitaille <robitail@IRO.UMontreal.CA>\n" "Last-Translator: Michel Robitaille <robitail@IRO.UMontreal.CA>\n"
"Language-Team: French <traduc@traduc.org>\n" "Language-Team: French <traduc@traduc.org>\n"
@@ -463,7 +463,7 @@ msgstr "symbole `%s' pr
msgid "symbol %s redefined" msgid "symbol %s redefined"
msgstr "symbole %s redéfini" msgstr "symbole %s redéfini"
#: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1285 #: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1283
#, c-format #, c-format
msgid "type redeclaration for %s" msgid "type redeclaration for %s"
msgstr "redéclaration du type de %s" msgstr "redéclaration du type de %s"
@@ -473,12 +473,12 @@ msgstr "red
msgid "`%s' is invalid in %s" msgid "`%s' is invalid in %s"
msgstr "`%s' n'est pas valide dans %s" msgstr "`%s' n'est pas valide dans %s"
#: src/reader.c:558 src/reader.c:717 #: src/reader.c:558 src/reader.c:716
#, c-format #, c-format
msgid "multiple %s declarations" msgid "multiple %s declarations"
msgstr "multiples déclarations %s" msgstr "multiples déclarations %s"
#: src/reader.c:560 src/reader.c:897 src/reader.c:922 src/reader.c:1263 #: src/reader.c:560 src/reader.c:895 src/reader.c:920 src/reader.c:1261
#, c-format #, c-format
msgid "invalid %s declaration" msgid "invalid %s declaration"
msgstr "la déclaration %s n'est pas valide" msgstr "la déclaration %s n'est pas valide"
@@ -508,122 +508,122 @@ msgstr ""
msgid "unexpected item: %s" msgid "unexpected item: %s"
msgstr "item inattendu: %s" msgstr "item inattendu: %s"
#: src/reader.c:760 src/reader.c:1089 src/reader.c:1160 #: src/reader.c:759 src/reader.c:1087 src/reader.c:1158
#, c-format #, c-format
msgid "unmatched %s" msgid "unmatched %s"
msgstr "non appariement de %s" msgstr "non appariement de %s"
#: src/reader.c:792 #: src/reader.c:791
#, c-format #, c-format
msgid "argument of %%expect is not an integer" msgid "argument of %%expect is not an integer"
msgstr "le paramètre de %%expect n'est pas un entier" msgstr "le paramètre de %%expect n'est pas un entier"
#: src/reader.c:838 #: src/reader.c:837
#, c-format #, c-format
msgid "unrecognized item %s, expected an identifier" msgid "unrecognized item %s, expected an identifier"
msgstr "item %s non reconnu, un identificateur est attendu" msgstr "item %s non reconnu, un identificateur est attendu"
#: src/reader.c:862 #: src/reader.c:859
#, c-format #, c-format
msgid "expected string constant instead of %s" msgid "expected string constant instead of %s"
msgstr "chaîne de caractères constante attendue plutôt que %s" msgstr "chaîne de caractères constante attendue plutôt que %s"
#: src/reader.c:1005 #: src/reader.c:1003
#, c-format #, c-format
msgid "unrecognized: %s" msgid "unrecognized: %s"
msgstr "non reconnu: %s" msgstr "non reconnu: %s"
#: src/reader.c:1010 #: src/reader.c:1008
msgid "no input grammar" msgid "no input grammar"
msgstr "aucune grammaire en entrée" msgstr "aucune grammaire en entrée"
#: src/reader.c:1015 #: src/reader.c:1013
#, c-format #, c-format
msgid "unknown character: %s" msgid "unknown character: %s"
msgstr "caractère inconnu: %s" msgstr "caractère inconnu: %s"
#: src/reader.c:1183 #: src/reader.c:1181
#, c-format #, c-format
msgid "unterminated %guard clause" msgid "unterminated %guard clause"
msgstr "clause %guard non terminée" msgstr "clause %guard non terminée"
#: src/reader.c:1350 #: src/reader.c:1348
msgid "ill-formed rule: initial symbol not followed by colon" msgid "ill-formed rule: initial symbol not followed by colon"
msgstr "règle mal formée: le symbole initial n'est pas suivi de `:'" msgstr "règle mal formée: le symbole initial n'est pas suivi de `:'"
#: src/reader.c:1357 #: src/reader.c:1355
msgid "grammar starts with vertical bar" msgid "grammar starts with vertical bar"
msgstr "la grammaire débute par une barre verticale" msgstr "la grammaire débute par une barre verticale"
#: src/reader.c:1388 #: src/reader.c:1386
#, c-format #, c-format
msgid "rule given for %s, which is a token" msgid "rule given for %s, which is a token"
msgstr "la règle pour %s, qui est un terminal" msgstr "la règle pour %s, qui est un terminal"
#: src/reader.c:1490 #: src/reader.c:1488
msgid "two @prec's in a row" msgid "two @prec's in a row"
msgstr "deux @prec de suite" msgstr "deux @prec de suite"
#: src/reader.c:1498 #: src/reader.c:1496
#, c-format #, c-format
msgid "%%guard present but %%semantic_parser not specified" msgid "%%guard present but %%semantic_parser not specified"
msgstr "%%guard est présent mais %%semantic_parser n'est pas spécifié" msgstr "%%guard est présent mais %%semantic_parser n'est pas spécifié"
#: src/reader.c:1507 #: src/reader.c:1505
msgid "two actions at end of one rule" msgid "two actions at end of one rule"
msgstr "deux actions à la fin d'une même règle" msgstr "deux actions à la fin d'une même règle"
#: src/reader.c:1521 #: src/reader.c:1519
#, c-format #, c-format
msgid "type clash (`%s' `%s') on default action" msgid "type clash (`%s' `%s') on default action"
msgstr "conflit de type (`%s' `%s') pour l'action par défaut" msgstr "conflit de type (`%s' `%s') pour l'action par défaut"
#: src/reader.c:1527 #: src/reader.c:1525
msgid "empty rule for typed nonterminal, and no action" msgid "empty rule for typed nonterminal, and no action"
msgstr "règle vide pour une catégorie typée et aucune action" msgstr "règle vide pour une catégorie typée et aucune action"
#: src/reader.c:1571 #: src/reader.c:1569
#, c-format #, c-format
msgid "invalid input: %s" msgid "invalid input: %s"
msgstr "entrée non valide: %s" msgstr "entrée non valide: %s"
#: src/reader.c:1579 #: src/reader.c:1577
#, c-format #, c-format
msgid "too many symbols (tokens plus nonterminals); maximum %d" msgid "too many symbols (tokens plus nonterminals); maximum %d"
msgstr "trop de symboles (jeton plus non terminaux); maximum %d" msgstr "trop de symboles (jeton plus non terminaux); maximum %d"
#: src/reader.c:1582 #: src/reader.c:1580
msgid "no rules in the input grammar" msgid "no rules in the input grammar"
msgstr "la grammaire n'a pas de règles" msgstr "la grammaire n'a pas de règles"
#: src/reader.c:1606 #: src/reader.c:1604
#, c-format #, c-format
msgid "symbol %s is used, but is not defined as a token and has no rules" msgid "symbol %s is used, but is not defined as a token and has no rules"
msgstr "" msgstr ""
"le symbole %s est utilisé mais ce n'est pas un terminal et il ne possède pas " "le symbole %s est utilisé mais ce n'est pas un terminal et il ne possède pas "
"de règle" "de règle"
#: src/reader.c:1712 #: src/reader.c:1696
#, c-format
msgid "conflicting precedences for %s and %s"
msgstr "les priorités pour %s et %s entrent en conflit"
#: src/reader.c:1724
#, c-format
msgid "conflicting assoc values for %s and %s"
msgstr "les valeurs d'association de %s et %s entrent en conflit"
#: src/reader.c:1770
#, c-format #, c-format
msgid "tokens %s and %s both assigned number %d" msgid "tokens %s and %s both assigned number %d"
msgstr "les jetons %s et %s se sont vus assigner le nombre %d" msgstr "les jetons %s et %s se sont vus assigner le nombre %d"
#: src/reader.c:1782 #: src/reader.c:1749
#, c-format
msgid "conflicting precedences for %s and %s"
msgstr "les priorités pour %s et %s entrent en conflit"
#: src/reader.c:1761
#, c-format
msgid "conflicting assoc values for %s and %s"
msgstr "les valeurs d'association de %s et %s entrent en conflit"
#: src/reader.c:1800
#, c-format #, c-format
msgid "the start symbol %s is undefined" msgid "the start symbol %s is undefined"
msgstr "le symbole de départ %s n'est pas défini" msgstr "le symbole de départ %s n'est pas défini"
#: src/reader.c:1784 #: src/reader.c:1802
#, c-format #, c-format
msgid "the start symbol %s is a token" msgid "the start symbol %s is a token"
msgstr "le symbole de départ %s est un terminal" msgstr "le symbole de départ %s est un terminal"

BIN
po/ja.gmo

Binary file not shown.

View File

@@ -5,7 +5,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: GNU bison 1.28\n" "Project-Id-Version: GNU bison 1.28\n"
"POT-Creation-Date: 2001-11-01 19:27+0100\n" "POT-Creation-Date: 2001-11-02 18:54+0100\n"
"PO-Revision-Date: 1999-09-28 21:10+0900\n" "PO-Revision-Date: 1999-09-28 21:10+0900\n"
"Last-Translator: Daisuke Yamashita <yamad@mb.infoweb.ne.jp>\n" "Last-Translator: Daisuke Yamashita <yamad@mb.infoweb.ne.jp>\n"
"Language-Team: Japanese <ja@li.org>\n" "Language-Team: Japanese <ja@li.org>\n"
@@ -456,7 +456,7 @@ msgstr ""
msgid "symbol %s redefined" msgid "symbol %s redefined"
msgstr "シンボル %s が再定義されました" msgstr "シンボル %s が再定義されました"
#: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1285 #: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1283
#, c-format #, c-format
msgid "type redeclaration for %s" msgid "type redeclaration for %s"
msgstr "%s の型が再定義されました" msgstr "%s の型が再定義されました"
@@ -466,12 +466,12 @@ msgstr "%s
msgid "`%s' is invalid in %s" msgid "`%s' is invalid in %s"
msgstr "%2$s 内の `%1$s' は無効です" msgstr "%2$s 内の `%1$s' は無効です"
#: src/reader.c:558 src/reader.c:717 #: src/reader.c:558 src/reader.c:716
#, fuzzy, c-format #, fuzzy, c-format
msgid "multiple %s declarations" msgid "multiple %s declarations"
msgstr "複数の %start が宣言されました" msgstr "複数の %start が宣言されました"
#: src/reader.c:560 src/reader.c:897 src/reader.c:922 src/reader.c:1263 #: src/reader.c:560 src/reader.c:895 src/reader.c:920 src/reader.c:1261
#, fuzzy, c-format #, fuzzy, c-format
msgid "invalid %s declaration" msgid "invalid %s declaration"
msgstr "無効な %start が宣言されました" msgstr "無効な %start が宣言されました"
@@ -500,122 +500,122 @@ msgstr "̵
msgid "unexpected item: %s" msgid "unexpected item: %s"
msgstr "予期せぬアイテム: %s" msgstr "予期せぬアイテム: %s"
#: src/reader.c:760 src/reader.c:1089 src/reader.c:1160 #: src/reader.c:759 src/reader.c:1087 src/reader.c:1158
#, fuzzy, c-format #, fuzzy, c-format
msgid "unmatched %s" msgid "unmatched %s"
msgstr "対応のない `{' です" msgstr "対応のない `{' です"
#: src/reader.c:792 #: src/reader.c:791
#, fuzzy, c-format #, fuzzy, c-format
msgid "argument of %%expect is not an integer" msgid "argument of %%expect is not an integer"
msgstr "%expect の引数が整数値ではありません" msgstr "%expect の引数が整数値ではありません"
#: src/reader.c:838 #: src/reader.c:837
#, c-format #, c-format
msgid "unrecognized item %s, expected an identifier" msgid "unrecognized item %s, expected an identifier"
msgstr "認識できないアイテム %s、ここでは識別子が期待されます" msgstr "認識できないアイテム %s、ここでは識別子が期待されます"
#: src/reader.c:862 #: src/reader.c:859
#, c-format #, c-format
msgid "expected string constant instead of %s" msgid "expected string constant instead of %s"
msgstr "ここでは %s ではなく文字列定数が期待されます" msgstr "ここでは %s ではなく文字列定数が期待されます"
#: src/reader.c:1005 #: src/reader.c:1003
#, c-format #, c-format
msgid "unrecognized: %s" msgid "unrecognized: %s"
msgstr "認識できない: %s" msgstr "認識できない: %s"
#: src/reader.c:1010 #: src/reader.c:1008
msgid "no input grammar" msgid "no input grammar"
msgstr "文法の入力が無い" msgstr "文法の入力が無い"
#: src/reader.c:1015 #: src/reader.c:1013
#, c-format #, c-format
msgid "unknown character: %s" msgid "unknown character: %s"
msgstr "未知の文字: %s" msgstr "未知の文字: %s"
#: src/reader.c:1183 #: src/reader.c:1181
#, fuzzy, c-format #, fuzzy, c-format
msgid "unterminated %guard clause" msgid "unterminated %guard clause"
msgstr "閉じられていない %%guard 節です" msgstr "閉じられていない %%guard 節です"
#: src/reader.c:1350 #: src/reader.c:1348
msgid "ill-formed rule: initial symbol not followed by colon" msgid "ill-formed rule: initial symbol not followed by colon"
msgstr "邪悪な規則: 初期化シンボルにコロン (:) が続いていません" msgstr "邪悪な規則: 初期化シンボルにコロン (:) が続いていません"
#: src/reader.c:1357 #: src/reader.c:1355
msgid "grammar starts with vertical bar" msgid "grammar starts with vertical bar"
msgstr "文法は縦棒 (|) で始めます" msgstr "文法は縦棒 (|) で始めます"
#: src/reader.c:1388 #: src/reader.c:1386
#, c-format #, c-format
msgid "rule given for %s, which is a token" msgid "rule given for %s, which is a token"
msgstr "%s に規則が与えられ、それはトークンとなります" msgstr "%s に規則が与えられ、それはトークンとなります"
#: src/reader.c:1490 #: src/reader.c:1488
msgid "two @prec's in a row" msgid "two @prec's in a row"
msgstr "@prec のもの二つが同列になっています" msgstr "@prec のもの二つが同列になっています"
#: src/reader.c:1498 #: src/reader.c:1496
#, c-format #, c-format
msgid "%%guard present but %%semantic_parser not specified" msgid "%%guard present but %%semantic_parser not specified"
msgstr "%%guard がありますが %%semantic_parser が指定されていません" msgstr "%%guard がありますが %%semantic_parser が指定されていません"
#: src/reader.c:1507 #: src/reader.c:1505
msgid "two actions at end of one rule" msgid "two actions at end of one rule"
msgstr "一つの規則の終りに二つの動作を指定しています" msgstr "一つの規則の終りに二つの動作を指定しています"
#: src/reader.c:1521 #: src/reader.c:1519
#, c-format #, c-format
msgid "type clash (`%s' `%s') on default action" msgid "type clash (`%s' `%s') on default action"
msgstr "初期状態の動作では型 (`%s' `%s') が衝突します" msgstr "初期状態の動作では型 (`%s' `%s') が衝突します"
#: src/reader.c:1527 #: src/reader.c:1525
msgid "empty rule for typed nonterminal, and no action" msgid "empty rule for typed nonterminal, and no action"
msgstr "空の型付き非終端アイテム用規則であり、動作が起りません" msgstr "空の型付き非終端アイテム用規則であり、動作が起りません"
#: src/reader.c:1571 #: src/reader.c:1569
#, c-format #, c-format
msgid "invalid input: %s" msgid "invalid input: %s"
msgstr "無効な入力: %s" msgstr "無効な入力: %s"
#: src/reader.c:1579 #: src/reader.c:1577
#, fuzzy, c-format #, fuzzy, c-format
msgid "too many symbols (tokens plus nonterminals); maximum %d" msgid "too many symbols (tokens plus nonterminals); maximum %d"
msgstr "シンボルが多すぎます (トークンと非終端アイテム) -- 最大 %s" msgstr "シンボルが多すぎます (トークンと非終端アイテム) -- 最大 %s"
#: src/reader.c:1582 #: src/reader.c:1580
msgid "no rules in the input grammar" msgid "no rules in the input grammar"
msgstr "入力した文法に規則が定義されていません" msgstr "入力した文法に規則が定義されていません"
#: src/reader.c:1606 #: src/reader.c:1604
#, c-format #, c-format
msgid "symbol %s is used, but is not defined as a token and has no rules" msgid "symbol %s is used, but is not defined as a token and has no rules"
msgstr "" msgstr ""
"シンボル %s が使われていますが、トークンとして定義されておらず、規則を持ちま" "シンボル %s が使われていますが、トークンとして定義されておらず、規則を持ちま"
"せん" "せん"
#: src/reader.c:1712 #: src/reader.c:1696
#, c-format
msgid "conflicting precedences for %s and %s"
msgstr "先行している %s と %s で競合が生じています"
#: src/reader.c:1724
#, c-format
msgid "conflicting assoc values for %s and %s"
msgstr "非結合値 %s と %s で競合が生じています"
#: src/reader.c:1770
#, fuzzy, c-format #, fuzzy, c-format
msgid "tokens %s and %s both assigned number %d" msgid "tokens %s and %s both assigned number %d"
msgstr "トークン %s と %s の双方が番号 %s に割り当てられました" msgstr "トークン %s と %s の双方が番号 %s に割り当てられました"
#: src/reader.c:1782 #: src/reader.c:1749
#, c-format
msgid "conflicting precedences for %s and %s"
msgstr "先行している %s と %s で競合が生じています"
#: src/reader.c:1761
#, c-format
msgid "conflicting assoc values for %s and %s"
msgstr "非結合値 %s と %s で競合が生じています"
#: src/reader.c:1800
#, c-format #, c-format
msgid "the start symbol %s is undefined" msgid "the start symbol %s is undefined"
msgstr "開始シンボル %s は定義されていません" msgstr "開始シンボル %s は定義されていません"
#: src/reader.c:1784 #: src/reader.c:1802
#, c-format #, c-format
msgid "the start symbol %s is a token" msgid "the start symbol %s is a token"
msgstr "開始シンボル %s はトークンです" msgstr "開始シンボル %s はトークンです"

BIN
po/nl.gmo

Binary file not shown.

View File

@@ -5,7 +5,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: bison 1.25\n" "Project-Id-Version: bison 1.25\n"
"POT-Creation-Date: 2001-11-01 19:27+0100\n" "POT-Creation-Date: 2001-11-02 18:54+0100\n"
"PO-Revision-Date: 1996-08-27 15:34 MET DST\n" "PO-Revision-Date: 1996-08-27 15:34 MET DST\n"
"Last-Translator: Erick Branderhorst <branderh@debian.org>\n" "Last-Translator: Erick Branderhorst <branderh@debian.org>\n"
"Language-Team: Dutch <nl@li.org>\n" "Language-Team: Dutch <nl@li.org>\n"
@@ -458,7 +458,7 @@ msgstr ""
msgid "symbol %s redefined" msgid "symbol %s redefined"
msgstr "symbool %s opnieuw gedefinieerd" msgstr "symbool %s opnieuw gedefinieerd"
#: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1285 #: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1283
#, c-format #, c-format
msgid "type redeclaration for %s" msgid "type redeclaration for %s"
msgstr "type herdeclaratie voor %s" msgstr "type herdeclaratie voor %s"
@@ -468,12 +468,12 @@ msgstr "type herdeclaratie voor %s"
msgid "`%s' is invalid in %s" msgid "`%s' is invalid in %s"
msgstr "`%s' is onjuist in %s" msgstr "`%s' is onjuist in %s"
#: src/reader.c:558 src/reader.c:717 #: src/reader.c:558 src/reader.c:716
#, fuzzy, c-format #, fuzzy, c-format
msgid "multiple %s declarations" msgid "multiple %s declarations"
msgstr "meerdere %start declaraties" msgstr "meerdere %start declaraties"
#: src/reader.c:560 src/reader.c:897 src/reader.c:922 src/reader.c:1263 #: src/reader.c:560 src/reader.c:895 src/reader.c:920 src/reader.c:1261
#, fuzzy, c-format #, fuzzy, c-format
msgid "invalid %s declaration" msgid "invalid %s declaration"
msgstr "onjuiste %start declaratie" msgstr "onjuiste %start declaratie"
@@ -502,123 +502,123 @@ msgstr "onjuiste tekst (%s) - nummer hoort na de identifier"
msgid "unexpected item: %s" msgid "unexpected item: %s"
msgstr "onbekend item: %s" msgstr "onbekend item: %s"
#: src/reader.c:760 src/reader.c:1089 src/reader.c:1160 #: src/reader.c:759 src/reader.c:1087 src/reader.c:1158
#, fuzzy, c-format #, fuzzy, c-format
msgid "unmatched %s" msgid "unmatched %s"
msgstr "niet overeenkomstige `{'" msgstr "niet overeenkomstige `{'"
#: src/reader.c:792 #: src/reader.c:791
#, fuzzy, c-format #, fuzzy, c-format
msgid "argument of %%expect is not an integer" msgid "argument of %%expect is not an integer"
msgstr "argument van %expect is niet een integer" msgstr "argument van %expect is niet een integer"
#: src/reader.c:838 #: src/reader.c:837
#, c-format #, c-format
msgid "unrecognized item %s, expected an identifier" msgid "unrecognized item %s, expected an identifier"
msgstr "onbekend item %s, verwacht een identifier" msgstr "onbekend item %s, verwacht een identifier"
#: src/reader.c:862 #: src/reader.c:859
#, c-format #, c-format
msgid "expected string constant instead of %s" msgid "expected string constant instead of %s"
msgstr "verwacht string constante in plaats van %s" msgstr "verwacht string constante in plaats van %s"
#: src/reader.c:1005 #: src/reader.c:1003
#, c-format #, c-format
msgid "unrecognized: %s" msgid "unrecognized: %s"
msgstr "onbekend: %s" msgstr "onbekend: %s"
#: src/reader.c:1010 #: src/reader.c:1008
msgid "no input grammar" msgid "no input grammar"
msgstr "geen invoer grammatica" msgstr "geen invoer grammatica"
#: src/reader.c:1015 #: src/reader.c:1013
#, c-format #, c-format
msgid "unknown character: %s" msgid "unknown character: %s"
msgstr "onbekend karakter: %s" msgstr "onbekend karakter: %s"
#: src/reader.c:1183 #: src/reader.c:1181
#, fuzzy, c-format #, fuzzy, c-format
msgid "unterminated %guard clause" msgid "unterminated %guard clause"
msgstr "niet getermineerde %%guard voorwaarde" msgstr "niet getermineerde %%guard voorwaarde"
#: src/reader.c:1350 #: src/reader.c:1348
msgid "ill-formed rule: initial symbol not followed by colon" msgid "ill-formed rule: initial symbol not followed by colon"
msgstr "" msgstr ""
"slecht geformuleerde regel: initieel symbool niet gevolgd door dubbele punt" "slecht geformuleerde regel: initieel symbool niet gevolgd door dubbele punt"
#: src/reader.c:1357 #: src/reader.c:1355
msgid "grammar starts with vertical bar" msgid "grammar starts with vertical bar"
msgstr "grammatica start met een verticale bar" msgstr "grammatica start met een verticale bar"
#: src/reader.c:1388 #: src/reader.c:1386
#, c-format #, c-format
msgid "rule given for %s, which is a token" msgid "rule given for %s, which is a token"
msgstr "regel geven voor %s, welke een teken is" msgstr "regel geven voor %s, welke een teken is"
#: src/reader.c:1490 #: src/reader.c:1488
msgid "two @prec's in a row" msgid "two @prec's in a row"
msgstr "twee @prec's in een regel" msgstr "twee @prec's in een regel"
#: src/reader.c:1498 #: src/reader.c:1496
#, c-format #, c-format
msgid "%%guard present but %%semantic_parser not specified" msgid "%%guard present but %%semantic_parser not specified"
msgstr "%%guard aanwezig maar %%semantic_parser niet gespecificeerd" msgstr "%%guard aanwezig maar %%semantic_parser niet gespecificeerd"
#: src/reader.c:1507 #: src/reader.c:1505
msgid "two actions at end of one rule" msgid "two actions at end of one rule"
msgstr "twee akties aan het einde van een regel" msgstr "twee akties aan het einde van een regel"
#: src/reader.c:1521 #: src/reader.c:1519
#, c-format #, c-format
msgid "type clash (`%s' `%s') on default action" msgid "type clash (`%s' `%s') on default action"
msgstr "type clash (`%s' `%s') bij standaard aktie" msgstr "type clash (`%s' `%s') bij standaard aktie"
#: src/reader.c:1527 #: src/reader.c:1525
msgid "empty rule for typed nonterminal, and no action" msgid "empty rule for typed nonterminal, and no action"
msgstr "lege regel voor getypte niet terminal, en geen aktie" msgstr "lege regel voor getypte niet terminal, en geen aktie"
#: src/reader.c:1571 #: src/reader.c:1569
#, c-format #, c-format
msgid "invalid input: %s" msgid "invalid input: %s"
msgstr "ongeldige invoer: %s" msgstr "ongeldige invoer: %s"
#: src/reader.c:1579 #: src/reader.c:1577
#, fuzzy, c-format #, fuzzy, c-format
msgid "too many symbols (tokens plus nonterminals); maximum %d" msgid "too many symbols (tokens plus nonterminals); maximum %d"
msgstr "te veel symbolen (tekens plus nietterminals); maximum %s" msgstr "te veel symbolen (tekens plus nietterminals); maximum %s"
#: src/reader.c:1582 #: src/reader.c:1580
msgid "no rules in the input grammar" msgid "no rules in the input grammar"
msgstr "geen regels voor invoer grammatica" msgstr "geen regels voor invoer grammatica"
#: src/reader.c:1606 #: src/reader.c:1604
#, c-format #, c-format
msgid "symbol %s is used, but is not defined as a token and has no rules" msgid "symbol %s is used, but is not defined as a token and has no rules"
msgstr "" msgstr ""
"symbool %s is gebruikt, maar is niet gedefinieerd als een teken en\n" "symbool %s is gebruikt, maar is niet gedefinieerd als een teken en\n"
"heeft geen regels" "heeft geen regels"
#: src/reader.c:1712 #: src/reader.c:1696
#, c-format
msgid "conflicting precedences for %s and %s"
msgstr "conflictuerende precedentein voor %s en %s"
#: src/reader.c:1724
#, c-format
msgid "conflicting assoc values for %s and %s"
msgstr "conflictuerende associatieve waarden voor %s en %s"
#: src/reader.c:1770
#, c-format #, c-format
msgid "tokens %s and %s both assigned number %d" msgid "tokens %s and %s both assigned number %d"
msgstr "" msgstr ""
#: src/reader.c:1782 #: src/reader.c:1749
#, c-format
msgid "conflicting precedences for %s and %s"
msgstr "conflictuerende precedentein voor %s en %s"
#: src/reader.c:1761
#, c-format
msgid "conflicting assoc values for %s and %s"
msgstr "conflictuerende associatieve waarden voor %s en %s"
#: src/reader.c:1800
#, c-format #, c-format
msgid "the start symbol %s is undefined" msgid "the start symbol %s is undefined"
msgstr "" msgstr ""
#: src/reader.c:1784 #: src/reader.c:1802
#, c-format #, c-format
msgid "the start symbol %s is a token" msgid "the start symbol %s is a token"
msgstr "het start symbool %s is een token" msgstr "het start symbool %s is een token"

BIN
po/ru.gmo

Binary file not shown.

View File

@@ -5,7 +5,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: bison 1.29\n" "Project-Id-Version: bison 1.29\n"
"POT-Creation-Date: 2001-11-01 19:27+0100\n" "POT-Creation-Date: 2001-11-02 18:54+0100\n"
"PO-Revision-Date: 2001-09-09 13:49+04:00\n" "PO-Revision-Date: 2001-09-09 13:49+04:00\n"
"Last-Translator: Dmitry S. Sivachenko <dima@Chg.RU>\n" "Last-Translator: Dmitry S. Sivachenko <dima@Chg.RU>\n"
"Language-Team: Russian <ru@li.org>\n" "Language-Team: Russian <ru@li.org>\n"
@@ -462,7 +462,7 @@ msgstr ""
msgid "symbol %s redefined" msgid "symbol %s redefined"
msgstr "ÐÏ×ÔÏÒÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ ÓÉÍ×ÏÌÁ %s" msgstr "ÐÏ×ÔÏÒÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ ÓÉÍ×ÏÌÁ %s"
#: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1285 #: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1283
#, c-format #, c-format
msgid "type redeclaration for %s" msgid "type redeclaration for %s"
msgstr "ÐÏ×ÔÏÒÎÏÅ ÏÐÉÓÁÎÉÅ ÔÉÐÁ ÄÌÑ %s" msgstr "ÐÏ×ÔÏÒÎÏÅ ÏÐÉÓÁÎÉÅ ÔÉÐÁ ÄÌÑ %s"
@@ -472,12 +472,12 @@ msgstr "
msgid "`%s' is invalid in %s" msgid "`%s' is invalid in %s"
msgstr "`%s' ÎÅ×ÅÒÎÏ × %s" msgstr "`%s' ÎÅ×ÅÒÎÏ × %s"
#: src/reader.c:558 src/reader.c:717 #: src/reader.c:558 src/reader.c:716
#, c-format #, c-format
msgid "multiple %s declarations" msgid "multiple %s declarations"
msgstr "ÍÎÏÖÅÓÔ×ÅÎÎÏÅ ÏÐÉÓÁÎÉÅ %s" msgstr "ÍÎÏÖÅÓÔ×ÅÎÎÏÅ ÏÐÉÓÁÎÉÅ %s"
#: src/reader.c:560 src/reader.c:897 src/reader.c:922 src/reader.c:1263 #: src/reader.c:560 src/reader.c:895 src/reader.c:920 src/reader.c:1261
#, c-format #, c-format
msgid "invalid %s declaration" msgid "invalid %s declaration"
msgstr "ÎÅ×ÅÒÎÏÅ ÏÐÉÓÁÎÉÅ %s" msgstr "ÎÅ×ÅÒÎÏÅ ÏÐÉÓÁÎÉÅ %s"
@@ -506,121 +506,121 @@ msgstr "
msgid "unexpected item: %s" msgid "unexpected item: %s"
msgstr "ÎÅÏÖÉÄÁÎÎÙÊ ÜÌÅÍÅÎÔ: %s" msgstr "ÎÅÏÖÉÄÁÎÎÙÊ ÜÌÅÍÅÎÔ: %s"
#: src/reader.c:760 src/reader.c:1089 src/reader.c:1160 #: src/reader.c:759 src/reader.c:1087 src/reader.c:1158
#, c-format #, c-format
msgid "unmatched %s" msgid "unmatched %s"
msgstr "ÎÅÐÁÒÎÁÑ %s" msgstr "ÎÅÐÁÒÎÁÑ %s"
#: src/reader.c:792 #: src/reader.c:791
#, c-format #, c-format
msgid "argument of %%expect is not an integer" msgid "argument of %%expect is not an integer"
msgstr "ÁÒÇÕÍÅÎÔ %%expect ÎÅ Ñ×ÌÑÅÔÓÑ ÃÅÌÙÍ ÞÉÓÌÏÍ" msgstr "ÁÒÇÕÍÅÎÔ %%expect ÎÅ Ñ×ÌÑÅÔÓÑ ÃÅÌÙÍ ÞÉÓÌÏÍ"
#: src/reader.c:838 #: src/reader.c:837
#, c-format #, c-format
msgid "unrecognized item %s, expected an identifier" msgid "unrecognized item %s, expected an identifier"
msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÙÊ ÜÌÅÍÅÎÔ %s, ÏÖÉÄÁÌÓÑ ÉÄÅÎÔÉÆÉËÁÔÏÒ" msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÙÊ ÜÌÅÍÅÎÔ %s, ÏÖÉÄÁÌÓÑ ÉÄÅÎÔÉÆÉËÁÔÏÒ"
#: src/reader.c:862 #: src/reader.c:859
#, c-format #, c-format
msgid "expected string constant instead of %s" msgid "expected string constant instead of %s"
msgstr "×ÍÅÓÔÏ %s ÏÖÉÄÁÌÁÓØ ÓÔÒÏËÏ×ÁÑ ÐÏÓÔÏÑÎÎÁÑ" msgstr "×ÍÅÓÔÏ %s ÏÖÉÄÁÌÁÓØ ÓÔÒÏËÏ×ÁÑ ÐÏÓÔÏÑÎÎÁÑ"
#: src/reader.c:1005 #: src/reader.c:1003
#, c-format #, c-format
msgid "unrecognized: %s" msgid "unrecognized: %s"
msgstr "ÎÅÒÁÓÐÏÚÎÁÎÏ: %s" msgstr "ÎÅÒÁÓÐÏÚÎÁÎÏ: %s"
#: src/reader.c:1010 #: src/reader.c:1008
msgid "no input grammar" msgid "no input grammar"
msgstr "ÎÅÔ ×ÈÏÄÎÏÊ ÇÒÁÍÍÁÔÉËÉ" msgstr "ÎÅÔ ×ÈÏÄÎÏÊ ÇÒÁÍÍÁÔÉËÉ"
#: src/reader.c:1015 #: src/reader.c:1013
#, c-format #, c-format
msgid "unknown character: %s" msgid "unknown character: %s"
msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ ÓÉÍ×ÏÌ: %s" msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ ÓÉÍ×ÏÌ: %s"
#: src/reader.c:1183 #: src/reader.c:1181
#, c-format #, c-format
msgid "unterminated %guard clause" msgid "unterminated %guard clause"
msgstr "ÎÅÚÁËÏÎÞÅÎÎÙÊ ÏÐÅÒÁÔÏÒ %guard" msgstr "ÎÅÚÁËÏÎÞÅÎÎÙÊ ÏÐÅÒÁÔÏÒ %guard"
#: src/reader.c:1350 #: src/reader.c:1348
msgid "ill-formed rule: initial symbol not followed by colon" msgid "ill-formed rule: initial symbol not followed by colon"
msgstr "ÎÅ×ÅÒÎÏÅ ÐÒÁ×ÉÌÏ: Ä×ÏÅÔÏÞÉÅ ÎÅ ÓÌÅÄÕÅÔ ÚÁ ÎÁÞÁÌØÎÙÍ ÓÉÍ×ÏÌÏÍ" msgstr "ÎÅ×ÅÒÎÏÅ ÐÒÁ×ÉÌÏ: Ä×ÏÅÔÏÞÉÅ ÎÅ ÓÌÅÄÕÅÔ ÚÁ ÎÁÞÁÌØÎÙÍ ÓÉÍ×ÏÌÏÍ"
#: src/reader.c:1357 #: src/reader.c:1355
msgid "grammar starts with vertical bar" msgid "grammar starts with vertical bar"
msgstr "ÇÒÁÍÍÁÔÉËÁ ÎÁÞÉÎÁÅÔÓÑ Ó ×ÅÒÔÉËÁÌØÎÏÊ ÞÅÒÔÙ" msgstr "ÇÒÁÍÍÁÔÉËÁ ÎÁÞÉÎÁÅÔÓÑ Ó ×ÅÒÔÉËÁÌØÎÏÊ ÞÅÒÔÙ"
#: src/reader.c:1388 #: src/reader.c:1386
#, c-format #, c-format
msgid "rule given for %s, which is a token" msgid "rule given for %s, which is a token"
msgstr "ÐÒÁ×ÉÌÏ ÚÁÄÁÎÏ ÄÌÑ %s, ËÏÔÏÒÙÊ Ñ×ÌÑÅÔÓÑ ÌÅËÓÅÍÏÊ" msgstr "ÐÒÁ×ÉÌÏ ÚÁÄÁÎÏ ÄÌÑ %s, ËÏÔÏÒÙÊ Ñ×ÌÑÅÔÓÑ ÌÅËÓÅÍÏÊ"
#: src/reader.c:1490 #: src/reader.c:1488
msgid "two @prec's in a row" msgid "two @prec's in a row"
msgstr "Ä×Á @prec ÐÏÄÒÑÄ" msgstr "Ä×Á @prec ÐÏÄÒÑÄ"
#: src/reader.c:1498 #: src/reader.c:1496
#, c-format #, c-format
msgid "%%guard present but %%semantic_parser not specified" msgid "%%guard present but %%semantic_parser not specified"
msgstr "%%guard ÐÒÉÓÕÔÓÔ×ÕÅÔ, Á %%semantic_parser ÎÅ ÚÁÄÁÎ" msgstr "%%guard ÐÒÉÓÕÔÓÔ×ÕÅÔ, Á %%semantic_parser ÎÅ ÚÁÄÁÎ"
#: src/reader.c:1507 #: src/reader.c:1505
msgid "two actions at end of one rule" msgid "two actions at end of one rule"
msgstr "Ä×Á ÄÅÊÓÔ×ÉÑ × ËÏÎÃÅ ÏÄÎÏÇÏ ÐÒÁ×ÉÌÁ" msgstr "Ä×Á ÄÅÊÓÔ×ÉÑ × ËÏÎÃÅ ÏÄÎÏÇÏ ÐÒÁ×ÉÌÁ"
#: src/reader.c:1521 #: src/reader.c:1519
#, c-format #, c-format
msgid "type clash (`%s' `%s') on default action" msgid "type clash (`%s' `%s') on default action"
msgstr "ËÏÎÆÌÉËÔ ÔÉÐÏ× (`%s' `%s') ÎÁ ÄÅÊÓÔ×ÉÉ ÐÏ ÕÍÏÌÞÁÎÉÀ" msgstr "ËÏÎÆÌÉËÔ ÔÉÐÏ× (`%s' `%s') ÎÁ ÄÅÊÓÔ×ÉÉ ÐÏ ÕÍÏÌÞÁÎÉÀ"
#: src/reader.c:1527 #: src/reader.c:1525
msgid "empty rule for typed nonterminal, and no action" msgid "empty rule for typed nonterminal, and no action"
msgstr "" msgstr ""
"ÐÕÓÔÏÅ ÐÒÁ×ÉÌÏ ÄÌÑ ÔÉÐÉÚÉÒÏ×ÁÎÎÏÇÏ ÎÅÔÅÒÍÉÎÁÌØÎÏÇÏ ÓÉÍ×ÏÌÁ, É ÎÅÔ ÄÅÊÓÔ×ÉÑ" "ÐÕÓÔÏÅ ÐÒÁ×ÉÌÏ ÄÌÑ ÔÉÐÉÚÉÒÏ×ÁÎÎÏÇÏ ÎÅÔÅÒÍÉÎÁÌØÎÏÇÏ ÓÉÍ×ÏÌÁ, É ÎÅÔ ÄÅÊÓÔ×ÉÑ"
#: src/reader.c:1571 #: src/reader.c:1569
#, c-format #, c-format
msgid "invalid input: %s" msgid "invalid input: %s"
msgstr "ÎÅ×ÅÒÎÙÅ ×ÈÏÄÎÙÅ ÄÁÎÎÙÅ: %s" msgstr "ÎÅ×ÅÒÎÙÅ ×ÈÏÄÎÙÅ ÄÁÎÎÙÅ: %s"
#: src/reader.c:1579 #: src/reader.c:1577
#, c-format #, c-format
msgid "too many symbols (tokens plus nonterminals); maximum %d" msgid "too many symbols (tokens plus nonterminals); maximum %d"
msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÓÉÍ×ÏÌÏ× (ÌÅËÓÅÍÙ ÐÌÀÓ ÎÅÔÅÒÍÉÎÁÌÙ); ÍÁËÓÉÍÁÌØÎÏ %d" msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÓÉÍ×ÏÌÏ× (ÌÅËÓÅÍÙ ÐÌÀÓ ÎÅÔÅÒÍÉÎÁÌÙ); ÍÁËÓÉÍÁÌØÎÏ %d"
#: src/reader.c:1582 #: src/reader.c:1580
msgid "no rules in the input grammar" msgid "no rules in the input grammar"
msgstr "ÏÔÓÕÔÓÔ×ÕÀÔ ÐÒÁ×ÉÌÁ ×Ï ×ÈÏÄÎÏÊ ÇÒÁÍÍÁÔÉËÅ" msgstr "ÏÔÓÕÔÓÔ×ÕÀÔ ÐÒÁ×ÉÌÁ ×Ï ×ÈÏÄÎÏÊ ÇÒÁÍÍÁÔÉËÅ"
#: src/reader.c:1606 #: src/reader.c:1604
#, c-format #, c-format
msgid "symbol %s is used, but is not defined as a token and has no rules" msgid "symbol %s is used, but is not defined as a token and has no rules"
msgstr "ÓÉÍ×ÏÌ %s ÉÓÐÏÌØÚÕÅÔÓÑ, ÎÏ ÎÅ ÏÐÒÅÄÅÌÅÎ ËÁË ÌÅËÓÅÍÁ É ÎÅ ÉÍÅÅÔ ÐÒÁ×ÉÌ" msgstr "ÓÉÍ×ÏÌ %s ÉÓÐÏÌØÚÕÅÔÓÑ, ÎÏ ÎÅ ÏÐÒÅÄÅÌÅÎ ËÁË ÌÅËÓÅÍÁ É ÎÅ ÉÍÅÅÔ ÐÒÁ×ÉÌ"
#: src/reader.c:1712 #: src/reader.c:1696
#, c-format
msgid "conflicting precedences for %s and %s"
msgstr "ÐÒÏÔÉ×ÏÒÅÞÉ×ÙÅ ÐÒÉÏÒÉÔÅÔÙ ÄÌÑ %s É %s"
#: src/reader.c:1724
#, c-format
msgid "conflicting assoc values for %s and %s"
msgstr "ÐÒÏÔÉ×ÏÒÅÞÉ×ÙÅ ÚÎÁÞÅÎÉÑ ÁÓÓÏÃÉÁÔÉ×ÎÏÓÔÉ ÄÌÑ %s É %s"
#: src/reader.c:1770
#, c-format #, c-format
msgid "tokens %s and %s both assigned number %d" msgid "tokens %s and %s both assigned number %d"
msgstr "ÏÂÅÉÍ ÌÅËÓÅÍÁÍ %s É %s ÐÒÉÓ×ÏÅÎ ÎÏÍÅÒ %d" msgstr "ÏÂÅÉÍ ÌÅËÓÅÍÁÍ %s É %s ÐÒÉÓ×ÏÅÎ ÎÏÍÅÒ %d"
#: src/reader.c:1782 #: src/reader.c:1749
#, c-format
msgid "conflicting precedences for %s and %s"
msgstr "ÐÒÏÔÉ×ÏÒÅÞÉ×ÙÅ ÐÒÉÏÒÉÔÅÔÙ ÄÌÑ %s É %s"
#: src/reader.c:1761
#, c-format
msgid "conflicting assoc values for %s and %s"
msgstr "ÐÒÏÔÉ×ÏÒÅÞÉ×ÙÅ ÚÎÁÞÅÎÉÑ ÁÓÓÏÃÉÁÔÉ×ÎÏÓÔÉ ÄÌÑ %s É %s"
#: src/reader.c:1800
#, c-format #, c-format
msgid "the start symbol %s is undefined" msgid "the start symbol %s is undefined"
msgstr "ÎÁÞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s ÎÅÏÐÒÅÄÅÌÅÎ" msgstr "ÎÁÞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s ÎÅÏÐÒÅÄÅÌÅÎ"
#: src/reader.c:1784 #: src/reader.c:1802
#, c-format #, c-format
msgid "the start symbol %s is a token" msgid "the start symbol %s is a token"
msgstr "ÎÁÞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s Ñ×ÌÑÅÔÓÑ ÌÅËÓÅÍÏÊ" msgstr "ÎÁÞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s Ñ×ÌÑÅÔÓÑ ÌÅËÓÅÍÏÊ"

View File

@@ -5,7 +5,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: bison 1.28c\n" "Project-Id-Version: bison 1.28c\n"
"POT-Creation-Date: 2001-11-01 19:27+0100\n" "POT-Creation-Date: 2001-11-02 18:54+0100\n"
"PO-Revision-Date: 2001-09-10 10:54GMT\n" "PO-Revision-Date: 2001-09-10 10:54GMT\n"
"Last-Translator: Altug Bayram <altugbayram_2000@yahoo.com>\n" "Last-Translator: Altug Bayram <altugbayram_2000@yahoo.com>\n"
"Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n" "Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
@@ -464,7 +464,7 @@ msgstr "`%s' simgesine birden fazla sabit dizge verilmi
msgid "symbol %s redefined" msgid "symbol %s redefined"
msgstr "%s simgesi yeniden tanýmlandý" msgstr "%s simgesi yeniden tanýmlandý"
#: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1285 #: src/reader.c:532 src/reader.c:610 src/reader.c:671 src/reader.c:1283
#, c-format #, c-format
msgid "type redeclaration for %s" msgid "type redeclaration for %s"
msgstr "%s için yeniden tip bildirimi" msgstr "%s için yeniden tip bildirimi"
@@ -474,12 +474,12 @@ msgstr "%s i
msgid "`%s' is invalid in %s" msgid "`%s' is invalid in %s"
msgstr "`%s' %s içinde geçersizdir" msgstr "`%s' %s içinde geçersizdir"
#: src/reader.c:558 src/reader.c:717 #: src/reader.c:558 src/reader.c:716
#, c-format #, c-format
msgid "multiple %s declarations" msgid "multiple %s declarations"
msgstr "çoklu %s bildirimleri" msgstr "çoklu %s bildirimleri"
#: src/reader.c:560 src/reader.c:897 src/reader.c:922 src/reader.c:1263 #: src/reader.c:560 src/reader.c:895 src/reader.c:920 src/reader.c:1261
#, c-format #, c-format
msgid "invalid %s declaration" msgid "invalid %s declaration"
msgstr "geçersiz %s bildirimi" msgstr "geçersiz %s bildirimi"
@@ -508,121 +508,121 @@ msgstr "ge
msgid "unexpected item: %s" msgid "unexpected item: %s"
msgstr "beklenmeyen öðe: %s" msgstr "beklenmeyen öðe: %s"
#: src/reader.c:760 src/reader.c:1089 src/reader.c:1160 #: src/reader.c:759 src/reader.c:1087 src/reader.c:1158
#, c-format #, c-format
msgid "unmatched %s" msgid "unmatched %s"
msgstr "eþlenemeyen %s" msgstr "eþlenemeyen %s"
#: src/reader.c:792 #: src/reader.c:791
#, c-format #, c-format
msgid "argument of %%expect is not an integer" msgid "argument of %%expect is not an integer"
msgstr "%%expect'in argümaný bir tamsayý deðil" msgstr "%%expect'in argümaný bir tamsayý deðil"
#: src/reader.c:838 #: src/reader.c:837
#, c-format #, c-format
msgid "unrecognized item %s, expected an identifier" msgid "unrecognized item %s, expected an identifier"
msgstr "%s öðesi tanýnmadý, beklenen bir tanýtýcýdýr" msgstr "%s öðesi tanýnmadý, beklenen bir tanýtýcýdýr"
#: src/reader.c:862 #: src/reader.c:859
#, c-format #, c-format
msgid "expected string constant instead of %s" msgid "expected string constant instead of %s"
msgstr "%s'in yerine sabit dizge beklendi" msgstr "%s'in yerine sabit dizge beklendi"
#: src/reader.c:1005 #: src/reader.c:1003
#, c-format #, c-format
msgid "unrecognized: %s" msgid "unrecognized: %s"
msgstr "tanýnmayan: %s" msgstr "tanýnmayan: %s"
#: src/reader.c:1010 #: src/reader.c:1008
msgid "no input grammar" msgid "no input grammar"
msgstr "girdi grameri yok" msgstr "girdi grameri yok"
#: src/reader.c:1015 #: src/reader.c:1013
#, c-format #, c-format
msgid "unknown character: %s" msgid "unknown character: %s"
msgstr "bilinmeyen karakter: %s" msgstr "bilinmeyen karakter: %s"
#: src/reader.c:1183 #: src/reader.c:1181
#, c-format #, c-format
msgid "unterminated %guard clause" msgid "unterminated %guard clause"
msgstr "sonlandýrýlmamýþ %guard yantümcesi" msgstr "sonlandýrýlmamýþ %guard yantümcesi"
#: src/reader.c:1350 #: src/reader.c:1348
msgid "ill-formed rule: initial symbol not followed by colon" msgid "ill-formed rule: initial symbol not followed by colon"
msgstr "kötü-biçemli kural: baþlangýç simgesini takip eden \":\" yok" msgstr "kötü-biçemli kural: baþlangýç simgesini takip eden \":\" yok"
#: src/reader.c:1357 #: src/reader.c:1355
msgid "grammar starts with vertical bar" msgid "grammar starts with vertical bar"
msgstr "gramer düþey çubuk ile baþlýyor" msgstr "gramer düþey çubuk ile baþlýyor"
#: src/reader.c:1388 #: src/reader.c:1386
#, c-format #, c-format
msgid "rule given for %s, which is a token" msgid "rule given for %s, which is a token"
msgstr "bir andaç olan %s için verilen kural" msgstr "bir andaç olan %s için verilen kural"
#: src/reader.c:1490 #: src/reader.c:1488
msgid "two @prec's in a row" msgid "two @prec's in a row"
msgstr "bir satýrda iki @prec" msgstr "bir satýrda iki @prec"
#: src/reader.c:1498 #: src/reader.c:1496
#, c-format #, c-format
msgid "%%guard present but %%semantic_parser not specified" msgid "%%guard present but %%semantic_parser not specified"
msgstr "%%guard sunulmuþ fakat %%semantic_parser belirlenmemiþ" msgstr "%%guard sunulmuþ fakat %%semantic_parser belirlenmemiþ"
#: src/reader.c:1507 #: src/reader.c:1505
msgid "two actions at end of one rule" msgid "two actions at end of one rule"
msgstr "bir kuralýn sonunda iki eylem" msgstr "bir kuralýn sonunda iki eylem"
#: src/reader.c:1521 #: src/reader.c:1519
#, c-format #, c-format
msgid "type clash (`%s' `%s') on default action" msgid "type clash (`%s' `%s') on default action"
msgstr "öntanýmlý eylem üzerinde (`%s' `%s') tip çatýþmasý" msgstr "öntanýmlý eylem üzerinde (`%s' `%s') tip çatýþmasý"
#: src/reader.c:1527 #: src/reader.c:1525
msgid "empty rule for typed nonterminal, and no action" msgid "empty rule for typed nonterminal, and no action"
msgstr "Tipli deðiþken simge için boþ kural tanýmlanmýþ, ve eylembelirtilmemiþ" msgstr "Tipli deðiþken simge için boþ kural tanýmlanmýþ, ve eylembelirtilmemiþ"
#: src/reader.c:1571 #: src/reader.c:1569
#, c-format #, c-format
msgid "invalid input: %s" msgid "invalid input: %s"
msgstr "geçersiz girdi: %s" msgstr "geçersiz girdi: %s"
#: src/reader.c:1579 #: src/reader.c:1577
#, c-format #, c-format
msgid "too many symbols (tokens plus nonterminals); maximum %d" msgid "too many symbols (tokens plus nonterminals); maximum %d"
msgstr "çok fazla simge var (andaçlar ve deðiþken simgeler); en fazla %d" msgstr "çok fazla simge var (andaçlar ve deðiþken simgeler); en fazla %d"
#: src/reader.c:1582 #: src/reader.c:1580
msgid "no rules in the input grammar" msgid "no rules in the input grammar"
msgstr "girdi grameri içinde kurallar yok" msgstr "girdi grameri içinde kurallar yok"
#: src/reader.c:1606 #: src/reader.c:1604
#, c-format #, c-format
msgid "symbol %s is used, but is not defined as a token and has no rules" msgid "symbol %s is used, but is not defined as a token and has no rules"
msgstr "" msgstr ""
"simge %s kullanýldý, fakat bir andaç olarak tanýmlanmadý vekurallarý yok" "simge %s kullanýldý, fakat bir andaç olarak tanýmlanmadý vekurallarý yok"
#: src/reader.c:1712 #: src/reader.c:1696
#, c-format
msgid "conflicting precedences for %s and %s"
msgstr "%s ve %s için çeliþen öncelikler"
#: src/reader.c:1724
#, c-format
msgid "conflicting assoc values for %s and %s"
msgstr "%s ve %s için çeliþen birleþmeli deðerler"
#: src/reader.c:1770
#, c-format #, c-format
msgid "tokens %s and %s both assigned number %d" msgid "tokens %s and %s both assigned number %d"
msgstr "%s ve %s andaçlarýnýn her ikisi %d sayýsýna atandý" msgstr "%s ve %s andaçlarýnýn her ikisi %d sayýsýna atandý"
#: src/reader.c:1782 #: src/reader.c:1749
#, c-format
msgid "conflicting precedences for %s and %s"
msgstr "%s ve %s için çeliþen öncelikler"
#: src/reader.c:1761
#, c-format
msgid "conflicting assoc values for %s and %s"
msgstr "%s ve %s için çeliþen birleþmeli deðerler"
#: src/reader.c:1800
#, c-format #, c-format
msgid "the start symbol %s is undefined" msgid "the start symbol %s is undefined"
msgstr "baþlangýç simgesi %s tanýmlanmadý" msgstr "baþlangýç simgesi %s tanýmlanmadý"
#: src/reader.c:1784 #: src/reader.c:1802
#, c-format #, c-format
msgid "the start symbol %s is a token" msgid "the start symbol %s is a token"
msgstr "baþlangýç simgesi %s bir andaçtýr" msgstr "baþlangýç simgesi %s bir andaçtýr"

View File

@@ -63,6 +63,7 @@ static struct option longopts[] =
{"defines", optional_argument, 0, 'd'}, {"defines", optional_argument, 0, 'd'},
{"verbose", no_argument, 0, 'v'}, {"verbose", no_argument, 0, 'v'},
{"file-prefix", required_argument, 0, 'b'}, {"file-prefix", required_argument, 0, 'b'},
{"output", required_argument, 0, 'o'},
{"output-file", required_argument, 0, 'o'}, {"output-file", required_argument, 0, 'o'},
{"graph", optional_argument, 0, 'g'}, {"graph", optional_argument, 0, 'g'},
@@ -118,9 +119,9 @@ Output:\n\
-d, --defines also produce a header file\n\ -d, --defines also produce a header file\n\
-v, --verbose also produce an explanation of the automaton\n\ -v, --verbose also produce an explanation of the automaton\n\
-b, --file-prefix=PREFIX specify a PREFIX for output files\n\ -b, --file-prefix=PREFIX specify a PREFIX for output files\n\
-o, --output-file=FILE leave output to FILE\n\ -o, --output=FILE leave output to FILE\n\
-g, --graph also produce a VCG graph description of the \ -g, --graph also produce a VCG description of the automaton\n\
automaton\n"), stream); "), stream);
putc ('\n', stream); putc ('\n', stream);
fputs (_("\ fputs (_("\

120
src/lex.c
View File

@@ -21,7 +21,6 @@
#include "system.h" #include "system.h"
#include "getargs.h" #include "getargs.h"
#include "files.h" #include "files.h"
#include "getopt.h" /* for optarg */
#include "symtab.h" #include "symtab.h"
#include "lex.h" #include "lex.h"
#include "complain.h" #include "complain.h"
@@ -30,7 +29,7 @@
/* Buffer for storing the current token. */ /* Buffer for storing the current token. */
struct obstack token_obstack; struct obstack token_obstack;
const char *token_buffer = NULL; char *token_buffer = NULL;
bucket *symval; bucket *symval;
int numval; int numval;
@@ -38,7 +37,7 @@ int numval;
/* A token to be reread, see unlex and lex. */ /* A token to be reread, see unlex and lex. */
static token_t unlexed = tok_undef; static token_t unlexed = tok_undef;
static bucket *unlexed_symval = NULL; static bucket *unlexed_symval = NULL;
static const char *unlexed_token_buffer = NULL; static char *unlexed_token_buffer = NULL;
void void
lex_init (void) lex_init (void)
@@ -427,7 +426,7 @@ lex (void)
/* parse the literal token and compute character code in code */ /* parse the literal token and compute character code in code */
{ {
int code, discode; int code;
obstack_1grow (&token_obstack, '\''); obstack_1grow (&token_obstack, '\'');
literalchar (&token_obstack, &code, '\''); literalchar (&token_obstack, &code, '\'');
@@ -435,6 +434,7 @@ lex (void)
c = getc (finput); c = getc (finput);
if (c != '\'') if (c != '\'')
{ {
int discode;
complain (_("use \"...\" for multi-character literal tokens")); complain (_("use \"...\" for multi-character literal tokens"));
while (1) while (1)
if (!literalchar (0, &discode, '\'')) if (!literalchar (0, &discode, '\''))
@@ -553,28 +553,27 @@ struct percent_table_struct percent_table[] =
{ "nonassoc", NULL, tok_nonassoc }, { "nonassoc", NULL, tok_nonassoc },
{ "binary", NULL, tok_nonassoc }, { "binary", NULL, tok_nonassoc },
{ "prec", NULL, tok_prec }, { "prec", NULL, tok_prec },
{ "locations", &locations_flag, tok_noop }, /* -l */ { "locations", &locations_flag, tok_intopt }, /* -l */
{ "no_lines", &no_lines_flag, tok_noop }, /* -l */ { "no-lines", &no_lines_flag, tok_intopt }, /* -l */
{ "raw", NULL, tok_obsolete }, /* -r */ { "raw", NULL, tok_obsolete }, /* -r */
{ "token_table", &token_table_flag, tok_noop }, /* -k */ { "token-table", &token_table_flag, tok_intopt }, /* -k */
{ "yacc", &yacc_flag, tok_noop }, /* -y */ { "yacc", &yacc_flag, tok_intopt }, /* -y */
{ "fixed_output_files",&yacc_flag, tok_noop }, /* -y */ { "fixed-output-files",&yacc_flag, tok_intopt }, /* -y */
{ "defines", &defines_flag, tok_noop }, /* -d */ { "defines", &defines_flag, tok_intopt }, /* -d */
{ "no_parser", &no_parser_flag, tok_noop }, /* -n */ { "no-parser", &no_parser_flag, tok_intopt }, /* -n */
{ "graph", &graph_flag, tok_noop }, /* -g */ { "graph", &graph_flag, tok_intopt }, /* -g */
#if 0
/* For the time being, this is not enabled yet, while it's possible /* FIXME: semantic parsers which will output an `include' of an
though, since we use obstacks. The only risk is with semantic output file: be sure that the name included is indeed the name of
parsers which will output an `include' of an output file: be sure the output file. */
that the name included is indeed the name of the output file. */ { "output", &spec_outfile, tok_stropt }, /* -o */
{ "output_file", &spec_outfile, tok_setopt }, /* -o */ { "file-prefix", &spec_file_prefix, tok_stropt }, /* -b */
{ "file_prefix", &spec_file_prefix, tok_setopt }, /* -b */ { "name-prefix", &spec_name_prefix, tok_stropt }, /* -p */
{ "name_prefix", &spec_name_prefix, tok_setopt }, /* -p */
#endif { "verbose", &verbose_flag, tok_intopt }, /* -v */
{ "verbose", &verbose_flag, tok_noop }, /* -v */ { "debug", &debug_flag, tok_intopt }, /* -t */
{ "debug", &debug_flag, tok_noop }, /* -t */ { "semantic-parser", &semantic_parser, tok_intopt },
{ "semantic_parser", &semantic_parser, tok_noop }, { "pure-parser", &pure_parser, tok_intopt },
{ "pure_parser", &pure_parser, tok_noop },
{ NULL, NULL, tok_illegal} { NULL, NULL, tok_illegal}
}; };
@@ -585,7 +584,10 @@ struct percent_table_struct percent_table[] =
token_t token_t
parse_percent_token (void) parse_percent_token (void)
{ {
struct percent_table_struct *tx; struct percent_table_struct *tx = NULL;
/* Where `=' was found in token_buffer. */
size_t equal_offset = 0;
char *arg = NULL;
int c = getc (finput); int c = getc (finput);
@@ -597,6 +599,8 @@ parse_percent_token (void)
case '{': case '{':
return tok_percent_left_curly; return tok_percent_left_curly;
/* FIXME: Who the heck are those 5 guys!?! `%<' = `%left'!!!
Let's ask for there removal. */
case '<': case '<':
return tok_left; return tok_left;
@@ -619,42 +623,80 @@ parse_percent_token (void)
obstack_1grow (&token_obstack, '%'); obstack_1grow (&token_obstack, '%');
while (isalpha (c) || c == '_' || c == '-') while (isalpha (c) || c == '_' || c == '-')
{ {
if (c == '-') if (c == '_')
c = '_'; c = '-';
obstack_1grow (&token_obstack, c); obstack_1grow (&token_obstack, c);
c = getc (finput); c = getc (finput);
} }
ungetc (c, finput); if (c == '=')
{
equal_offset = obstack_object_size (&token_obstack);
obstack_1grow (&token_obstack, c);
c = getc (finput);
if (c = '"')
{
int code; /* ignored here */
obstack_1grow (&token_obstack, '"');
/* Read up to and including ". */
while (literalchar (&token_obstack, &code, '"'))
/* nothing */;
}
}
else
ungetc (c, finput);
obstack_1grow (&token_obstack, '\0'); obstack_1grow (&token_obstack, '\0');
token_buffer = obstack_finish (&token_obstack); token_buffer = obstack_finish (&token_obstack);
if (equal_offset)
{
/* %token_buffer="arg" */
arg = token_buffer + equal_offset + 2;
arg[strlen (arg) - 1] = '\0';
token_buffer[equal_offset] = '\0';
}
/* table lookup % directive */ /* table lookup % directive */
for (tx = percent_table; tx->name; tx++) for (tx = percent_table; tx->name; tx++)
if (strcmp (token_buffer + 1, tx->name) == 0) if (strcmp (token_buffer + 1, tx->name) == 0)
break; break;
if (tx->set_flag) if (arg && !tx->retval == tok_stropt)
{ fatal (_("`%s' supports no argument: %s"), token_buffer, quotearg (arg));
*((int *) (tx->set_flag)) = 1;
return tok_noop;
}
switch (tx->retval) switch (tx->retval)
{ {
case tok_setopt: case tok_stropt:
*((char **) (tx->set_flag)) = optarg; assert (tx->set_flag);
if (arg)
{
/* Keep only the first assignment: command line options have
already been processed, and we want them to have
precedence. Side effect: if this %-option is used
several times, only the first is honored. Bah. */
if (!*((char **) (tx->set_flag)))
*((char **) (tx->set_flag)) = arg;
}
else
fatal (_("`%s' requires an argument"), token_buffer);
return tok_noop;
break;
case tok_intopt:
assert (tx->set_flag);
*((int *) (tx->set_flag)) = 1;
return tok_noop; return tok_noop;
break; break;
case tok_obsolete: case tok_obsolete:
fatal (_("`%s' is no longer supported"), token_buffer); fatal (_("`%s' is no longer supported"), token_buffer);
return tok_noop;
break; break;
default: default:
/* Other cases do not apply here. */ return tx->retval;
break; break;
} }
abort ();
return tx->retval;
} }

View File

@@ -49,12 +49,13 @@ typedef enum token_e
tok_expect, tok_expect,
tok_thong, tok_thong,
tok_noop, tok_noop,
tok_setopt, tok_intopt,
tok_stropt,
tok_illegal, tok_illegal,
tok_obsolete tok_obsolete
} token_t; } token_t;
extern const char *token_buffer; extern char *token_buffer;
extern bucket *symval; extern bucket *symval;
extern int numval; extern int numval;

View File

@@ -936,16 +936,13 @@ parse_dquoted_param (const char *from)
static void static void
read_declarations (void) read_declarations (void)
{ {
int c;
int tok;
for (;;) for (;;)
{ {
c = skip_white_space (); int c = skip_white_space ();
if (c == '%') if (c == '%')
{ {
tok = parse_percent_token (); token_t tok = parse_percent_token ();
switch (tok) switch (tok)
{ {
@@ -999,6 +996,13 @@ read_declarations (void)
case tok_noop: case tok_noop:
break; break;
case tok_stropt:
case tok_intopt:
case tok_obsolete:
case tok_illegal:
abort ();
break;
default: default:
complain (_("unrecognized: %s"), token_buffer); complain (_("unrecognized: %s"), token_buffer);
skip_to_char ('%'); skip_to_char ('%');

View File

@@ -53,6 +53,16 @@ AT_CHECK_OUTPUT([foo.y], [%defines %verbose], [],
AT_CHECK_OUTPUT([foo.y], [%defines %verbose %yacc],[], AT_CHECK_OUTPUT([foo.y], [%defines %verbose %yacc],[],
[y.output y.tab.c y.tab.h]) [y.output y.tab.c y.tab.h])
# Exercise %output and %file-prefix
AT_CHECK_OUTPUT([foo.y], [%file-prefix="bar" %defines %verbose], [],
[bar.output bar.tab.c bar.tab.h])
AT_CHECK_OUTPUT([foo.y], [%output="bar.c" %defines %verbose %yacc],[],
[bar.output bar.c bar.h])
AT_CHECK_OUTPUT([foo.y],
[%file-prefix="baz" %output="bar.c" %defines %verbose %yacc],
[],
[bar.output bar.c bar.h])
# Check priorities of extension control. # Check priorities of extension control.
AT_CHECK_OUTPUT([foo.yy], [%defines %verbose], [], AT_CHECK_OUTPUT([foo.yy], [%defines %verbose], [],