mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-08-13 12:45:14 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8e4900ef40 | ||
|
|
dc546b0f6e | ||
|
|
1deb9bdcad | ||
|
|
2c09b6a7ea | ||
|
|
83adb046bf | ||
|
|
255227393f | ||
|
|
5b25cd7cd8 | ||
|
|
535c0f6328 | ||
|
|
527203e98e | ||
|
|
7b56c4bc0e | ||
|
|
78a00b7d7f | ||
|
|
963fcc1705 | ||
|
|
00c378a21f | ||
|
|
a4b746ea04 | ||
|
|
2c8ba4cd59 | ||
|
|
be7280480c | ||
|
|
5a99098d0b | ||
|
|
fb8ccdcd35 | ||
|
|
8ca1967ea2 | ||
|
|
b1efe548af | ||
|
|
120f129d67 | ||
|
|
96b93a3da4 | ||
|
|
d42f69cdf7 | ||
|
|
04877eec24 | ||
|
|
053658d584 | ||
|
|
6876ecd36e | ||
|
|
76be9271f2 | ||
|
|
983c5c2c2a | ||
|
|
5b66ea8b80 | ||
|
|
70b4c070cc | ||
|
|
cce7a5f423 | ||
|
|
2fd4e13193 | ||
|
|
7eab453e1b | ||
|
|
f6abc26e38 | ||
|
|
ea03c24f05 | ||
|
|
fcbfa6b01c | ||
|
|
9dd5b37815 | ||
|
|
88015bf06b | ||
|
|
7ea9026a59 | ||
|
|
ebec3740c2 | ||
|
|
23f2d9dc0f | ||
|
|
73521d9ff8 | ||
|
|
366041f014 | ||
|
|
80483e8e0d | ||
|
|
5320ca4d6f | ||
|
|
33167b8b05 | ||
|
|
624a35e20b | ||
|
|
ef4479de37 | ||
|
|
e9ce56889c | ||
|
|
6273355b36 | ||
|
|
050c471b8e | ||
|
|
fa8c3ebca3 | ||
|
|
75eb3bc4e7 | ||
|
|
52328c6e99 | ||
|
|
f67ad422a4 | ||
|
|
879ca4f81b | ||
|
|
9417597809 | ||
|
|
20daca0631 | ||
|
|
b317297e4d | ||
|
|
1c5fe69d46 | ||
|
|
a20713a4af | ||
|
|
d2caf5545c | ||
|
|
c5df10951a | ||
|
|
d1de53722b | ||
|
|
00ba950c7b | ||
|
|
05d18c2493 | ||
|
|
397ec0734f | ||
|
|
d8388d7ab6 | ||
|
|
148b7779f3 | ||
|
|
dbb95312e2 | ||
|
|
f47dbf6bef | ||
|
|
fc659dfd69 | ||
|
|
ec1ef903c3 | ||
|
|
1915f1331e | ||
|
|
d0f3fe233d | ||
|
|
ca2e738c81 | ||
|
|
177d84c081 | ||
|
|
4613f49b90 | ||
|
|
04e309ce35 | ||
|
|
ac72f3e9b5 | ||
|
|
ff5c8b8557 | ||
|
|
deedb0b77c | ||
|
|
2cc6b61207 | ||
|
|
0fb1efaf58 | ||
|
|
2073d76939 | ||
|
|
03b9e27342 | ||
|
|
3b1e470c6d | ||
|
|
f2a655b6cc | ||
|
|
c488293484 | ||
|
|
9c4637fa8c | ||
|
|
87ceef7346 | ||
|
|
0993971437 | ||
|
|
e00b682606 | ||
|
|
a54a1bdc6b | ||
|
|
5362cd5f78 | ||
|
|
e46cedb9be | ||
|
|
e59a68718b | ||
|
|
6c5f863aec | ||
|
|
6f84e9abca | ||
|
|
08721544d1 | ||
|
|
82129ef5d5 | ||
|
|
69cecfeb38 | ||
|
|
1dd15b6ea6 | ||
|
|
bb7c2bc623 | ||
|
|
eb0ca72d8e | ||
|
|
26b4a96981 | ||
|
|
051ade8391 | ||
|
|
e3aa2baac6 | ||
|
|
1faeb1414d | ||
|
|
106344fb01 | ||
|
|
17ee7397a8 | ||
|
|
3671fb8483 | ||
|
|
c801dbf7d9 | ||
|
|
982cc3023c | ||
|
|
7486e51b76 | ||
|
|
e39214489e | ||
|
|
784573d14a | ||
|
|
353d3eb651 | ||
|
|
223ff46e4c | ||
|
|
7b5cb0cd30 | ||
|
|
5b2dd224dc | ||
|
|
16bb742fce | ||
|
|
3d2cbc2662 | ||
|
|
21fd22d6ec | ||
|
|
a0b76449c7 | ||
|
|
2b5ff972bf | ||
|
|
8322e8f580 | ||
|
|
69b8cc095f | ||
|
|
81ebdef91d | ||
|
|
b78d8c23da | ||
|
|
5dde542557 | ||
|
|
7478c462f2 | ||
|
|
e8a0acd666 | ||
|
|
d38a11a64b | ||
|
|
651ec3d0ec | ||
|
|
6d441fc378 | ||
|
|
fbfa091d05 | ||
|
|
f041e30b91 | ||
|
|
41f83caf1c | ||
|
|
c7bd07f75a | ||
|
|
3de372bb1b | ||
|
|
c134bfbeee | ||
|
|
5bf3d7c115 | ||
|
|
add6614e2b | ||
|
|
7c612afb7e | ||
|
|
e22ad7fa22 | ||
|
|
f6a8ccf40a | ||
|
|
178365909f | ||
|
|
9939fdb139 | ||
|
|
4bebc88ee1 | ||
|
|
557962dcff | ||
|
|
5bab03fcf8 | ||
|
|
996b1c7e8c | ||
|
|
e19c4e5d1c | ||
|
|
050931e3f9 | ||
|
|
e551232efa | ||
|
|
b06af56f55 | ||
|
|
2bf21a8322 | ||
|
|
3f2d73f157 | ||
|
|
d6ea8200af | ||
|
|
0aa32d51bb | ||
|
|
2073702c37 | ||
|
|
b729552289 | ||
|
|
8f759107f1 | ||
|
|
b17a1fc541 | ||
|
|
5fcdb07b70 | ||
|
|
7f8ba6c7f3 | ||
|
|
4b68955b1d | ||
|
|
b69d743e78 | ||
|
|
4f21fffe7e | ||
|
|
c5d128ec1a | ||
|
|
b64755e391 | ||
|
|
022fb98e85 | ||
|
|
570fe42828 | ||
|
|
6c30d6413e | ||
|
|
6ba5559289 | ||
|
|
e927351156 | ||
|
|
38e71ff8c8 | ||
|
|
3b0ee3aa8b | ||
|
|
6e746484fc | ||
|
|
74724a70a5 | ||
|
|
1fec91df90 | ||
|
|
d18f45311a | ||
|
|
93dd49ab29 | ||
|
|
1f14d97ae5 | ||
|
|
0af19cd0c1 | ||
|
|
38a92d500a | ||
|
|
6b0d38ab2c | ||
|
|
88510f9c07 | ||
|
|
da90e18c6e | ||
|
|
763ed7a687 | ||
|
|
1773ceee65 | ||
|
|
feeb0edaf1 | ||
|
|
78c3da9e09 | ||
|
|
4f39538148 | ||
|
|
bb92250c78 | ||
|
|
41141c568e | ||
|
|
f6d03984ae | ||
|
|
ad8a3efc5a | ||
|
|
831d3c996d | ||
|
|
136d65300d | ||
|
|
14740648d5 | ||
|
|
08cae37b47 | ||
|
|
ceed6cdce5 | ||
|
|
3af4feb22f | ||
|
|
dda7aa54b6 | ||
|
|
16f37b35a5 | ||
|
|
300a796626 | ||
|
|
f6cf0f6e5f | ||
|
|
69e16b4c5e | ||
|
|
0368ae1269 | ||
|
|
580043087e | ||
|
|
6f5db56451 | ||
|
|
500bbfcd81 | ||
|
|
63d0fb9ce4 | ||
|
|
7a86d7eba9 | ||
|
|
4344c500b5 | ||
|
|
443594d0c4 | ||
|
|
87aabbff99 | ||
|
|
2f82502a6f | ||
|
|
fe22d5d20f | ||
|
|
ec14f0c83f | ||
|
|
35dcf428c9 | ||
|
|
a932883e41 | ||
|
|
b475e0cce5 | ||
|
|
58a84254ef | ||
|
|
7223426a2b | ||
|
|
b9a0104860 | ||
|
|
937fd8646f | ||
|
|
b973108e1e | ||
|
|
51dffcbca9 | ||
|
|
76ae81983c | ||
|
|
df38312ab0 | ||
|
|
8d8a7238ee | ||
|
|
d3c4e709ff | ||
|
|
4e8c79eb7f | ||
|
|
ee16363fd2 | ||
|
|
60a3dcf956 | ||
|
|
b0937b2259 | ||
|
|
c5e3e51055 | ||
|
|
4c6cc1db75 | ||
|
|
6d9e8019e1 | ||
|
|
ee41006f01 | ||
|
|
b25d88f6d2 | ||
|
|
5dac0025f6 | ||
|
|
f0616f0b5c | ||
|
|
6e649e659e | ||
|
|
0f39aab92a | ||
|
|
761c1926a1 | ||
|
|
0258d1661c | ||
|
|
b0f98b1016 | ||
|
|
edbc04c709 | ||
|
|
7ec1b48eb8 | ||
|
|
93ba6bf344 | ||
|
|
970785f1a0 | ||
|
|
cfff7583d2 | ||
|
|
8fcc7db138 | ||
|
|
1d39f854cf | ||
|
|
dda7a53e4d | ||
|
|
f32b346d84 | ||
|
|
4e8d992c7d | ||
|
|
9501dc6e69 | ||
|
|
18b519c0d6 | ||
|
|
daa33def28 | ||
|
|
2b42986e75 | ||
|
|
efc6bf1b94 | ||
|
|
149365be01 | ||
|
|
9a86cdb99b | ||
|
|
c240826c06 | ||
|
|
caf52fdfab | ||
|
|
9c1e26bd3b | ||
|
|
f7e096fee3 | ||
|
|
73dbb6420e | ||
|
|
87f721cc87 | ||
|
|
ff03259279 | ||
|
|
dbba6a3be7 | ||
|
|
e84e65da40 | ||
|
|
53b7799056 | ||
|
|
412f8a5975 | ||
|
|
322c501d89 | ||
|
|
8a1dd2fe05 | ||
|
|
0eae1c91c8 | ||
|
|
be14ade55e | ||
|
|
cc13ba4dc0 | ||
|
|
05291fbc74 | ||
|
|
1f5fd52e9b | ||
|
|
43a91d61eb | ||
|
|
283f1e6482 | ||
|
|
886b69d197 | ||
|
|
3df374151b | ||
|
|
7bd6c77e5e | ||
|
|
b0400cc6ef | ||
|
|
72f889cca3 | ||
|
|
b1ae9233bc | ||
|
|
7ec2d4cd39 | ||
|
|
573a6cd356 | ||
|
|
95612cfa60 | ||
|
|
3e6656f9ab | ||
|
|
ccdb39e0a6 | ||
|
|
62ddaef6a7 | ||
|
|
ea44c25efc | ||
|
|
7672019c42 | ||
|
|
5b7f88c7f2 | ||
|
|
e9683cfd3d | ||
|
|
ac060e78a3 | ||
|
|
6c239755dc | ||
|
|
3813e141f8 | ||
|
|
a027c30d42 | ||
|
|
4e956a7d9e | ||
|
|
42481a1fd1 | ||
|
|
947427ae83 | ||
|
|
6ad762a8c0 | ||
|
|
fa3f2a885a | ||
|
|
acea4f3bb6 | ||
|
|
66871a8103 | ||
|
|
2115939b03 | ||
|
|
345532d70b | ||
|
|
944ed9f4e9 | ||
|
|
09d353a08f | ||
|
|
20ef1ad524 | ||
|
|
a706a1cc03 | ||
|
|
87fbb0bffc | ||
|
|
959e5f515a | ||
|
|
1c0c3e955d | ||
|
|
93724f139a | ||
|
|
0e25cad542 | ||
|
|
58918640ad | ||
|
|
8e6ef48342 | ||
|
|
fdac0091ce | ||
|
|
4e0813a6cf | ||
|
|
6e40b4ebd4 | ||
|
|
3d9a71d28a | ||
|
|
2dfbfc122c | ||
|
|
437c2d8000 | ||
|
|
900c5db537 | ||
|
|
e183b12388 | ||
|
|
9906579faa | ||
|
|
98f2caaa5f | ||
|
|
886a425c6f | ||
|
|
51b4a04cd0 | ||
|
|
d04946c717 | ||
|
|
193eb6b7ef | ||
|
|
1a9e39f116 | ||
|
|
48e28efa9e | ||
|
|
bcb3effb3c | ||
|
|
29c017256a | ||
|
|
8aeac3ca0c | ||
|
|
793a58bb66 | ||
|
|
c4d720cdbb | ||
|
|
386642761d | ||
|
|
613a0dc5b5 | ||
|
|
baa00b7f43 | ||
|
|
45a8a65dee | ||
|
|
2a8d363aab | ||
|
|
9e32add8e6 | ||
|
|
1a43c452ea | ||
|
|
03cae905c6 | ||
|
|
b02d90a5e6 | ||
|
|
206fe6a5ec | ||
|
|
d8d3f94a99 | ||
|
|
565a33db8f | ||
|
|
2bfc2e2a7d | ||
|
|
5389a5bff4 | ||
|
|
aad8382e8d | ||
|
|
1d9f7cd4f8 | ||
|
|
c0acc0f522 | ||
|
|
b9e0056255 | ||
|
|
397477b4e9 | ||
|
|
9e4c5cb833 | ||
|
|
01cfa69791 | ||
|
|
3fbf949b82 | ||
|
|
762b212bdf | ||
|
|
56100c60da | ||
|
|
30ba05f239 | ||
|
|
e63ee1f16c | ||
|
|
760d7aa8fa | ||
|
|
11a712626c | ||
|
|
782a05f9de | ||
|
|
09903f303a | ||
|
|
413fcf3a20 | ||
|
|
5c16c6b13a | ||
|
|
1f1b791bf0 | ||
|
|
bf1ebda27b | ||
|
|
2946869a28 | ||
|
|
c469accea7 | ||
|
|
b526ee6116 | ||
|
|
f1886bb280 | ||
|
|
48461d4b28 | ||
|
|
c55762568f | ||
|
|
f6d0c2394c | ||
|
|
f956c304c5 | ||
|
|
27b0ffea3e | ||
|
|
223a78837b | ||
|
|
41cce2f604 | ||
|
|
e0c74f0d34 | ||
|
|
e95aed631d | ||
|
|
ffa4c58acb | ||
|
|
c827f760f6 | ||
|
|
6db10d14be | ||
|
|
8b76775adb | ||
|
|
f0e48240c9 | ||
|
|
78bcec17c8 | ||
|
|
ec88357a8c | ||
|
|
5ca3209b44 | ||
|
|
0df27e8b2d | ||
|
|
901ec1537a | ||
|
|
0ae6073a18 | ||
|
|
8307162d58 | ||
|
|
738c69de37 | ||
|
|
b4afb6bbe5 | ||
|
|
637c4b283c | ||
|
|
78b8881659 | ||
|
|
a3714bcedf | ||
|
|
5dd5fd4a56 | ||
|
|
fece5986bf | ||
|
|
8d60a570d5 | ||
|
|
a7e92301ef | ||
|
|
a4b6efd473 | ||
|
|
92a060fd6a | ||
|
|
d33cb3ae09 | ||
|
|
b8452344de | ||
|
|
930393cf02 | ||
|
|
49f801e6fe | ||
|
|
2118414023 | ||
|
|
87004b05f7 | ||
|
|
e7cb57c0b8 | ||
|
|
0245f82d31 | ||
|
|
39912f5263 | ||
|
|
20c1e2ad98 | ||
|
|
21964f4394 | ||
|
|
66d30cd4eb | ||
|
|
95f2c9fe7d | ||
|
|
975553805c | ||
|
|
2cdb2a7b05 | ||
|
|
573312acb6 | ||
|
|
f7aed66054 | ||
|
|
82f9f11f39 | ||
|
|
6d55632cb7 | ||
|
|
2593afab81 | ||
|
|
5b2d69cc5b | ||
|
|
bb33f19a4b | ||
|
|
d9d363b172 | ||
|
|
9e2c5ef112 | ||
|
|
55b929cab2 | ||
|
|
c19988b766 | ||
|
|
ae7453f2ba | ||
|
|
0e57572183 | ||
|
|
3a781eb26b | ||
|
|
3eb4916379 | ||
|
|
724ce7f524 | ||
|
|
ac5dd84c25 | ||
|
|
d968424300 | ||
|
|
473d0a7567 | ||
|
|
93e2236a6d | ||
|
|
f7737e2e16 | ||
|
|
e76d2469e5 | ||
|
|
24c7b92b25 | ||
|
|
dddb8b6121 | ||
|
|
71d1d25c7a | ||
|
|
da2292e5c7 | ||
|
|
b37e55423b | ||
|
|
5bd1c41900 | ||
|
|
829f74d293 | ||
|
|
75f10004fe | ||
|
|
24f4e18b77 | ||
|
|
a182371d69 | ||
|
|
bba392ec8a | ||
|
|
d65ec44e3b | ||
|
|
04af9e5267 | ||
|
|
447e90bcef | ||
|
|
59fc3dcdf4 | ||
|
|
a911db9cba | ||
|
|
1a9bf9b959 |
@@ -54,7 +54,7 @@ release:
|
||||
|
||||
- run `make maintainer-check' which:
|
||||
- runs `valgrind -q bison' to run Bison under Valgrind.
|
||||
- runs the parsers under Valdrind.
|
||||
- runs the parsers under Valgrind.
|
||||
- runs the test suite with G++ as C compiler...
|
||||
|
||||
- Change tests/atlocal/CFLAGS to add your preferred options. For
|
||||
@@ -110,6 +110,10 @@ Complete/fix the announcement file, and send it at least to
|
||||
[email protected] (if a real release, or a ``serious beta''),
|
||||
[email protected], and [email protected].
|
||||
|
||||
Send the same announcement on the comp.compilers newsgroup. Do not
|
||||
make any Cc as the moderator will throw away anything cross-posted or
|
||||
Cc'ed. It really needs to be a separate message.
|
||||
|
||||
|
||||
-----
|
||||
|
||||
|
||||
+2
-3
@@ -35,9 +35,8 @@ prev_version_file = $(srcdir)/config/prev-version.txt
|
||||
release_archive_dir = releases
|
||||
|
||||
# Uploading betas.
|
||||
hosts = alpha
|
||||
alpha_host = alpha.gnu.org
|
||||
alpha_url_dir = gnu/bison
|
||||
url_dir_list = \
|
||||
ftp://alpha.gnu.org/gnu/bison
|
||||
|
||||
# Files to update automatically.
|
||||
wget_files = $(srcdir)/config/config.guess $(srcdir)/config/config.sub \
|
||||
|
||||
+154
-108
@@ -2,7 +2,7 @@
|
||||
# This Makefile fragment is shared between fileutils, sh-utils, textutils,
|
||||
# CPPI, Bison, and Autoconf.
|
||||
|
||||
## Copyright 2001 Free Software Foundation, Inc.
|
||||
## Copyright (C) 2001, 2002 Free Software Foundation, Inc.
|
||||
##
|
||||
## This program is free software; you can redistribute it and/or modify
|
||||
## it under the terms of the GNU General Public License as published by
|
||||
@@ -43,101 +43,42 @@ release_archive_dir ?= ../release
|
||||
|
||||
|
||||
|
||||
## ---------------- ##
|
||||
## Updating files. ##
|
||||
## ---------------- ##
|
||||
|
||||
WGET = wget
|
||||
ftp-gnu = ftp://ftp.gnu.org/gnu
|
||||
|
||||
# Use mv, if you don't have/want move-if-change.
|
||||
move_if_change ?= move-if-change
|
||||
|
||||
# ------------------- #
|
||||
# Updating PO files. #
|
||||
# ------------------- #
|
||||
|
||||
po_repo = http://www.iro.umontreal.ca/contrib/po/maint/$(PACKAGE)
|
||||
.PHONY: do-po-update po-update
|
||||
do-po-update:
|
||||
tmppo=/tmp/$(PACKAGE)-$(VERSION)-po &&\
|
||||
rm -rf $$tmppo && \
|
||||
mkdir $$tmppo && \
|
||||
(cd $$tmppo && $(WGET) -r -l1 -nd --no-parent -A '*.po' $(po_repo)) &&\
|
||||
cp $$tmppo/*.po po
|
||||
cd po && $(MAKE) update-po
|
||||
$(MAKE) po-check
|
||||
|
||||
po-update:
|
||||
if test -d "po"; then \
|
||||
$(MAKE) do-po-update; \
|
||||
fi
|
||||
|
||||
# -------------------------- #
|
||||
# Updating GNU build tools. #
|
||||
# -------------------------- #
|
||||
|
||||
# The following pseudo table associates a local directory and a URL
|
||||
# with each of the files that belongs to some other package and is
|
||||
# regularly updated from the specified URL.
|
||||
wget_files ?= $(srcdir)/config.guess $(srcdir)/config.sub \
|
||||
$(srcdir)/src/ansi2knr.c \
|
||||
$(srcdir)/doc/texinfo.tex
|
||||
wget-targets = $(patsubst %, get-%, $(wget_files))
|
||||
|
||||
config.guess-url_prefix = $(ftp-gnu)/config/
|
||||
config.sub-url_prefix = $(ftp-gnu)/config/
|
||||
|
||||
ansi2knr.c-url_prefix = ftp://ftp.cs.wisc.edu/ghost/
|
||||
|
||||
texinfo.tex-url_prefix = $(ftp-gnu)/texinfo/
|
||||
|
||||
standards.texi-url_prefix = $(ftp-gnu)/GNUinfo/
|
||||
make-stds.texi-url_prefix = $(ftp-gnu)/GNUinfo/
|
||||
|
||||
target = $(patsubst get-%, %, $@)
|
||||
url = $($(notdir $(target))-url_prefix)$(notdir $(target))
|
||||
|
||||
.PHONY: $(wget-targets)
|
||||
$(wget-targets):
|
||||
$(WGET) $(url) -O $(target).t \
|
||||
&& $(move_if_change) $(target).t $(target)
|
||||
|
||||
.PHONY: wget-update
|
||||
wget-update: $(wget-targets)
|
||||
|
||||
|
||||
# Updating tools via CVS.
|
||||
cvs_files ?= depcomp missing
|
||||
cvs-targets = $(patsubst %, get-%, $(cvs_files))
|
||||
|
||||
automake_repo = :pserver:[email protected]:/cvs/automake
|
||||
.PHONY: $(cvs-targets)
|
||||
$(cvs-targets):
|
||||
$(CVS) -d $(automake_repo) co -p automake/lib/$(notdir $(target)) \
|
||||
>$(target).t \
|
||||
&& $(move_if_change) $(target).t $(target);
|
||||
|
||||
.PHONY: cvs-update
|
||||
cvs-update: $(cvs-targets)
|
||||
|
||||
|
||||
# --------------------- #
|
||||
# Updating everything. #
|
||||
# --------------------- #
|
||||
|
||||
.PHONY: update
|
||||
update: wget-update cvs-update po-update
|
||||
|
||||
|
||||
|
||||
## --------------- ##
|
||||
## Sanity checks. ##
|
||||
## --------------- ##
|
||||
|
||||
# Checks that don't require cvs. Run `changelog-check' last as
|
||||
# previous test may reveal problems requiring new ChangeLog entries.
|
||||
local-check: po-check copyright-check writable-files changelog-check
|
||||
# Checks that don't require cvs.
|
||||
# Run `changelog-check' last, as previous test may reveal problems requiring
|
||||
# new ChangeLog entries.
|
||||
local-check = \
|
||||
po-check copyright-check writable-files m4-check author_mark_check \
|
||||
changelog-check strftime-check header-check
|
||||
.PHONY: $(local-check)
|
||||
|
||||
# Make sure C source files in src/ don't include xalloc.h directly,
|
||||
# since they all already include it via sys2.h.
|
||||
# It's not a big deal -- just aesthetics.
|
||||
header-check:
|
||||
if test -f $(srcdir)/src/sys2.h; then \
|
||||
if grep 'xalloc\.h' $(srcdir)/src/*.c; then \
|
||||
exit 1; \
|
||||
fi; \
|
||||
fi
|
||||
|
||||
# Ensure that date's --help output stays in sync with the info
|
||||
# documentation for GNU strftime. The only exception is %N,
|
||||
# which date accepts but GNU strftime does not.
|
||||
extract_char = sed 's/^[^%][^%]*%\(.\).*/\1/'
|
||||
strftime-check:
|
||||
if test -f $(srcdir)/src/date.c; then \
|
||||
grep '^ %. ' $(srcdir)/src/date.c | sort \
|
||||
| $(extract_char) > $@-src; \
|
||||
{ echo N; \
|
||||
info libc date calendar format | grep '^ `%.'\' \
|
||||
| $(extract_char); } | sort > $@-info; \
|
||||
diff -u $@-src $@-info || exit 1; \
|
||||
rm -f $@-src $@-info; \
|
||||
fi
|
||||
|
||||
changelog-check:
|
||||
if head ChangeLog | grep 'Version $(VERSION)' >/dev/null; then \
|
||||
@@ -147,15 +88,37 @@ changelog-check:
|
||||
exit 1; \
|
||||
fi
|
||||
|
||||
m4-check:
|
||||
@grep 'AC_DEFUN([^[]' m4/*.m4 \
|
||||
&& { echo 'Makefile.maint: quote the first arg to AC_DEFUN' 1>&2; \
|
||||
exit 1; } || :
|
||||
|
||||
# Verify that all source files using _() are listed in po/POTFILES.in.
|
||||
po-check:
|
||||
if test -f po/POTFILES.in; then \
|
||||
grep -E -v '^(#|$$)' po/POTFILES.in | sort > $@-1; \
|
||||
grep -E -l '\b_\(' lib/*.c src/*.c | sort > $@-2; \
|
||||
files=; \
|
||||
for file in lib/*.[chly] src/*.[chly]; do \
|
||||
case $$file in \
|
||||
*.[ch]) \
|
||||
base=`expr " $$file" : ' \(.*\)\..'`; \
|
||||
{ test -f $$base.l || test -f $$base.y; } && continue;; \
|
||||
esac; \
|
||||
files="$$files $$file"; \
|
||||
done; \
|
||||
grep -E -l '\bN?_\([^)"]*("|$$)' $$files | sort > $@-2; \
|
||||
diff -u $@-1 $@-2 || exit 1; \
|
||||
rm -f $@-1 $@-2; \
|
||||
fi
|
||||
|
||||
# In a definition of #define AUTHORS "... and ..." where the RHS contains
|
||||
# the English word `and', the string must be marked with `N_ (...)' so that
|
||||
# gettext recognizes it as a string requiring translation.
|
||||
author_mark_check:
|
||||
@grep '^# *define AUTHORS "[^"]* and ' src/*.c |grep -v ' N_ (' && \
|
||||
{ echo 'Makefile.maint: enclose the above strings in N_ (...)' 1>&2; \
|
||||
exit 1; } || :
|
||||
|
||||
# Check that `make alpha' will not fail at the end of the process.
|
||||
writable-files:
|
||||
if test -d $(release_archive_dir); then :; else \
|
||||
@@ -170,12 +133,14 @@ writable-files:
|
||||
done; \
|
||||
test "$$fail" && exit 1 || :
|
||||
|
||||
# Make sure that the copyright date in lib/version-etc.c is up to date.
|
||||
v_etc_file = lib/version-etc.c
|
||||
# Make sure that the copyright date in $(v_etc_file) is up to date.
|
||||
copyright-check:
|
||||
@if test -f lib/version-etc.c; then \
|
||||
grep 'N_("Copyright (C) $(shell date +%Y) Free' lib/version-etc.c \
|
||||
@if test -f $(v_etc_file); then \
|
||||
grep '"Copyright (C) $(shell date +%Y) Free' $(v_etc_file) \
|
||||
>/dev/null \
|
||||
|| { echo 'out of date copyright in $<; update it' 1>&2; exit 1; }; \
|
||||
|| { echo 'out of date copyright in $(v_etc_file); update it' 1>&2; \
|
||||
exit 1; }; \
|
||||
fi
|
||||
|
||||
|
||||
@@ -203,16 +168,10 @@ maintainer-distcheck: changelog-check
|
||||
$(MAKE) my-distcheck
|
||||
|
||||
|
||||
|
||||
## -------------- ##
|
||||
## Making dists. ##
|
||||
## -------------- ##
|
||||
|
||||
|
||||
# Tag before making distribution. Also, don't make a distribution if
|
||||
# checks fail. Also, make sure the NEWS file is up-to-date.
|
||||
# FIXME: use dist-hook/my-dist like distcheck-hook/my-distcheck.
|
||||
cvs-dist: local-check cvs-check maintainer-distcheck
|
||||
cvs-dist: $(local-check) cvs-check maintainer-distcheck
|
||||
$(CVS) update po
|
||||
$(CVS) tag -c $(this-cvs-tag)
|
||||
$(MAKE) dist
|
||||
@@ -222,7 +181,6 @@ cvs-dist: local-check cvs-check maintainer-distcheck
|
||||
null_AM_MAKEFLAGS = \
|
||||
ACLOCAL=false \
|
||||
AUTOCONF=false \
|
||||
AUTOM4TE=false \
|
||||
AUTOMAKE=false \
|
||||
AUTOHEADER=false \
|
||||
MAKEINFO=false
|
||||
@@ -232,7 +190,7 @@ null_AM_MAKEFLAGS = \
|
||||
# and building with CFLAGS='-Wformat -Werror' causes any format warning to be
|
||||
# treated as a failure.
|
||||
t=./=test
|
||||
my-distcheck: writable-files po-check
|
||||
my-distcheck: $(local-check)
|
||||
-rm -rf $(t)
|
||||
mkdir $(t)
|
||||
GZIP=$(GZIP_ENV) $(AMTAR) -C $(t) -zxf $(distdir).tar.gz
|
||||
@@ -266,7 +224,7 @@ rel-check:
|
||||
md5_tmp=/tmp/rel-check-md5-$$$$; \
|
||||
set -e; \
|
||||
trap 'status=$$?; rm -f $$tarz $$md5_tmp; exit $$status' 0 1 2 3 15; \
|
||||
$(WGET) -q --output-document=$$tarz $(url); \
|
||||
wget -q --output-document=$$tarz $(url); \
|
||||
echo "$(md5) -" > $$md5_tmp; \
|
||||
md5sum -c $$md5_tmp < $$tarz
|
||||
|
||||
@@ -315,6 +273,94 @@ announcement: NEWS ChangeLog $(rel-files)
|
||||
-e 'print "\n"."*"x70 ."\n"; s///; print; print "*"x70 ."\n"'; \
|
||||
)
|
||||
|
||||
|
||||
## ---------------- ##
|
||||
## Updating files. ##
|
||||
## ---------------- ##
|
||||
|
||||
WGET = wget
|
||||
ftp-gnu = ftp://ftp.gnu.org/gnu
|
||||
|
||||
# Use mv, if you don't have/want move-if-change.
|
||||
move_if_change ?= move-if-change
|
||||
|
||||
|
||||
# --------------------- #
|
||||
# Updating everything. #
|
||||
# --------------------- #
|
||||
|
||||
.PHONY: update
|
||||
local_updates ?= wget-update cvs-update po-update
|
||||
update: $(local_updates)
|
||||
|
||||
|
||||
# ------------------- #
|
||||
# Updating PO files. #
|
||||
# ------------------- #
|
||||
|
||||
po_repo = http://www.iro.umontreal.ca/contrib/po/maint/$(PACKAGE)
|
||||
.PHONY: do-po-update po-update
|
||||
do-po-update:
|
||||
tmppo=/tmp/$(PACKAGE)-$(VERSION)-po &&\
|
||||
rm -rf $$tmppo && \
|
||||
mkdir $$tmppo && \
|
||||
(cd $$tmppo && $(WGET) -r -l1 -nd --no-parent -A '*.po' $(po_repo)) &&\
|
||||
cp $$tmppo/*.po po
|
||||
cd po && $(MAKE) update-po
|
||||
$(MAKE) po-check
|
||||
|
||||
po-update:
|
||||
if test -d "po"; then \
|
||||
$(MAKE) do-po-update; \
|
||||
fi
|
||||
|
||||
# -------------------------- #
|
||||
# Updating GNU build tools. #
|
||||
# -------------------------- #
|
||||
|
||||
# The following pseudo table associates a local directory and a URL
|
||||
# with each of the files that belongs to some other package and is
|
||||
# regularly updated from the specified URL.
|
||||
wget_files ?= $(srcdir)/config/config.guess \
|
||||
$(srcdir)/config/config.sub \
|
||||
$(srcdir)/src/ansi2knr.c \
|
||||
$(srcdir)/config/texinfo.tex
|
||||
get-targets = $(patsubst %, get-%, $(wget_files))
|
||||
|
||||
config.guess-url_prefix = $(ftp-gnu)/config/
|
||||
config.sub-url_prefix = $(ftp-gnu)/config/
|
||||
|
||||
ansi2knr.c-url_prefix = ftp://ftp.cs.wisc.edu/ghost/
|
||||
|
||||
texinfo.tex-url_prefix = $(ftp-gnu)/texinfo/
|
||||
|
||||
standards.texi-url_prefix = $(ftp-gnu)/GNUinfo/
|
||||
make-stds.texi-url_prefix = $(ftp-gnu)/GNUinfo/
|
||||
|
||||
target = $(patsubst get-%, %, $@)
|
||||
url = $($(notdir $(target))-url_prefix)$(notdir $(target))
|
||||
|
||||
.PHONY: $(get-targets)
|
||||
$(get-targets):
|
||||
$(WGET) $(url) -O $(target).t \
|
||||
&& $(move_if_change) $(target).t $(target)
|
||||
|
||||
cvs_files ?= $(srcdir)/config/depcomp $(srcdir)/config/missing $(srcdir)/config/mkinstalldirs \
|
||||
$(srcdir)/config/install-sh $(srcdir)/src/ansi2knr.c
|
||||
automake_repo=:pserver:anoncvs:[email protected]:/cvs/automake
|
||||
.PHONY: wget-update
|
||||
wget-update: $(get-targets)
|
||||
|
||||
.PHONY: cvs-update
|
||||
cvs-update:
|
||||
for f in $(cvs_files); do \
|
||||
test -f $$f || { echo "*** skipping $$f" 1>&2; continue; }; \
|
||||
file=`basename $$f`; \
|
||||
echo checking out $$file...; \
|
||||
$(CVS) -d $(automake_repo) co -p automake/lib/$$file> $$f.t \
|
||||
&& $(move_if_change) $$f.t $$f; \
|
||||
done
|
||||
|
||||
define emit-upload-commands
|
||||
echo =====================================
|
||||
echo =====================================
|
||||
@@ -327,7 +373,7 @@ endef
|
||||
$(xd-delta): $(release_archive_dir)/$(prev-tgz) $(distdir).tar.gz
|
||||
xdelta delta -9 $^ $@ || :
|
||||
|
||||
alpha:
|
||||
alpha: $(local-check)
|
||||
$(MAKE) cvs-dist
|
||||
$(MAKE) $(xd-delta)
|
||||
$(MAKE) -s announcement > /tmp/announce-$(my_distdir)
|
||||
|
||||
@@ -1,7 +1,100 @@
|
||||
Bison News
|
||||
----------
|
||||
|
||||
Changes in version 1.75:
|
||||
Changes in version 1.875, 2003-01-01:
|
||||
|
||||
* The documentation license has been upgraded to version 1.2
|
||||
of the GNU Free Documentation License.
|
||||
|
||||
* syntax error processing
|
||||
|
||||
- In Yacc-style parsers YYLLOC_DEFAULT is now used to compute error
|
||||
locations too. This fixes bugs in error-location computation.
|
||||
|
||||
- %destructor
|
||||
It is now possible to reclaim the memory associated to symbols
|
||||
discarded during error recovery. This feature is still experimental.
|
||||
|
||||
- %error-verbose
|
||||
This new directive is preferred over YYERROR_VERBOSE.
|
||||
|
||||
- #defining yyerror to steal internal variables is discouraged.
|
||||
It is not guaranteed to work forever.
|
||||
|
||||
* POSIX conformance
|
||||
|
||||
- Semicolons are once again optional at the end of grammar rules.
|
||||
This reverts to the behavior of Bison 1.33 and earlier, and improves
|
||||
compatibility with Yacc.
|
||||
|
||||
- `parse error' -> `syntax error'
|
||||
Bison now uniformly uses the term `syntax error'; formerly, the code
|
||||
and manual sometimes used the term `parse error' instead. POSIX
|
||||
requires `syntax error' in diagnostics, and it was thought better to
|
||||
be consistent.
|
||||
|
||||
- The documentation now emphasizes that yylex and yyerror must be
|
||||
declared before use. C99 requires this.
|
||||
|
||||
- Bison now parses C99 lexical constructs like UCNs and
|
||||
backslash-newline within C escape sequences, as POSIX 1003.1-2001 requires.
|
||||
|
||||
- File names are properly escaped in C output. E.g., foo\bar.y is
|
||||
output as "foo\\bar.y".
|
||||
|
||||
- Yacc command and library now available
|
||||
The Bison distribution now installs a `yacc' command, as POSIX requires.
|
||||
Also, Bison now installs a small library liby.a containing
|
||||
implementations of Yacc-compatible yyerror and main functions.
|
||||
This library is normally not useful, but POSIX requires it.
|
||||
|
||||
- Type clashes now generate warnings, not errors.
|
||||
|
||||
- If the user does not define YYSTYPE as a macro, Bison now declares it
|
||||
using typedef instead of defining it as a macro.
|
||||
For consistency, YYLTYPE is also declared instead of defined.
|
||||
|
||||
* Other compatibility issues
|
||||
|
||||
- %union directives can now have a tag before the `{', e.g., the
|
||||
directive `%union foo {...}' now generates the C code
|
||||
`typedef union foo { ... } YYSTYPE;'; this is for Yacc compatibility.
|
||||
The default union tag is `YYSTYPE', for compatibility with Solaris 9 Yacc.
|
||||
For consistency, YYLTYPE's struct tag is now `YYLTYPE' not `yyltype'.
|
||||
This is for compatibility with both Yacc and Bison 1.35.
|
||||
|
||||
- `;' is output before the terminating `}' of an action, for
|
||||
compatibility with Bison 1.35.
|
||||
|
||||
- Bison now uses a Yacc-style format for conflict reports, e.g.,
|
||||
`conflicts: 2 shift/reduce, 1 reduce/reduce'.
|
||||
|
||||
- `yystype' and `yyltype' are now obsolescent macros instead of being
|
||||
typedefs or tags; they are no longer documented and are planned to be
|
||||
withdrawn in a future release.
|
||||
|
||||
* GLR parser notes
|
||||
|
||||
- GLR and inline
|
||||
Users of Bison have to decide how they handle the portability of the
|
||||
C keyword `inline'.
|
||||
|
||||
- `parsing stack overflow...' -> `parser stack overflow'
|
||||
GLR parsers now report `parser stack overflow' as per the Bison manual.
|
||||
|
||||
* Bison now warns if it detects conflicting outputs to the same file,
|
||||
e.g., it generates a warning for `bison -d -o foo.h foo.y' since
|
||||
that command outputs both code and header to foo.h.
|
||||
|
||||
* #line in output files
|
||||
- --no-line works properly.
|
||||
|
||||
* Bison can no longer be built by a K&R C compiler; it requires C89 or
|
||||
later to be built. This change originally took place a few versions
|
||||
ago, but nobody noticed until we recently asked someone to try
|
||||
building Bison with a K&R C compiler.
|
||||
|
||||
Changes in version 1.75, 2002-10-14:
|
||||
|
||||
* Bison should now work on 64-bit hosts.
|
||||
|
||||
@@ -129,9 +222,9 @@ Changes in version 1.50, 2002-10-04:
|
||||
the user symbol is used in the reports, the graphs, and the verbose
|
||||
error messages instead of `$end', which remains being the default.
|
||||
For instance
|
||||
%token YYEOF 0
|
||||
%token MYEOF 0
|
||||
or
|
||||
%token YYEOF 0 "end of file"
|
||||
%token MYEOF 0 "end of file"
|
||||
|
||||
* Semantic parser
|
||||
This old option, which has been broken for ages, is removed.
|
||||
@@ -311,8 +404,8 @@ Changes in version 1.31, 2002-01-14:
|
||||
|
||||
Changes in version 1.30, 2001-10-26:
|
||||
|
||||
* `--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
|
||||
* `--defines' and `--graph' have now an optional argument which is the
|
||||
output file name. `-d' and `-g' do not change; they do not take any
|
||||
argument.
|
||||
|
||||
* `%source_extension' and `%header_extension' are removed, failed
|
||||
@@ -435,16 +528,17 @@ End:
|
||||
|
||||
-----
|
||||
|
||||
Copyright (C) 2001, 2002 Free Software Foundation, Inc.
|
||||
Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Autoconf.
|
||||
This file is part of Bison, the GNU Compiler Compiler.
|
||||
|
||||
GNU Autoconf is free software; you can redistribute it and/or modify
|
||||
Bison is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU Autoconf is distributed in the hope that it will be useful,
|
||||
Bison is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
@@ -15,3 +15,24 @@ not ready for full scale use. Because it is not fully functional, if
|
||||
you distribute this package, we will be buried under bug reports from
|
||||
panicked users. We don't have time to spend on this, and nor do the
|
||||
users.
|
||||
|
||||
-----
|
||||
|
||||
Copyright (C) 2002 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Bison.
|
||||
|
||||
GNU Bison is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU Bison is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Bison; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA.
|
||||
|
||||
@@ -5,32 +5,20 @@
|
||||
From Franc,ois: should we keep the directory part in the CPP guard?
|
||||
|
||||
|
||||
* Yacc.c: CPP Macros
|
||||
|
||||
Do some people use YYPURE, YYLSP_NEEDED like we do in the test suite?
|
||||
They should not: it is not documented. But if they need to, let's
|
||||
find something clean (not like YYLSP_NEEDED...).
|
||||
|
||||
|
||||
* URGENT: Documenting C++ output
|
||||
Write a first documentation for C++ output.
|
||||
|
||||
|
||||
* Documentation
|
||||
Before releasing, make sure the documentation refers to the current
|
||||
`output' format.
|
||||
|
||||
|
||||
* Error messages
|
||||
Some are really funky. For instance
|
||||
|
||||
type clash (`%s' `%s') on default action
|
||||
|
||||
is really weird. Revisit them all.
|
||||
|
||||
|
||||
* read_pipe.c
|
||||
This is not portable to DOS for instance. Implement a more portable
|
||||
scheme. Sources of inspiration include GNU diff, and Free Recode.
|
||||
|
||||
|
||||
* value_components_used
|
||||
Was defined but not used: where was it coming from? It can't be to
|
||||
check if %union is used, since the user is free to $<foo>n on her
|
||||
union, doesn't she?
|
||||
Before releasing, make sure the documentation ("Understanding your
|
||||
parser") refers to the current `output' format.
|
||||
|
||||
|
||||
* GLR & C++
|
||||
@@ -64,10 +52,40 @@ DeRemer and Penello: they already provide the algorithm.
|
||||
|
||||
* Extensions
|
||||
|
||||
** yyerror, yysymprint interface
|
||||
** %destructor
|
||||
I think we should document it as experimental, and allow its use in
|
||||
the next releases. But we also need to port it to GLR. What about
|
||||
lalr1.cc? Well, read what Hans reported, maybe we don't want
|
||||
%detructor. On the other hand, there is no reason not to provide it:
|
||||
users can avoid its use.
|
||||
|
||||
** $foo
|
||||
Have a look at the Lemon parser generator: instead of $1, $2 etc. they
|
||||
can name the values. This is much more pleasant. For instance:
|
||||
|
||||
exp (res): exp (a) '+' exp (b) { $res = $a + $b; };
|
||||
|
||||
I love this. I have been bitten too often by the removal of the
|
||||
symbol, and forgetting to shift all the $n to $n-1. If you are
|
||||
unlucky, it compiles...
|
||||
|
||||
** $-1
|
||||
We should find a means to provide an access to values deep in the
|
||||
stack. For instance, instead of
|
||||
|
||||
baz: qux { $$ = $<foo>-1 + $<bar>0 + $1; }
|
||||
|
||||
we should be able to have:
|
||||
|
||||
foo($foo) bar($bar) baz($bar): qux($qux) { $baz = $foo + $bar + $qux; }
|
||||
|
||||
Or something like this.
|
||||
|
||||
|
||||
** yysymprint interface
|
||||
It should be improved, in particular when using Bison features such as
|
||||
locations, and YYPARSE_PARAMS. For the time being, it is recommended
|
||||
to #define yyerror and yyprint to steal internal variables...
|
||||
locations, and YYPARSE_PARAMS. For the time being, it is almost
|
||||
recommended to yyprint to steal internal variables...
|
||||
|
||||
** Several %unions
|
||||
I think this is a pleasant (but useless currently) feature, but in the
|
||||
@@ -90,6 +108,17 @@ When implementing multiple-%union support, bare the following in mind:
|
||||
char *sval;
|
||||
}
|
||||
|
||||
** %if and the like
|
||||
It should be possible to have %if/%else/%endif. The implementation is
|
||||
not clear: should it be lexical or syntactic. Vadim Maslow thinks it
|
||||
must be in the scanner: we must not parse what is in a switched off
|
||||
part of %if. Akim Demaille thinks it should be in the parser, so as
|
||||
to avoid falling into another CPP mistake.
|
||||
|
||||
** -D, --define-muscle NAME=VALUE
|
||||
To define muscles via cli. Or maybe support directly NAME=VALUE?
|
||||
|
||||
|
||||
* Unit rules
|
||||
Maybe we could expand unit rules, i.e., transform
|
||||
|
||||
@@ -156,21 +185,11 @@ Paul notes:
|
||||
Show reductions. []
|
||||
|
||||
* Broken options ?
|
||||
** %no-lines [ok]
|
||||
** %no-parser []
|
||||
** %pure-parser []
|
||||
** %token-table []
|
||||
** Options which could use parse_dquoted_param ().
|
||||
Maybe transferred in lex.c.
|
||||
*** %skeleton [ok]
|
||||
*** %output []
|
||||
*** %file-prefix []
|
||||
*** %name-prefix []
|
||||
|
||||
** Skeleton strategy. []
|
||||
Must we keep %no-parser?
|
||||
%token-table?
|
||||
*** New skeletons. []
|
||||
|
||||
* src/print_graph.c
|
||||
Find the best graph parameters. []
|
||||
@@ -186,13 +205,12 @@ skeleton muscles. []
|
||||
** tests/pure-parser.at []
|
||||
New tests.
|
||||
|
||||
* input synclines
|
||||
Some users create their foo.y files, and equip them with #line. Bison
|
||||
should recognize these, and preserve them.
|
||||
|
||||
* BTYacc
|
||||
See if we can integrate backtracking in Bison. Contact the BTYacc
|
||||
maintainers.
|
||||
See if we can integrate backtracking in Bison. Charles-Henri de
|
||||
Boysson <[email protected]> is working on this, and already has some
|
||||
results. Vadim Maslow, the maintainer of BTYacc was contacted, and we
|
||||
stay in touch with him. Adjusting the Bison grammar parser will be
|
||||
needed to support some extra BTYacc features. This is less urgent.
|
||||
|
||||
** Keeping the conflicted actions
|
||||
First, analyze the differences between byacc and btyacc (I'm referring
|
||||
|
||||
@@ -7,3 +7,5 @@ config.sub
|
||||
config.guess
|
||||
mdate-sh
|
||||
texinfo.tex
|
||||
config.rpath
|
||||
ylwrap
|
||||
|
||||
+66
-41
@@ -56,7 +56,7 @@ dir_arg=""
|
||||
|
||||
while [ x"$1" != x ]; do
|
||||
case $1 in
|
||||
-c) instcmd="$cpprog"
|
||||
-c) instcmd=$cpprog
|
||||
shift
|
||||
continue;;
|
||||
|
||||
@@ -79,7 +79,7 @@ while [ x"$1" != x ]; do
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-s) stripcmd="$stripprog"
|
||||
-s) stripcmd=$stripprog
|
||||
shift
|
||||
continue;;
|
||||
|
||||
@@ -106,7 +106,7 @@ done
|
||||
|
||||
if [ x"$src" = x ]
|
||||
then
|
||||
echo "install: no input file specified"
|
||||
echo "$0: no input file specified" >&2
|
||||
exit 1
|
||||
else
|
||||
:
|
||||
@@ -115,8 +115,8 @@ fi
|
||||
if [ x"$dir_arg" != x ]; then
|
||||
dst=$src
|
||||
src=""
|
||||
|
||||
if [ -d $dst ]; then
|
||||
|
||||
if [ -d "$dst" ]; then
|
||||
instcmd=:
|
||||
chmodcmd=""
|
||||
else
|
||||
@@ -125,20 +125,20 @@ if [ x"$dir_arg" != x ]; then
|
||||
else
|
||||
|
||||
# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
|
||||
# might cause directories to be created, which would be especially bad
|
||||
# might cause directories to be created, which would be especially bad
|
||||
# if $src (and thus $dsttmp) contains '*'.
|
||||
|
||||
if [ -f "$src" ] || [ -d "$src" ]
|
||||
then
|
||||
:
|
||||
else
|
||||
echo "install: $src does not exist"
|
||||
echo "$0: $src does not exist" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
if [ x"$dst" = x ]
|
||||
then
|
||||
echo "install: no destination specified"
|
||||
echo "$0: no destination specified" >&2
|
||||
exit 1
|
||||
else
|
||||
:
|
||||
@@ -147,16 +147,16 @@ else
|
||||
# If destination is a directory, append the input filename; if your system
|
||||
# does not like double slashes in filenames, you may need to add some logic
|
||||
|
||||
if [ -d $dst ]
|
||||
if [ -d "$dst" ]
|
||||
then
|
||||
dst="$dst"/`basename $src`
|
||||
dst=$dst/`basename "$src"`
|
||||
else
|
||||
:
|
||||
fi
|
||||
fi
|
||||
|
||||
## this sed command emulates the dirname command
|
||||
dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
|
||||
dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
|
||||
|
||||
# Make sure that the destination directory exists.
|
||||
# this part is taken from Noah Friedman's mkinstalldirs script
|
||||
@@ -165,69 +165,73 @@ dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
|
||||
if [ ! -d "$dstdir" ]; then
|
||||
defaultIFS='
|
||||
'
|
||||
IFS="${IFS-${defaultIFS}}"
|
||||
IFS="${IFS-$defaultIFS}"
|
||||
|
||||
oIFS="${IFS}"
|
||||
oIFS=$IFS
|
||||
# Some sh's can't handle IFS=/ for some reason.
|
||||
IFS='%'
|
||||
set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
|
||||
IFS="${oIFS}"
|
||||
set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
|
||||
IFS=$oIFS
|
||||
|
||||
pathcomp=''
|
||||
|
||||
while [ $# -ne 0 ] ; do
|
||||
pathcomp="${pathcomp}${1}"
|
||||
pathcomp=$pathcomp$1
|
||||
shift
|
||||
|
||||
if [ ! -d "${pathcomp}" ] ;
|
||||
if [ ! -d "$pathcomp" ] ;
|
||||
then
|
||||
$mkdirprog "${pathcomp}"
|
||||
$mkdirprog "$pathcomp"
|
||||
else
|
||||
:
|
||||
fi
|
||||
|
||||
pathcomp="${pathcomp}/"
|
||||
pathcomp=$pathcomp/
|
||||
done
|
||||
fi
|
||||
|
||||
if [ x"$dir_arg" != x ]
|
||||
then
|
||||
$doit $instcmd $dst &&
|
||||
$doit $instcmd "$dst" &&
|
||||
|
||||
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else : ; fi &&
|
||||
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else : ; fi &&
|
||||
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else : ; fi &&
|
||||
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else : ; fi
|
||||
if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dst"; else : ; fi &&
|
||||
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dst"; else : ; fi &&
|
||||
if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dst"; else : ; fi &&
|
||||
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dst"; else : ; fi
|
||||
else
|
||||
|
||||
# If we're going to rename the final executable, determine the name now.
|
||||
|
||||
if [ x"$transformarg" = x ]
|
||||
if [ x"$transformarg" = x ]
|
||||
then
|
||||
dstfile=`basename $dst`
|
||||
dstfile=`basename "$dst"`
|
||||
else
|
||||
dstfile=`basename $dst $transformbasename |
|
||||
dstfile=`basename "$dst" $transformbasename |
|
||||
sed $transformarg`$transformbasename
|
||||
fi
|
||||
|
||||
# don't allow the sed command to completely eliminate the filename
|
||||
|
||||
if [ x"$dstfile" = x ]
|
||||
if [ x"$dstfile" = x ]
|
||||
then
|
||||
dstfile=`basename $dst`
|
||||
dstfile=`basename "$dst"`
|
||||
else
|
||||
:
|
||||
fi
|
||||
|
||||
# Make a temp file name in the proper directory.
|
||||
# Make a couple of temp file names in the proper directory.
|
||||
|
||||
dsttmp=$dstdir/#inst.$$#
|
||||
rmtmp=$dstdir/#rm.$$#
|
||||
|
||||
# Trap to clean up temp files at exit.
|
||||
|
||||
trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0
|
||||
trap '(exit $?); exit' 1 2 13 15
|
||||
|
||||
# Move or copy the file name to the temp name
|
||||
|
||||
$doit $instcmd $src $dsttmp &&
|
||||
|
||||
trap "rm -f ${dsttmp}" 0 &&
|
||||
$doit $instcmd "$src" "$dsttmp" &&
|
||||
|
||||
# and set any options; do chmod last to preserve setuid bits
|
||||
|
||||
@@ -235,17 +239,38 @@ else
|
||||
# ignore errors from any of these, just make sure not to ignore
|
||||
# errors from the above "$doit $instcmd $src $dsttmp" command.
|
||||
|
||||
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else :;fi &&
|
||||
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else :;fi &&
|
||||
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else :;fi &&
|
||||
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else :;fi &&
|
||||
if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dsttmp"; else :;fi &&
|
||||
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dsttmp"; else :;fi &&
|
||||
if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dsttmp"; else :;fi &&
|
||||
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dsttmp"; else :;fi &&
|
||||
|
||||
# Now remove or move aside any old file at destination location. We try this
|
||||
# two ways since rm can't unlink itself on some systems and the destination
|
||||
# file might be busy for other reasons. In this case, the final cleanup
|
||||
# might fail but the new file should still install successfully.
|
||||
|
||||
{
|
||||
if [ -f "$dstdir/$dstfile" ]
|
||||
then
|
||||
$doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null ||
|
||||
$doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null ||
|
||||
{
|
||||
echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
|
||||
(exit 1); exit
|
||||
}
|
||||
else
|
||||
:
|
||||
fi
|
||||
} &&
|
||||
|
||||
# Now rename the file to the real destination.
|
||||
|
||||
$doit $rmcmd -f $dstdir/$dstfile &&
|
||||
$doit $mvcmd $dsttmp $dstdir/$dstfile
|
||||
$doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
|
||||
|
||||
fi &&
|
||||
|
||||
# The final little trick to "correctly" pass the exit status to the exit trap.
|
||||
|
||||
exit 0
|
||||
{
|
||||
(exit 0); exit
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
1.49c
|
||||
1.75
|
||||
|
||||
+11
-8
@@ -1,6 +1,6 @@
|
||||
# Configure template for GNU Bison. -*-Autoconf-*-
|
||||
#
|
||||
# Copyright (C) 2001, 2002 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -20,7 +20,7 @@
|
||||
# We need a recent Autoconf to run a recent Autotest.
|
||||
AC_PREREQ(2.54)
|
||||
|
||||
AC_INIT([GNU Bison], [1.75], [[email protected]])
|
||||
AC_INIT([GNU Bison], [1.875], [[email protected]])
|
||||
AC_CONFIG_AUX_DIR(config)
|
||||
|
||||
AM_INIT_AUTOMAKE([1.7 check-news readme-alpha dist-bzip2])
|
||||
@@ -56,10 +56,11 @@ if test "${enableval}" = yes; then
|
||||
BISON_WARNING(-Wshadow)
|
||||
BISON_WARNING(-Wstrict-prototypes)
|
||||
BISON_WARNING(-Wwrite-strings)
|
||||
AC_DEFINE([lint], 1, [Define to 1 if the compiler is checking for lint.])
|
||||
fi
|
||||
|
||||
# Checks for programs.
|
||||
AM_PROG_LEX
|
||||
AC_PROG_LEX
|
||||
AC_PROG_YACC
|
||||
AC_PROG_RANLIB
|
||||
BISON_PROG_GNU_M4
|
||||
@@ -71,31 +72,33 @@ AC_DEFINE_UNQUOTED([M4], ["$M4"], [Define to the GNU M4 executable name.])
|
||||
# Checks for header files.
|
||||
AC_HEADER_STDC
|
||||
AC_CHECK_HEADERS([ctype.h locale.h memory.h stdlib.h string.h unistd.h])
|
||||
AC_HEADER_STDBOOL
|
||||
|
||||
# Checks for compiler characteristics.
|
||||
AC_C_CONST
|
||||
AC_C_INLINE
|
||||
AM_C_PROTOTYPES
|
||||
|
||||
# Checks for types.
|
||||
AC_CHECK_TYPES([uintptr_t])
|
||||
|
||||
# Checks for library functions.
|
||||
AC_FUNC_ALLOCA
|
||||
AC_FUNC_OBSTACK
|
||||
AC_FUNC_ERROR_AT_LINE
|
||||
AC_FUNC_STRNLEN
|
||||
UTILS_FUNC_MKSTEMP
|
||||
AC_CHECK_FUNCS(setlocale)
|
||||
AC_CHECK_DECLS([free, getenv, getopt,
|
||||
stpcpy, strchr, strspn, strnlen,
|
||||
malloc, memchr, memrchr])
|
||||
AC_REPLACE_FUNCS(memchr memrchr \
|
||||
strchr stpcpy strrchr strspn strtol)
|
||||
strchr stpcpy strrchr strspn strtol strtoul)
|
||||
AC_FUNC_MALLOC
|
||||
AC_FUNC_REALLOC
|
||||
jm_PREREQ_MBSWIDTH
|
||||
jm_PREREQ_QUOTEARG
|
||||
jm_FUNC_ARGMATCH
|
||||
jm_PREREQ_ERROR
|
||||
jm_PREREQ_TEMPNAME
|
||||
AM_WITH_DMALLOC
|
||||
BISON_PREREQ_SUBPIPE
|
||||
BISON_PREREQ_TIMEVAR
|
||||
|
||||
# Gettext.
|
||||
|
||||
+2
-2
@@ -15,7 +15,7 @@
|
||||
## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
## 02111-1307 USA
|
||||
|
||||
dist_pkgdata_DATA = c.m4 yacc.c lalr1.cc glr.c
|
||||
dist_pkgdata_DATA = README c.m4 yacc.c lalr1.cc glr.c
|
||||
|
||||
m4sugardir = $(pkgdatadir)/m4sugar
|
||||
dist_m4sugar_DATA = m4sugar/m4sugar.m4 m4sugar/version.m4
|
||||
dist_m4sugar_DATA = m4sugar/m4sugar.m4
|
||||
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
-*- outline -*-
|
||||
|
||||
This directory contains Bison skeletons: the general shapes of the
|
||||
different parser kinds, that are specialized for specific grammars by
|
||||
the bison program.
|
||||
|
||||
Currently, there are only three supported skeletons:
|
||||
|
||||
- yacc.c
|
||||
It used to be named bison.simple: it corresponds to C Yacc
|
||||
compatible LALR(1) parsers.
|
||||
|
||||
- lalr1.cc
|
||||
Produces a C++ parser class. It is still very experimental, and not
|
||||
yet supported. Please, subscribe to [email protected].
|
||||
|
||||
- glr.c
|
||||
A Generalized LR C parser based on Bison's LALR(1) tables.
|
||||
|
||||
These skeletons are the only ones supported by the Bison team.
|
||||
Because the interface between skeletons and the bison program is not
|
||||
finished, *we are not bound to it*. In particular, Bison is not
|
||||
mature enough for us to consider that ``foreign skeletons'' are
|
||||
supported.
|
||||
|
||||
-----
|
||||
|
||||
Copyright (C) 2002 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Bison.
|
||||
|
||||
GNU Bison is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU Bison is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Bison; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA.
|
||||
@@ -1,4 +1,4 @@
|
||||
m4_divert(-1) -*- C -*-
|
||||
m4_divert(-1) -*- Autoconf -*-
|
||||
|
||||
# C M4 Macros for Bison.
|
||||
# Copyright (C) 2002 Free Software Foundation, Inc.
|
||||
@@ -19,14 +19,14 @@ m4_divert(-1) -*- C -*-
|
||||
# 02111-1307 USA
|
||||
|
||||
|
||||
## ----------- ##
|
||||
## Copuright. ##
|
||||
## ----------- ##
|
||||
## ---------------- ##
|
||||
## Identification. ##
|
||||
## ---------------- ##
|
||||
|
||||
# b4_copyright(TITLE, YEARS)
|
||||
# --------------------------
|
||||
m4_define([b4_copyright],
|
||||
[/* A Bison parser, made from b4_filename, by GNU bison b4_version. */
|
||||
[/* A Bison parser, made by GNU Bison b4_version. */
|
||||
|
||||
/* $1,
|
||||
Copyright (C) $2 Free Software Foundation, Inc.
|
||||
@@ -47,6 +47,53 @@ m4_define([b4_copyright],
|
||||
Boston, MA 02111-1307, USA. */])
|
||||
|
||||
|
||||
# b4_identification
|
||||
# -----------------
|
||||
m4_define([b4_identification],
|
||||
[/* Identify Bison output. */
|
||||
[#]define YYBISON 1
|
||||
|
||||
/* Skeleton name. */
|
||||
[#]define YYSKELETON_NAME b4_skeleton
|
||||
|
||||
/* Pure parsers. */
|
||||
[#]define YYPURE b4_pure
|
||||
|
||||
/* Using locations. */
|
||||
[#]define YYLSP_NEEDED b4_locations_flag
|
||||
])
|
||||
|
||||
|
||||
|
||||
## ---------------- ##
|
||||
## Default values. ##
|
||||
## ---------------- ##
|
||||
|
||||
m4_define_default([b4_epilogue], [])
|
||||
|
||||
|
||||
|
||||
## ------------------------ ##
|
||||
## Pure/impure interfaces. ##
|
||||
## ------------------------ ##
|
||||
|
||||
|
||||
# b4_user_args
|
||||
# ------------
|
||||
m4_define([b4_user_args],
|
||||
[m4_ifset([b4_parse_param], [, b4_c_args(b4_parse_param)])])
|
||||
|
||||
|
||||
# b4_parse_param
|
||||
# --------------
|
||||
# If defined, b4_parse_param arrives double quoted, but below we prefer
|
||||
# it to be single quoted.
|
||||
m4_define_default([b4_parse_param])
|
||||
m4_define([b4_parse_param],
|
||||
b4_parse_param))
|
||||
|
||||
|
||||
|
||||
## ------------ ##
|
||||
## Data Types. ##
|
||||
## ------------ ##
|
||||
@@ -65,7 +112,7 @@ m4_define([b4_ints_in],
|
||||
# MIN to MAX (included).
|
||||
m4_define([b4_int_type],
|
||||
[m4_if(b4_ints_in($@, [0], [255]), [1], [unsigned char],
|
||||
b4_ints_in($@, [-128], [127]), [1], [yysigned_char],
|
||||
b4_ints_in($@, [-128], [127]), [1], [signed char],
|
||||
|
||||
b4_ints_in($@, [0], [65535]), [1], [unsigned short],
|
||||
b4_ints_in($@, [-32768], [32767]), [1], [short],
|
||||
@@ -74,6 +121,7 @@ m4_define([b4_int_type],
|
||||
|
||||
[int])])
|
||||
|
||||
|
||||
# b4_int_type_for(NAME)
|
||||
# ---------------------
|
||||
# Return the smallest int type able to handle numbers ranging from
|
||||
@@ -82,6 +130,30 @@ m4_define([b4_int_type_for],
|
||||
[b4_int_type($1_min, $1_max)])
|
||||
|
||||
|
||||
## ------------------ ##
|
||||
## Decoding options. ##
|
||||
## ------------------ ##
|
||||
|
||||
|
||||
# b4_location_if(IF-TRUE, IF-FALSE)
|
||||
# ---------------------------------
|
||||
# Expand IF-TRUE, if locations are used, IF-FALSE otherwise.
|
||||
m4_define([b4_location_if],
|
||||
[m4_if(b4_locations_flag, [1],
|
||||
[$1],
|
||||
[$2])])
|
||||
|
||||
|
||||
# b4_pure_if(IF-TRUE, IF-FALSE)
|
||||
# -----------------------------
|
||||
# Expand IF-TRUE, if %pure-parser, IF-FALSE otherwise.
|
||||
m4_define([b4_pure_if],
|
||||
[m4_if(b4_pure, [1],
|
||||
[$1],
|
||||
[$2])])
|
||||
|
||||
|
||||
|
||||
## ------------------------- ##
|
||||
## Assigning token numbers. ##
|
||||
## ------------------------- ##
|
||||
@@ -122,53 +194,219 @@ m4_map([b4_token_define], [$@])
|
||||
])
|
||||
|
||||
|
||||
## ---------------------------------------------- ##
|
||||
## Declaring C functions in both K&R and ANSI-C. ##
|
||||
## ---------------------------------------------- ##
|
||||
|
||||
## --------------------------------------------- ##
|
||||
## Defining C functions in both K&R and ANSI-C. ##
|
||||
## --------------------------------------------- ##
|
||||
|
||||
|
||||
# b4_c_function(NAME, RETURN-VALUE, [TYPE1, NAME1], ...)
|
||||
# ------------------------------------------------
|
||||
# b4_c_function_def(NAME, RETURN-VALUE, [DECL1, NAME1], ...)
|
||||
# ----------------------------------------------------------
|
||||
# Declare the function NAME.
|
||||
m4_define([b4_c_function],
|
||||
[$2
|
||||
#if defined (__STDC__) || defined (__cplusplus)
|
||||
$1 (b4_c_ansi_args(m4_shiftn(2, $@)))
|
||||
m4_define([b4_c_function_def],
|
||||
[#if defined (__STDC__) || defined (__cplusplus)
|
||||
b4_c_ansi_function_def($@)
|
||||
#else
|
||||
$1 (b4_c_knr_arg_names(m4_shiftn(2, $@)))
|
||||
b4_c_knr_arg_decls(m4_shiftn(2, $@))
|
||||
$2
|
||||
$1 (b4_c_knr_formal_names(m4_shiftn(2, $@)))
|
||||
b4_c_knr_formal_decls(m4_shiftn(2, $@))
|
||||
#endif[]dnl
|
||||
])
|
||||
|
||||
|
||||
# b4_c_ansi_args([TYPE1, NAME1], ...)
|
||||
# -----------------------------------
|
||||
# b4_c_ansi_function_def(NAME, RETURN-VALUE, [DECL1, NAME1], ...)
|
||||
# ---------------------------------------------------------------
|
||||
# Declare the function NAME in ANSI.
|
||||
m4_define([b4_c_ansi_function_def],
|
||||
[$2
|
||||
$1 (b4_c_ansi_formals(m4_shiftn(2, $@)))[]dnl
|
||||
])
|
||||
|
||||
|
||||
# b4_c_ansi_formals([DECL1, NAME1], ...)
|
||||
# --------------------------------------
|
||||
# Output the arguments ANSI-C definition.
|
||||
m4_define([b4_c_ansi_args],
|
||||
[m4_map_sep([b4_c_ansi_arg], [, ], [$@])])
|
||||
m4_define([b4_c_ansi_formals],
|
||||
[m4_case([$@],
|
||||
[], [void],
|
||||
[[]], [void],
|
||||
[m4_map_sep([b4_c_ansi_formal], [, ], [$@])])])
|
||||
|
||||
m4_define([b4_c_ansi_arg],
|
||||
[$1 $2])
|
||||
m4_define([b4_c_ansi_formal],
|
||||
[$1])
|
||||
|
||||
|
||||
# b4_c_knr_args([TYPE1, NAME1], ...)
|
||||
# ----------------------------------
|
||||
# b4_c_knr_formal_names([DECL1, NAME1], ...)
|
||||
# ------------------------------------------
|
||||
# Output the argument names.
|
||||
m4_define([b4_c_knr_arg_names],
|
||||
[m4_map_sep([b4_c_knr_arg_name], [, ], [$@])])
|
||||
m4_define([b4_c_knr_formal_names],
|
||||
[m4_map_sep([b4_c_knr_formal_name], [, ], [$@])])
|
||||
|
||||
m4_define([b4_c_knr_arg_name],
|
||||
m4_define([b4_c_knr_formal_name],
|
||||
[$2])
|
||||
|
||||
|
||||
# b4_c_knr_args([TYPE1, NAME1], ...)
|
||||
# ----------------------------------
|
||||
# b4_c_knr_formal_decls([DECL1, NAME1], ...)
|
||||
# ------------------------------------------
|
||||
# Output the K&R argument declarations.
|
||||
m4_define([b4_c_knr_arg_decls],
|
||||
[m4_map_sep([b4_c_knr_arg_decl],
|
||||
m4_define([b4_c_knr_formal_decls],
|
||||
[m4_map_sep([b4_c_knr_formal_decl],
|
||||
[
|
||||
],
|
||||
[$@])])
|
||||
|
||||
m4_define([b4_c_knr_arg_decl],
|
||||
[ $1 $2;])
|
||||
m4_define([b4_c_knr_formal_decl],
|
||||
[ $1;])
|
||||
|
||||
|
||||
|
||||
## ------------------------------------------------------------ ##
|
||||
## Declaring (prototyping) C functions in both K&R and ANSI-C. ##
|
||||
## ------------------------------------------------------------ ##
|
||||
|
||||
|
||||
# b4_c_function_decl(NAME, RETURN-VALUE, [DECL1, NAME1], ...)
|
||||
# -----------------------------------------------------------
|
||||
# Declare the function NAME.
|
||||
m4_define([b4_c_function_decl],
|
||||
[#if defined (__STDC__) || defined (__cplusplus)
|
||||
b4_c_ansi_function_decl($@)
|
||||
#else
|
||||
$2 $1 ();
|
||||
#endif[]dnl
|
||||
])
|
||||
|
||||
|
||||
# b4_c_ansi_function_decl(NAME, RETURN-VALUE, [DECL1, NAME1], ...)
|
||||
# ----------------------------------------------------------------
|
||||
# Declare the function NAME.
|
||||
m4_define([b4_c_ansi_function_decl],
|
||||
[$2 $1 (b4_c_ansi_formals(m4_shiftn(2, $@)));[]dnl
|
||||
])
|
||||
|
||||
|
||||
|
||||
|
||||
## --------------------- ##
|
||||
## Calling C functions. ##
|
||||
## --------------------- ##
|
||||
|
||||
|
||||
# b4_c_function_call(NAME, RETURN-VALUE, [DECL1, NAME1], ...)
|
||||
# -----------------------------------------------------------
|
||||
# Call the function NAME with arguments NAME1, NAME2 etc.
|
||||
m4_define([b4_c_function_call],
|
||||
[$1 (b4_c_args(m4_shiftn(2, $@)))[]dnl
|
||||
])
|
||||
|
||||
|
||||
# b4_c_args([DECL1, NAME1], ...)
|
||||
# ------------------------------
|
||||
# Output the arguments NAME1, NAME2...
|
||||
m4_define([b4_c_args],
|
||||
[m4_map_sep([b4_c_arg], [, ], [$@])])
|
||||
|
||||
m4_define([b4_c_arg],
|
||||
[$2])
|
||||
|
||||
|
||||
## ----------- ##
|
||||
## Synclines. ##
|
||||
## ----------- ##
|
||||
|
||||
|
||||
# b4_syncline(LINE, FILE)
|
||||
# -----------------------
|
||||
m4_define([b4_syncline],
|
||||
[m4_if(b4_synclines_flag, 1,
|
||||
[[#]line $1 $2])])
|
||||
|
||||
|
||||
# b4_symbol_actions(FILENAME, LINENO,
|
||||
# SYMBOL-TAG, SYMBOL-NUM,
|
||||
# SYMBOL-ACTION, SYMBOL-TYPENAME)
|
||||
# -------------------------------------------------
|
||||
m4_define([b4_symbol_actions],
|
||||
[m4_pushdef([b4_dollar_dollar], [yyvaluep->$6])dnl
|
||||
m4_pushdef([b4_at_dollar], [(*yylocationp)])dnl
|
||||
case $4: /* $3 */
|
||||
b4_syncline([$2], [$1])
|
||||
$5;
|
||||
b4_syncline([@oline@], [@ofile@])
|
||||
break;
|
||||
m4_popdef([b4_at_dollar])dnl
|
||||
m4_popdef([b4_dollar_dollar])dnl
|
||||
])
|
||||
|
||||
|
||||
# b4_yydestruct_generate(FUNCTION-DECLARATOR)
|
||||
# -------------------------------------------
|
||||
# Generate the "yydestruct" function, which declaration is issued using
|
||||
# FUNCTION-DECLARATOR, which may be "b4_c_ansi_function_def" for ISO C
|
||||
# or "b4_c_function_def" for K&R.
|
||||
m4_define([b4_yydestruct_generate],
|
||||
[[/*-----------------------------------------------.
|
||||
| Release the memory associated to this symbol. |
|
||||
`-----------------------------------------------*/
|
||||
|
||||
]$1([yydestruct],
|
||||
[static void],
|
||||
[[int yytype], [yytype]],
|
||||
[[YYSTYPE *yyvaluep], [yyvaluep]]b4_location_if([,
|
||||
[[YYLTYPE *yylocationp], [yylocationp]]]))[
|
||||
{
|
||||
/* Pacify ``unused variable'' warnings. */
|
||||
(void) yyvaluep;
|
||||
]b4_location_if([ (void) yylocationp;
|
||||
])[
|
||||
switch (yytype)
|
||||
{
|
||||
]m4_map([b4_symbol_actions], m4_defn([b4_symbol_destructors]))[
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}]dnl
|
||||
])
|
||||
|
||||
|
||||
# b4_yysymprint_generate(FUNCTION-DECLARATOR)
|
||||
# -------------------------------------------
|
||||
# Generate the "yysymprint" function, which declaration is issued using
|
||||
# FUNCTION-DECLARATOR, which may be "b4_c_ansi_function_def" for ISO C
|
||||
# or "b4_c_function_def" for K&R.
|
||||
m4_define([b4_yysymprint_generate],
|
||||
[[/*--------------------------------.
|
||||
| Print this symbol on YYOUTPUT. |
|
||||
`--------------------------------*/
|
||||
|
||||
]$1([yysymprint],
|
||||
[static void],
|
||||
[[FILE *yyoutput], [yyoutput]],
|
||||
[[int yytype], [yytype]],
|
||||
[[YYSTYPE *yyvaluep], [yyvaluep]]b4_location_if([,
|
||||
[[YYLTYPE *yylocationp], [yylocationp]]]))
|
||||
{
|
||||
/* Pacify ``unused variable'' warnings. */
|
||||
(void) yyvaluep;
|
||||
b4_location_if([ (void) yylocationp;
|
||||
])dnl
|
||||
|
||||
if (yytype < YYNTOKENS)
|
||||
{
|
||||
YYFPRINTF (yyoutput, "token %s (", yytname[[yytype]]);
|
||||
# ifdef YYPRINT
|
||||
YYPRINT (yyoutput, yytoknum[[yytype]], *yyvaluep);
|
||||
# endif
|
||||
}
|
||||
else
|
||||
YYFPRINTF (yyoutput, "nterm %s (", yytname[[yytype]]);
|
||||
|
||||
switch (yytype)
|
||||
{
|
||||
m4_map([b4_symbol_actions], m4_defn([b4_symbol_printers]))dnl
|
||||
default:
|
||||
break;
|
||||
}
|
||||
YYFPRINTF (yyoutput, ")");
|
||||
}
|
||||
])
|
||||
|
||||
+394
-312
File diff suppressed because it is too large
Load Diff
+210
-209
@@ -17,7 +17,22 @@ m4_divert(-1)
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
# 02111-1307 USA
|
||||
|
||||
m4_include([c.m4])
|
||||
## ---------------- ##
|
||||
## Default values. ##
|
||||
## ---------------- ##
|
||||
|
||||
# Stack parameters.
|
||||
m4_define_default([b4_stack_depth_init], [200])
|
||||
|
||||
# Default Parser class name.
|
||||
m4_define_default([b4_parser_class_name], [Parser])
|
||||
|
||||
|
||||
|
||||
## ----------------- ##
|
||||
## Semantic Values. ##
|
||||
## ----------------- ##
|
||||
|
||||
|
||||
# b4_lhs_value([TYPE])
|
||||
# --------------------
|
||||
@@ -31,9 +46,9 @@ m4_define([b4_lhs_value],
|
||||
# Expansion of $<TYPE>NUM, where the current rule has RULE-LENGTH
|
||||
# symbols on RHS.
|
||||
m4_define([b4_rhs_value],
|
||||
[semantic_stack_@<:@m4_eval([$1 - $2])@:>@m4_ifval([$3], [.$3])])
|
||||
[semantic_stack_@{m4_eval([$1 - $2])@}m4_ifval([$3], [.$3])])
|
||||
|
||||
m4_define_default([b4_ltype], [Location])
|
||||
m4_define_default([b4_location_type], [Location])
|
||||
|
||||
# b4_lhs_location()
|
||||
# -----------------
|
||||
@@ -47,28 +62,9 @@ m4_define([b4_lhs_location],
|
||||
# Expansion of @NUM, where the current rule has RULE-LENGTH symbols
|
||||
# on RHS.
|
||||
m4_define([b4_rhs_location],
|
||||
[location_stack_@<:@m4_eval([$1 - $2])@:>@])
|
||||
[location_stack_@{m4_eval([$1 - $2])@}])
|
||||
|
||||
|
||||
m4_define_default([b4_input_suffix], [.y])
|
||||
|
||||
m4_define_default([b4_output_parser_suffix],
|
||||
[m4_translit(b4_input_suffix, [yY], [cC])])
|
||||
|
||||
m4_define_default([b4_output_parser_name],
|
||||
[b4_output_prefix[]b4_output_infix[]b4_output_parser_suffix[]])
|
||||
|
||||
|
||||
m4_define_default([b4_output_header_suffix],
|
||||
[m4_translit(b4_input_suffix, [yY], [hH])])
|
||||
|
||||
m4_define_default([b4_output_header_name],
|
||||
[b4_output_prefix[]b4_output_infix[]b4_output_header_suffix[]])
|
||||
|
||||
m4_define_default([b4_header_guard],
|
||||
[m4_bpatsubst(m4_toupper([BISON_]b4_output_header_name),
|
||||
[[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]], [_])])
|
||||
|
||||
m4_define([b4_inherit],
|
||||
[m4_ifdef([b4_root],
|
||||
[: public b4_root
|
||||
@@ -88,12 +84,16 @@ m4_define([b4_constructor],
|
||||
[])])
|
||||
|
||||
|
||||
# We do want M4 expansion after # for CPP macros.
|
||||
m4_changecom()
|
||||
m4_divert(0)dnl
|
||||
#output "b4_output_header_name"
|
||||
@output @output_header_name@
|
||||
b4_copyright([C++ Skeleton parser for LALR(1) parsing with Bison],
|
||||
[2002])
|
||||
#ifndef b4_header_guard
|
||||
# define b4_header_guard
|
||||
[2002])[
|
||||
/* FIXME: This is wrong, we want computed header guards.
|
||||
I don't know why the macros are missing now. :( */
|
||||
#ifndef PARSER_HEADER_H
|
||||
# define PARSER_HEADER_H
|
||||
|
||||
#include "stack.hh"
|
||||
#include "location.hh"
|
||||
@@ -102,50 +102,50 @@ b4_copyright([C++ Skeleton parser for LALR(1) parsing with Bison],
|
||||
#include <iostream>
|
||||
|
||||
/* Using locations. */
|
||||
#define YYLSP_NEEDED b4_locations_flag
|
||||
#define YYLSP_NEEDED ]b4_locations_flag[
|
||||
|
||||
b4_token_defines(b4_tokens)
|
||||
]b4_token_defines(b4_tokens)[
|
||||
|
||||
/* Copy the first part of user declarations. */
|
||||
b4_pre_prologue
|
||||
]b4_pre_prologue[
|
||||
|
||||
/* Line __line__ of __file__. */
|
||||
#line __oline__ "__ofile__"
|
||||
]/* Line __line__ of lalr1.cc. */
|
||||
b4_syncline([@oline@], [@ofile@])[
|
||||
|
||||
/* Enabling traces. */
|
||||
#ifndef YYDEBUG
|
||||
# define YYDEBUG b4_debug
|
||||
# define YYDEBUG ]b4_debug[
|
||||
#endif
|
||||
|
||||
/* Enabling verbose error message. */
|
||||
#ifndef YYERROR_VERBOSE
|
||||
# define YYERROR_VERBOSE b4_error_verbose
|
||||
# define YYERROR_VERBOSE ]b4_error_verbose[
|
||||
#endif
|
||||
|
||||
#ifndef YYSTYPE
|
||||
m4_ifdef([b4_stype],
|
||||
[#line b4_stype_line "b4_filename"
|
||||
]m4_ifdef([b4_stype],
|
||||
[b4_syncline([b4_stype_line], [b4_filename])
|
||||
typedef union b4_stype yystype;
|
||||
/* Line __line__ of __file__. */
|
||||
#line __oline__ "__ofile__"],
|
||||
[typedef int yystype;])
|
||||
/* Line __line__ of lalr1.cc. */
|
||||
b4_syncline([@oline@], [@ofile@])],
|
||||
[typedef int yystype;])[
|
||||
# define YYSTYPE yystype
|
||||
#endif
|
||||
|
||||
/* Copy the second part of user declarations. */
|
||||
b4_post_prologue
|
||||
]b4_post_prologue[
|
||||
|
||||
/* Line __line__ of __file__. */
|
||||
#line __oline__ "__ofile__"
|
||||
]/* Line __line__ of lalr1.cc. */
|
||||
b4_syncline([@oline@], [@ofile@])[
|
||||
#ifndef YYLLOC_DEFAULT
|
||||
# define YYLLOC_DEFAULT(Current, Rhs, N) \
|
||||
Current.last_line = Rhs[[N]].last_line; \
|
||||
Current.last_column = Rhs[[N]].last_column;
|
||||
Current.last_line = Rhs[N].last_line; \
|
||||
Current.last_column = Rhs[N].last_column;
|
||||
#endif
|
||||
|
||||
namespace yy
|
||||
{
|
||||
class b4_name;
|
||||
class ]b4_parser_class_name[;
|
||||
|
||||
template < typename P >
|
||||
struct Traits
|
||||
@@ -153,47 +153,47 @@ namespace yy
|
||||
};
|
||||
|
||||
template < >
|
||||
struct Traits< b4_name >
|
||||
struct Traits< ]b4_parser_class_name[ >
|
||||
{
|
||||
typedef b4_int_type_for([b4_translate]) TokenNumberType;
|
||||
typedef b4_int_type_for([b4_rhs]) RhsNumberType;
|
||||
typedef ]b4_int_type_for([b4_translate])[ TokenNumberType;
|
||||
typedef ]b4_int_type_for([b4_rhs])[ RhsNumberType;
|
||||
typedef int StateType;
|
||||
typedef yystype SemanticType;
|
||||
typedef b4_ltype LocationType;
|
||||
typedef ]b4_location_type[ LocationType;
|
||||
};
|
||||
}
|
||||
|
||||
namespace yy
|
||||
{
|
||||
class b4_name b4_inherit
|
||||
class ]b4_parser_class_name b4_inherit[
|
||||
{
|
||||
public:
|
||||
|
||||
typedef Traits< b4_name >::TokenNumberType TokenNumberType;
|
||||
typedef Traits< b4_name >::RhsNumberType RhsNumberType;
|
||||
typedef Traits< b4_name >::StateType StateType;
|
||||
typedef Traits< b4_name >::SemanticType SemanticType;
|
||||
typedef Traits< b4_name >::LocationType LocationType;
|
||||
typedef Traits< ]b4_parser_class_name[ >::TokenNumberType TokenNumberType;
|
||||
typedef Traits< ]b4_parser_class_name[ >::RhsNumberType RhsNumberType;
|
||||
typedef Traits< ]b4_parser_class_name[ >::StateType StateType;
|
||||
typedef Traits< ]b4_parser_class_name[ >::SemanticType SemanticType;
|
||||
typedef Traits< ]b4_parser_class_name[ >::LocationType LocationType;
|
||||
|
||||
typedef Stack< StateType > StateStack;
|
||||
typedef Stack< SemanticType > SemanticStack;
|
||||
typedef Stack< LocationType > LocationStack;
|
||||
|
||||
#if YYLSP_NEEDED
|
||||
b4_name (bool debug,
|
||||
LocationType initlocation[]b4_param) :
|
||||
b4_constructor[]debug_ (debug),
|
||||
]b4_parser_class_name[ (bool debug,
|
||||
LocationType initlocation][]b4_param[) :
|
||||
]b4_constructor[][debug_ (debug),
|
||||
cdebug_ (std::cerr),
|
||||
initlocation_ (initlocation)
|
||||
#else
|
||||
b4_name (bool debug[]b4_param) :
|
||||
b4_constructor[]debug_ (debug),
|
||||
]b4_parser_class_name[ (bool debug][]b4_param[) :
|
||||
]b4_constructor[][debug_ (debug),
|
||||
cdebug_ (std::cerr)
|
||||
#endif
|
||||
{
|
||||
}
|
||||
|
||||
virtual ~b4_name ()
|
||||
virtual ~]b4_parser_class_name[ ()
|
||||
{
|
||||
}
|
||||
|
||||
@@ -211,28 +211,28 @@ namespace yy
|
||||
LocationStack location_stack_;
|
||||
|
||||
/* Tables. */
|
||||
static const b4_int_type_for([b4_pact]) pact_[[]];
|
||||
static const b4_int_type_for([b4_pact]) pact_ninf_;
|
||||
static const b4_int_type_for([b4_defact]) defact_[[]];
|
||||
static const b4_int_type_for([b4_pgoto]) pgoto_[[]];
|
||||
static const b4_int_type_for([b4_defgoto]) defgoto_[[]];
|
||||
static const b4_int_type_for([b4_table]) table_[[]];
|
||||
static const b4_int_type_for([b4_table]) table_ninf_;
|
||||
static const b4_int_type_for([b4_check]) check_[[]];
|
||||
static const b4_int_type_for([b4_r1]) r1_[[]];
|
||||
static const b4_int_type_for([b4_r2]) r2_[[]];
|
||||
static const ]b4_int_type_for([b4_pact])[ pact_[];
|
||||
static const ]b4_int_type_for([b4_pact])[ pact_ninf_;
|
||||
static const ]b4_int_type_for([b4_defact])[ defact_[];
|
||||
static const ]b4_int_type_for([b4_pgoto])[ pgoto_[];
|
||||
static const ]b4_int_type_for([b4_defgoto])[ defgoto_[];
|
||||
static const ]b4_int_type_for([b4_table])[ table_[];
|
||||
static const ]b4_int_type_for([b4_table])[ table_ninf_;
|
||||
static const ]b4_int_type_for([b4_check])[ check_[];
|
||||
static const ]b4_int_type_for([b4_r1])[ r1_[];
|
||||
static const ]b4_int_type_for([b4_r2])[ r2_[];
|
||||
|
||||
#if YYDEBUG || YYERROR_VERBOSE
|
||||
static const char* const name_[[]];
|
||||
static const char* const name_[];
|
||||
#endif
|
||||
|
||||
/* More tables, for debugging. */
|
||||
#if YYDEBUG
|
||||
static const RhsNumberType rhs_[[]];
|
||||
static const b4_int_type_for([b4_prhs]) prhs_[[]];
|
||||
static const b4_int_type_for([b4_rline]) rline_[[]];
|
||||
static const b4_int_type_for([b4_stos]) stos_[[]];
|
||||
static const b4_int_type_for([b4_toknum]) token_number_[[]];
|
||||
static const RhsNumberType rhs_[];
|
||||
static const ]b4_int_type_for([b4_prhs])[ prhs_[];
|
||||
static const ]b4_int_type_for([b4_rline])[ rline_[];
|
||||
static const ]b4_int_type_for([b4_stos])[ stos_[];
|
||||
static const ]b4_int_type_for([b4_toknum])[ token_number_[];
|
||||
#endif
|
||||
|
||||
/* Even more tables. */
|
||||
@@ -240,6 +240,7 @@ namespace yy
|
||||
|
||||
/* Constants. */
|
||||
static const int eof_;
|
||||
/* LAST_ -- Last index in TABLE_. */
|
||||
static const int last_;
|
||||
static const int nnts_;
|
||||
static const int empty_;
|
||||
@@ -271,7 +272,7 @@ namespace yy
|
||||
SemanticType value;
|
||||
LocationType location;
|
||||
|
||||
/* @$ and $$. */
|
||||
/* @@$ and $$. */
|
||||
SemanticType yyval;
|
||||
LocationType yyloc;
|
||||
|
||||
@@ -280,13 +281,13 @@ namespace yy
|
||||
};
|
||||
}
|
||||
|
||||
#endif /* not b4_header_guard */
|
||||
#endif /* ! defined PARSER_HEADER_H */]
|
||||
dnl
|
||||
#output "b4_output_prefix[]b4_output_infix[].cc"
|
||||
@output @output_parser_name@
|
||||
b4_copyright([C++ Skeleton parser for LALR(1) parsing with Bison],
|
||||
[2002])
|
||||
[2002])[
|
||||
|
||||
#include "b4_output_header_name"
|
||||
#include @output_header_name@
|
||||
|
||||
/* Enable debugging if requested. */
|
||||
#if YYDEBUG
|
||||
@@ -296,7 +297,7 @@ b4_copyright([C++ Skeleton parser for LALR(1) parsing with Bison],
|
||||
#endif /* !YYDEBUG */
|
||||
|
||||
int
|
||||
yy::b4_name::parse ()
|
||||
yy::]b4_parser_class_name[::parse ()
|
||||
{
|
||||
int nerrs = 0;
|
||||
int errstatus = 0;
|
||||
@@ -324,7 +325,7 @@ yy::b4_name::parse ()
|
||||
yybackup:
|
||||
|
||||
/* Try to take a decision without lookahead. */
|
||||
n_ = pact_[[state_]];
|
||||
n_ = pact_[state_];
|
||||
if (n_ == pact_ninf_)
|
||||
goto yydefault;
|
||||
|
||||
@@ -349,7 +350,7 @@ yy::b4_name::parse ()
|
||||
if (debug_)
|
||||
{
|
||||
YYCDEBUG << "Next token is " << looka_
|
||||
<< " (" << name_[[ilooka_]];
|
||||
<< " (" << name_[ilooka_];
|
||||
print_ ();
|
||||
YYCDEBUG << ')' << std::endl;
|
||||
}
|
||||
@@ -357,11 +358,11 @@ yy::b4_name::parse ()
|
||||
}
|
||||
|
||||
n_ += ilooka_;
|
||||
if (n_ < 0 || n_ > last_ || check_[[n_]] != ilooka_)
|
||||
if (n_ < 0 || last_ < n_ || check_[n_] != ilooka_)
|
||||
goto yydefault;
|
||||
|
||||
/* Reduce or error. */
|
||||
n_ = table_[[n_]];
|
||||
n_ = table_[n_];
|
||||
if (n_ < 0)
|
||||
{
|
||||
if (n_ == table_ninf_)
|
||||
@@ -381,7 +382,7 @@ yy::b4_name::parse ()
|
||||
|
||||
/* Shift the lookahead token. */
|
||||
YYCDEBUG << "Shifting token " << looka_
|
||||
<< " (" << name_[[ilooka_]] << "), ";
|
||||
<< " (" << name_[ilooka_] << "), ";
|
||||
|
||||
/* Discard the token being shifted unless it is eof. */
|
||||
if (looka_ != eof_)
|
||||
@@ -400,34 +401,34 @@ yy::b4_name::parse ()
|
||||
|
||||
/* Default action. */
|
||||
yydefault:
|
||||
n_ = defact_[[state_]];
|
||||
n_ = defact_[state_];
|
||||
if (n_ == 0)
|
||||
goto yyerrlab;
|
||||
goto yyreduce;
|
||||
|
||||
/* Reduce. */
|
||||
yyreduce:
|
||||
len_ = r2_[[n_]];
|
||||
len_ = r2_[n_];
|
||||
if (len_)
|
||||
{
|
||||
yyval = semantic_stack_[[len_ - 1]];
|
||||
yyloc = location_stack_[[len_ - 1]];
|
||||
yyval = semantic_stack_[len_ - 1];
|
||||
yyloc = location_stack_[len_ - 1];
|
||||
}
|
||||
else
|
||||
{
|
||||
yyval = semantic_stack_[[0]];
|
||||
yyloc = location_stack_[[0]];
|
||||
yyval = semantic_stack_[0];
|
||||
yyloc = location_stack_[0];
|
||||
}
|
||||
|
||||
#if YYDEBUG
|
||||
if (debug_)
|
||||
{
|
||||
YYCDEBUG << "Reducing via rule " << n_ - 1
|
||||
<< " (line " << rline_[[n_]] << "), ";
|
||||
for (b4_int_type_for([b4_prhs]) i = prhs_[[n_]];
|
||||
rhs_[[i]] >= 0; ++i)
|
||||
YYCDEBUG << name_[[rhs_[i]]] << ' ';
|
||||
YYCDEBUG << "-> " << name_[[r1_[n_]]] << std::endl;
|
||||
<< " (line " << rline_[n_] << "), ";
|
||||
for (]b4_int_type_for([b4_prhs])[ i = prhs_[n_];
|
||||
0 <= rhs_[i]; ++i)
|
||||
YYCDEBUG << name_[rhs_[i]] << ' ';
|
||||
YYCDEBUG << "-> " << name_[r1_[n_]] << std::endl;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -439,11 +440,11 @@ yy::b4_name::parse ()
|
||||
|
||||
switch (n_)
|
||||
{
|
||||
b4_actions
|
||||
]b4_actions[
|
||||
}
|
||||
|
||||
/* Line __line__ of __file__. */
|
||||
#line __oline__ "__ofile__"
|
||||
]/* Line __line__ of lalr1.cc. */
|
||||
b4_syncline([@oline@], [@ofile@])[
|
||||
|
||||
state_stack_.pop (len_);
|
||||
semantic_stack_.pop (len_);
|
||||
@@ -464,12 +465,12 @@ yy::b4_name::parse ()
|
||||
location_stack_.push (yyloc);
|
||||
|
||||
/* Shift the result of the reduction. */
|
||||
n_ = r1_[[n_]];
|
||||
state_ = pgoto_[[n_ - ntokens_]] + state_stack_[[0]];
|
||||
if (state_ >= 0 && state_ <= last_ && check_[[state_]] == state_stack_[[0]])
|
||||
state_ = table_[[state_]];
|
||||
n_ = r1_[n_];
|
||||
state_ = pgoto_[n_ - ntokens_] + state_stack_[0];
|
||||
if (0 <= state_ && state_ <= last_ && check_[state_] == state_stack_[0])
|
||||
state_ = table_[state_];
|
||||
else
|
||||
state_ = defgoto_[[n_ - ntokens_]];
|
||||
state_ = defgoto_[n_ - ntokens_];
|
||||
goto yynewstate;
|
||||
|
||||
/* Report and recover from errors. This is very incomplete. */
|
||||
@@ -480,31 +481,31 @@ yy::b4_name::parse ()
|
||||
++nerrs;
|
||||
|
||||
#if YYERROR_VERBOSE
|
||||
n_ = pact_[[state_]];
|
||||
n_ = pact_[state_];
|
||||
if (pact_ninf_ < n_ && n_ < last_)
|
||||
{
|
||||
message = "parse error, unexpected ";
|
||||
message += name_[[ilooka_]];
|
||||
message = "syntax error, unexpected ";
|
||||
message += name_[ilooka_];
|
||||
{
|
||||
int count = 0;
|
||||
for (int x = (n_ < 0 ? -n_ : 0); x < ntokens_ + nnts_; ++x)
|
||||
if (check_[[x + n_]] == x && x != terror_)
|
||||
if (check_[x + n_] == x && x != terror_)
|
||||
++count;
|
||||
if (count < 5)
|
||||
{
|
||||
count = 0;
|
||||
for (int x = (n_ < 0 ? -n_ : 0); x < ntokens_ + nnts_; ++x)
|
||||
if (check_[[x + n_]] == x && x != terror_)
|
||||
if (check_[x + n_] == x && x != terror_)
|
||||
{
|
||||
message += (!count++) ? ", expecting " : " or ";
|
||||
message += name_[[x]];
|
||||
message += name_[x];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
#endif
|
||||
message = "parse error";
|
||||
message = "syntax error";
|
||||
error_ ();
|
||||
}
|
||||
goto yyerrlab1;
|
||||
@@ -520,7 +521,7 @@ yy::b4_name::parse ()
|
||||
if (looka_ == eof_)
|
||||
goto yyabortlab;
|
||||
YYCDEBUG << "Discarding token " << looka_
|
||||
<< " (" << name_[[ilooka_]] << ")." << std::endl;
|
||||
<< " (" << name_[ilooka_] << ")." << std::endl;
|
||||
looka_ = empty_;
|
||||
}
|
||||
|
||||
@@ -531,13 +532,13 @@ yy::b4_name::parse ()
|
||||
|
||||
for (;;)
|
||||
{
|
||||
n_ = pact_[[state_]];
|
||||
n_ = pact_[state_];
|
||||
if (n_ != pact_ninf_)
|
||||
{
|
||||
n_ += terror_;
|
||||
if (0 <= n_ && n_ <= last_ && check_[[n_]] == terror_)
|
||||
if (0 <= n_ && n_ <= last_ && check_[n_] == terror_)
|
||||
{
|
||||
n_ = table_[[n_]];
|
||||
n_ = table_[n_];
|
||||
if (0 < n_)
|
||||
break;
|
||||
}
|
||||
@@ -550,13 +551,13 @@ yy::b4_name::parse ()
|
||||
#if YYDEBUG
|
||||
if (debug_)
|
||||
{
|
||||
if (stos_[[state_]] < ntokens_)
|
||||
if (stos_[state_] < ntokens_)
|
||||
{
|
||||
YYCDEBUG << "Error: popping token "
|
||||
<< token_number_[[stos_[state_]]]
|
||||
<< " (" << name_[[stos_[state_]]];
|
||||
<< token_number_[stos_[state_]]
|
||||
<< " (" << name_[stos_[state_]];
|
||||
# ifdef YYPRINT
|
||||
YYPRINT (stderr, token_number_[[stos_[state_]]],
|
||||
YYPRINT (stderr, token_number_[stos_[state_]],
|
||||
semantic_stack_.top ());
|
||||
# endif
|
||||
YYCDEBUG << ')' << std::endl;
|
||||
@@ -564,12 +565,12 @@ yy::b4_name::parse ()
|
||||
else
|
||||
{
|
||||
YYCDEBUG << "Error: popping nonterminal ("
|
||||
<< name_[[stos_[state_]]] << ')' << std::endl;
|
||||
<< name_[stos_[state_]] << ')' << std::endl;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
state_ = (state_stack_.pop (), state_stack_[[0]]);
|
||||
state_ = (state_stack_.pop (), state_stack_[0]);
|
||||
semantic_stack_.pop ();
|
||||
location_stack_.pop ();;
|
||||
|
||||
@@ -606,7 +607,7 @@ yy::b4_name::parse ()
|
||||
}
|
||||
|
||||
void
|
||||
yy::b4_name::lex_ ()
|
||||
yy::]b4_parser_class_name[::lex_ ()
|
||||
{
|
||||
#if YYLSP_NEEDED
|
||||
looka_ = yylex (&value, &location);
|
||||
@@ -615,154 +616,154 @@ yy::b4_name::lex_ ()
|
||||
#endif
|
||||
}
|
||||
|
||||
/* YYPACT[[STATE-NUM]] -- Index in YYTABLE of the portion describing
|
||||
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
|
||||
STATE-NUM. */
|
||||
const b4_int_type_for([b4_pact]) yy::b4_name::pact_ninf_ = b4_pact_ninf;
|
||||
const b4_int_type_for([b4_pact])
|
||||
yy::b4_name::pact_[[]] =
|
||||
const ]b4_int_type_for([b4_pact]) yy::b4_parser_class_name::pact_ninf_ = b4_pact_ninf[;
|
||||
const ]b4_int_type_for([b4_pact])[
|
||||
yy::]b4_parser_class_name[::pact_[] =
|
||||
{
|
||||
b4_pact
|
||||
]b4_pact[
|
||||
};
|
||||
|
||||
/* YYDEFACT[[S]] -- default rule to reduce with in state S when YYTABLE
|
||||
/* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE
|
||||
doesn't specify something else to do. Zero means the default is an
|
||||
error. */
|
||||
const b4_int_type_for([b4_defact])
|
||||
yy::b4_name::defact_[[]] =
|
||||
const ]b4_int_type_for([b4_defact])[
|
||||
yy::]b4_parser_class_name[::defact_[] =
|
||||
{
|
||||
b4_defact
|
||||
]b4_defact[
|
||||
};
|
||||
|
||||
/* YYPGOTO[[NTERM-NUM]]. */
|
||||
const b4_int_type_for([b4_pgoto])
|
||||
yy::b4_name::pgoto_[[]] =
|
||||
/* YYPGOTO[NTERM-NUM]. */
|
||||
const ]b4_int_type_for([b4_pgoto])[
|
||||
yy::]b4_parser_class_name[::pgoto_[] =
|
||||
{
|
||||
b4_pgoto
|
||||
]b4_pgoto[
|
||||
};
|
||||
|
||||
/* YYDEFGOTO[[NTERM-NUM]]. */
|
||||
const b4_int_type_for([b4_defgoto])
|
||||
yy::b4_name::defgoto_[[]] =
|
||||
/* YYDEFGOTO[NTERM-NUM]. */
|
||||
const ]b4_int_type_for([b4_defgoto])[
|
||||
yy::]b4_parser_class_name[::defgoto_[] =
|
||||
{
|
||||
b4_defgoto
|
||||
]b4_defgoto[
|
||||
};
|
||||
|
||||
/* YYTABLE[[YYPACT[STATE-NUM]]]. What to do in state STATE-NUM. If
|
||||
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
|
||||
positive, shift that token. If negative, reduce the rule which
|
||||
number is the opposite. If zero, do what YYDEFACT says. */
|
||||
const b4_int_type_for([b4_table]) yy::b4_name::table_ninf_ = b4_table_ninf;
|
||||
const b4_int_type_for([b4_table])
|
||||
yy::b4_name::table_[[]] =
|
||||
const ]b4_int_type_for([b4_table]) yy::b4_parser_class_name::table_ninf_ = b4_table_ninf[;
|
||||
const ]b4_int_type_for([b4_table])[
|
||||
yy::]b4_parser_class_name[::table_[] =
|
||||
{
|
||||
b4_table
|
||||
]b4_table[
|
||||
};
|
||||
|
||||
/* YYCHECK. */
|
||||
const b4_int_type_for([b4_check])
|
||||
yy::b4_name::check_[[]] =
|
||||
const ]b4_int_type_for([b4_check])[
|
||||
yy::]b4_parser_class_name[::check_[] =
|
||||
{
|
||||
b4_check
|
||||
]b4_check[
|
||||
};
|
||||
|
||||
#if YYDEBUG
|
||||
/* STOS_[[STATE-NUM]] -- The (internal number of the) accessing
|
||||
/* STOS_[STATE-NUM] -- The (internal number of the) accessing
|
||||
symbol of state STATE-NUM. */
|
||||
const b4_int_type_for([b4_stos])
|
||||
yy::b4_name::stos_[[]] =
|
||||
const ]b4_int_type_for([b4_stos])[
|
||||
yy::]b4_parser_class_name[::stos_[] =
|
||||
{
|
||||
b4_stos
|
||||
]b4_stos[
|
||||
};
|
||||
|
||||
/* TOKEN_NUMBER_[[YYLEX-NUM]] -- Internal token number corresponding
|
||||
/* TOKEN_NUMBER_[YYLEX-NUM] -- Internal token number corresponding
|
||||
to YYLEX-NUM. */
|
||||
const b4_int_type_for([b4_toknum])
|
||||
yy::b4_name::token_number_[[]] =
|
||||
const ]b4_int_type_for([b4_toknum])[
|
||||
yy::]b4_parser_class_name[::token_number_[] =
|
||||
{
|
||||
b4_toknum
|
||||
]b4_toknum[
|
||||
};
|
||||
#endif
|
||||
|
||||
/* YYR1[[YYN]] -- Symbol number of symbol that rule YYN derives. */
|
||||
const b4_int_type_for([b4_r1])
|
||||
yy::b4_name::r1_[[]] =
|
||||
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
|
||||
const ]b4_int_type_for([b4_r1])[
|
||||
yy::]b4_parser_class_name[::r1_[] =
|
||||
{
|
||||
b4_r1
|
||||
]b4_r1[
|
||||
};
|
||||
|
||||
/* YYR2[[YYN]] -- Number of symbols composing right hand side of rule YYN. */
|
||||
const b4_int_type_for([b4_r2])
|
||||
yy::b4_name::r2_[[]] =
|
||||
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
|
||||
const ]b4_int_type_for([b4_r2])[
|
||||
yy::]b4_parser_class_name[::r2_[] =
|
||||
{
|
||||
b4_r2
|
||||
]b4_r2[
|
||||
};
|
||||
|
||||
#if YYDEBUG || YYERROR_VERBOSE
|
||||
/* YYTNAME[[SYMBOL-NUM]] -- String name of the symbol SYMBOL-NUM.
|
||||
/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
|
||||
First, the terminals, then, starting at YYNTOKENS, nonterminals. */
|
||||
const char*
|
||||
const yy::b4_name::name_[[]] =
|
||||
const yy::]b4_parser_class_name[::name_[] =
|
||||
{
|
||||
b4_tname
|
||||
]b4_tname[
|
||||
};
|
||||
#endif
|
||||
|
||||
#if YYDEBUG
|
||||
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
|
||||
const yy::b4_name::RhsNumberType
|
||||
yy::b4_name::rhs_[[]] =
|
||||
const yy::]b4_parser_class_name[::RhsNumberType
|
||||
yy::]b4_parser_class_name[::rhs_[] =
|
||||
{
|
||||
b4_rhs
|
||||
]b4_rhs[
|
||||
};
|
||||
|
||||
/* YYPRHS[[YYN]] -- Index of the first RHS symbol of rule number YYN in
|
||||
/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
|
||||
YYRHS. */
|
||||
const b4_int_type_for([b4_prhs])
|
||||
yy::b4_name::prhs_[[]] =
|
||||
const ]b4_int_type_for([b4_prhs])[
|
||||
yy::]b4_parser_class_name[::prhs_[] =
|
||||
{
|
||||
b4_prhs
|
||||
]b4_prhs[
|
||||
};
|
||||
|
||||
/* YYRLINE[[YYN]] -- source line where rule number YYN was defined. */
|
||||
const b4_int_type_for([b4_rline])
|
||||
yy::b4_name::rline_[[]] =
|
||||
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
|
||||
const ]b4_int_type_for([b4_rline])[
|
||||
yy::]b4_parser_class_name[::rline_[] =
|
||||
{
|
||||
b4_rline
|
||||
]b4_rline[
|
||||
};
|
||||
#endif
|
||||
|
||||
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
|
||||
yy::b4_name::TokenNumberType
|
||||
yy::b4_name::translate_ (int token)
|
||||
yy::]b4_parser_class_name[::TokenNumberType
|
||||
yy::]b4_parser_class_name[::translate_ (int token)
|
||||
{
|
||||
static
|
||||
const TokenNumberType
|
||||
translate_[[]] =
|
||||
translate_[] =
|
||||
{
|
||||
b4_translate
|
||||
]b4_translate[
|
||||
};
|
||||
if ((unsigned) token <= user_token_number_max_)
|
||||
return translate_[[token]];
|
||||
return translate_[token];
|
||||
else
|
||||
return undef_token_;
|
||||
}
|
||||
|
||||
const int yy::b4_name::eof_ = 0;
|
||||
const int yy::b4_name::last_ = b4_last;
|
||||
const int yy::b4_name::nnts_ = b4_nterms_number;
|
||||
const int yy::b4_name::empty_ = -2;
|
||||
const int yy::b4_name::final_ = b4_final_state_number;
|
||||
const int yy::b4_name::terror_ = 1;
|
||||
const int yy::b4_name::errcode_ = 256;
|
||||
const int yy::b4_name::ntokens_ = b4_tokens_number;
|
||||
const int yy::b4_name::initdepth_ = b4_initdepth;
|
||||
const int yy::]b4_parser_class_name[::eof_ = 0;
|
||||
const int yy::]b4_parser_class_name[::last_ = ]b4_last[;
|
||||
const int yy::]b4_parser_class_name[::nnts_ = ]b4_nterms_number[;
|
||||
const int yy::]b4_parser_class_name[::empty_ = -2;
|
||||
const int yy::]b4_parser_class_name[::final_ = ]b4_final_state_number[;
|
||||
const int yy::]b4_parser_class_name[::terror_ = 1;
|
||||
const int yy::]b4_parser_class_name[::errcode_ = 256;
|
||||
const int yy::]b4_parser_class_name[::ntokens_ = ]b4_tokens_number[;
|
||||
const int yy::]b4_parser_class_name[::initdepth_ = ]b4_stack_depth_init[;
|
||||
|
||||
const unsigned yy::b4_name::user_token_number_max_ = b4_user_token_number_max;
|
||||
const yy::b4_name::TokenNumberType yy::b4_name::undef_token_ = b4_undef_token_number;
|
||||
const unsigned yy::]b4_parser_class_name[::user_token_number_max_ = ]b4_user_token_number_max[;
|
||||
const yy::]b4_parser_class_name[::TokenNumberType yy::]b4_parser_class_name[::undef_token_ = ]b4_undef_token_number[;
|
||||
|
||||
b4_epilogue
|
||||
]b4_epilogue
|
||||
dnl
|
||||
#output "stack.hh"
|
||||
b4_copyright([2002])
|
||||
@output stack.hh
|
||||
b4_copyright([2002])[
|
||||
|
||||
#ifndef BISON_STACK_HH
|
||||
# define BISON_STACK_HH
|
||||
@@ -789,16 +790,16 @@ namespace yy
|
||||
|
||||
inline
|
||||
T&
|
||||
operator [[]] (unsigned index)
|
||||
operator [] (unsigned index)
|
||||
{
|
||||
return seq_[[index]];
|
||||
return seq_[index];
|
||||
}
|
||||
|
||||
inline
|
||||
const T&
|
||||
operator [[]] (unsigned index) const
|
||||
operator [] (unsigned index) const
|
||||
{
|
||||
return seq_[[index]];
|
||||
return seq_[index];
|
||||
}
|
||||
|
||||
inline
|
||||
@@ -844,9 +845,9 @@ namespace yy
|
||||
|
||||
inline
|
||||
const T&
|
||||
operator [[]] (unsigned index) const
|
||||
operator [] (unsigned index) const
|
||||
{
|
||||
return stack_[[range_ - index]];
|
||||
return stack_[range_ - index];
|
||||
}
|
||||
|
||||
private:
|
||||
@@ -856,10 +857,10 @@ namespace yy
|
||||
};
|
||||
}
|
||||
|
||||
#endif // not BISON_STACK_HH
|
||||
#endif // not BISON_STACK_HH]
|
||||
dnl
|
||||
#output "location.hh"
|
||||
b4_copyright([2002])
|
||||
@output location.hh
|
||||
b4_copyright([2002])[
|
||||
|
||||
#ifndef BISON_LOCATION_HH
|
||||
# define BISON_LOCATION_HH
|
||||
@@ -879,4 +880,4 @@ namespace yy
|
||||
};
|
||||
}
|
||||
|
||||
#endif // not BISON_LOCATION_HH
|
||||
#endif // not BISON_LOCATION_HH]
|
||||
|
||||
@@ -1746,15 +1746,6 @@ m4_define([m4_version_compare],
|
||||
(m4_split(m4_version_unletter([$2]), [\.])))])
|
||||
|
||||
|
||||
# m4_PACKAGE_NAME
|
||||
# m4_PACKAGE_TARNAME
|
||||
# m4_PACKAGE_VERSION
|
||||
# m4_PACKAGE_STRING
|
||||
# m4_PACKAGE_BUGREPORT
|
||||
# --------------------
|
||||
m4_include([m4sugar/version.m4])
|
||||
|
||||
|
||||
# m4_version_prereq(VERSION, [IF-OK], [IF-NOT = FAIL])
|
||||
# ----------------------------------------------------
|
||||
# Check this Autoconf version against VERSION.
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
# This file is part of -*- Autoconf -*-.
|
||||
# Version of Autoconf.
|
||||
# Copyright 1999, 2000, 2001 Free Software Foundation, Inc.
|
||||
|
||||
m4_define([m4_PACKAGE_NAME], [GNU Autoconf])
|
||||
m4_define([m4_PACKAGE_TARNAME], [autoconf])
|
||||
m4_define([m4_PACKAGE_VERSION], [2.52h])
|
||||
m4_define([m4_PACKAGE_STRING], [GNU Autoconf 2.52h])
|
||||
m4_define([m4_PACKAGE_BUGREPORT], [[email protected]])
|
||||
+344
-377
File diff suppressed because it is too large
Load Diff
@@ -13,7 +13,7 @@ A1. If you're looking for a guarantee or certification, I can't
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Q2. I can't build Bison because "make" complains that "msgfmt" is not
|
||||
fund. What should I do?
|
||||
found. What should I do?
|
||||
|
||||
A2. Like most GNU packages with internationalization support, that
|
||||
feature is turned on by default. If you have problems building
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ info_TEXINFOS = bison.texinfo
|
||||
man_MANS = bison.1
|
||||
bison_TEXINFOS = gpl.texi fdl.texi
|
||||
|
||||
EXTRA_DIST = FAQ bison.1 bison.rnh refcard.tex
|
||||
EXTRA_DIST = FAQ bison.1 refcard.tex
|
||||
|
||||
CLEANFILES = refcard.dvi refcard.log refcard.ps
|
||||
|
||||
|
||||
+39
-41
@@ -59,6 +59,11 @@ bison \- GNU Project parser generator (yacc replacement)
|
||||
.B \-\-fixed-output-files
|
||||
]
|
||||
file
|
||||
.br
|
||||
.B yacc
|
||||
[
|
||||
.I "similar options and operands"
|
||||
]
|
||||
.SH DESCRIPTION
|
||||
.I Bison
|
||||
is a parser generator in the style of
|
||||
@@ -75,10 +80,10 @@ Unlike
|
||||
.IR yacc ,
|
||||
the generated files do not have fixed names, but instead use the prefix
|
||||
of the input file.
|
||||
Moreover, if you need to put
|
||||
.IR C++
|
||||
Moreover, if you need to put
|
||||
.I C++
|
||||
code in the input file, you can end his name by a C++-like extension
|
||||
(.ypp or .y++), then bison will follow your extension to name the
|
||||
(.ypp or .y++), then bison will follow your extension to name the
|
||||
output file (.cpp or .c++).
|
||||
For instance, a grammar description file named
|
||||
.B parse.yxx
|
||||
@@ -86,10 +91,10 @@ would produce the generated parser in a file named
|
||||
.BR parse.tab.cxx ,
|
||||
instead of
|
||||
.IR yacc 's
|
||||
.BR y.tab.c
|
||||
or old
|
||||
.IR Bison
|
||||
versions
|
||||
.B y.tab.c
|
||||
or old
|
||||
.I Bison
|
||||
version's
|
||||
.BR parse.tab.c .
|
||||
.PP
|
||||
This description of the options that can be given to
|
||||
@@ -122,7 +127,7 @@ Specify a prefix to use for all
|
||||
.I bison
|
||||
output file names. The names are
|
||||
chosen as if the input file were named
|
||||
\fIfile-prefix\fB.c\fR.
|
||||
\fIfile-prefix\fP\fB.c\fP.
|
||||
.TP
|
||||
.B \-d
|
||||
.br
|
||||
@@ -135,10 +140,10 @@ as well as a few
|
||||
variable declarations.
|
||||
.sp
|
||||
If the parser output file is named
|
||||
\fIname\fB.c\fR
|
||||
.IB name .c
|
||||
then this file
|
||||
is named
|
||||
\fIname\fB.h\fR.
|
||||
\fIname\fP\fB.h\fP.
|
||||
.sp
|
||||
This output file is essential if you wish to put the definition of
|
||||
.B yylex
|
||||
@@ -148,29 +153,29 @@ needs to be able to refer to token type codes and the variable
|
||||
.BR yylval .
|
||||
.TP
|
||||
.BI \-\-defines= defines-file
|
||||
The behaviour of
|
||||
.BI \-\-defines
|
||||
is the same than
|
||||
.BI \-d
|
||||
option.
|
||||
The only difference is that it has an optionnal argument which is
|
||||
The behavior of
|
||||
.B \-\-defines
|
||||
is the same than
|
||||
.B \-d
|
||||
option.
|
||||
The only difference is that it has an optional argument which is
|
||||
the name of the output filename.
|
||||
.TP
|
||||
.BI \-g
|
||||
.br
|
||||
.ns
|
||||
Output a VCG definition of the LALR(1) grammar automaton computed by
|
||||
Bison. If the grammar file is
|
||||
Bison. If the grammar file is
|
||||
.BR foo.y
|
||||
, the VCG output file will be
|
||||
.BR foo.vcg .
|
||||
.TP
|
||||
.BI \-\-graph= graph-file
|
||||
The behaviour of
|
||||
.BI \-\-graph
|
||||
The behavior of
|
||||
.BI \-\-graph
|
||||
is the same than
|
||||
.BI \-g
|
||||
option. The only difference is that it has an optionnal argument which
|
||||
option. The only difference is that it has an optional argument which
|
||||
is the name of the output graph filename.
|
||||
.TP
|
||||
.B \-k
|
||||
@@ -178,8 +183,10 @@ is the name of the output graph filename.
|
||||
.ns
|
||||
.TP
|
||||
.B \-\-token-table
|
||||
This switch causes the \fIname\fB.tab.c\fR output to include a list of
|
||||
token names in order by their token numbers; this is defined in the array
|
||||
This switch causes the
|
||||
.IB name .tab.c
|
||||
output to include a list of
|
||||
token names in order by their token numbers; this is defined in the array
|
||||
.IR yytname .
|
||||
Also generated
|
||||
are #defines for
|
||||
@@ -209,9 +216,13 @@ parser file, treating it an independent source file in its own right.
|
||||
.ns
|
||||
.TP
|
||||
.B \-\-no-parser
|
||||
Do not generate the parser code into the output; generate only
|
||||
declarations. The generated \fIname\fB.tab.c\fR file will have only
|
||||
constant declarations. In addition, a \fIname\fB.act\fR file is
|
||||
Do not generate the parser code into the output; generate only
|
||||
declarations. The generated
|
||||
.IB name .tab.c
|
||||
file will have only
|
||||
constant declarations. In addition, a
|
||||
.IB name .act
|
||||
file is
|
||||
generated containing a switch statement body containing all the
|
||||
translated actions.
|
||||
.TP
|
||||
@@ -334,29 +345,16 @@ The purpose of this switch is to imitate
|
||||
.IR yacc 's
|
||||
output file name conventions.
|
||||
Thus, the following shell script can substitute for
|
||||
.I yacc
|
||||
and is often installed as
|
||||
.IR yacc :
|
||||
.sp
|
||||
.RS
|
||||
.ft B
|
||||
bison \-y $*
|
||||
bison \-y "$@"
|
||||
.ft R
|
||||
.sp
|
||||
.RE
|
||||
.SH FILES
|
||||
/usr/local/share/bison/bison.simple simple parser
|
||||
.br
|
||||
/usr/local/share/bison/bison.hairy complicated parser
|
||||
.SH "ENVIRONMENT VARIABLES"
|
||||
.TP
|
||||
.SM BISON_SIMPLE
|
||||
If this is set, it specifies the location in which the
|
||||
.B bison.simple
|
||||
parser can be found.
|
||||
.TP
|
||||
.SM BISON_HAIRY
|
||||
If this is set, it specifies the location in which the
|
||||
.B bison.hairy
|
||||
parser can be found.
|
||||
.SH SEE ALSO
|
||||
.IR yacc (1)
|
||||
.br
|
||||
|
||||
-192
@@ -1,192 +0,0 @@
|
||||
.!
|
||||
.! RUNOFF source file for BISON.HLP
|
||||
.!
|
||||
.! This is a RUNOFF input file which will produce a VMS help file
|
||||
.! for the VMS HELP library.
|
||||
.!
|
||||
.! Eric Youngdale and Wilfred J. Hansen ([email protected]).
|
||||
.!
|
||||
.literal
|
||||
.end literal
|
||||
.no paging
|
||||
.no flags all
|
||||
.right margin 70
|
||||
.left margin 1
|
||||
|
||||
.indent -1
|
||||
1 BISON
|
||||
.skip
|
||||
The BISON command invokes the GNU BISON parser generator.
|
||||
.skip
|
||||
.literal
|
||||
BISON file-spec
|
||||
.end literal
|
||||
.skip
|
||||
.indent -1
|
||||
2 Parameters
|
||||
.skip
|
||||
file-spec
|
||||
.skip
|
||||
Here file-spec is the grammar file name, which usually ends in
|
||||
.y. The parser file's name is made by replacing the .y
|
||||
with _tab.c. Thus, the command bison foo.y yields
|
||||
foo_tab.c.
|
||||
|
||||
.skip
|
||||
.indent -1
|
||||
2 Qualifiers
|
||||
.skip
|
||||
The following is the list of available qualifiers for BISON:
|
||||
.literal
|
||||
/DEBUG
|
||||
/DEFINES
|
||||
/FILE_PREFIX=prefix
|
||||
/FIXED_OUTFILES
|
||||
/NAME_PREFIX=prefix
|
||||
/NOLINES
|
||||
/NOPARSER
|
||||
/OUTPUT=outfilefile
|
||||
/RAW
|
||||
/TOKEN_TABLE
|
||||
/VERBOSE
|
||||
/VERSION
|
||||
/YACC
|
||||
.end literal
|
||||
.skip
|
||||
.indent -1
|
||||
2 /DEBUG
|
||||
.skip
|
||||
In the parser file,
|
||||
define the macro YYDEBUG to 1 if it is not already defined,
|
||||
so that the debugging facilities are compiled.
|
||||
.skip
|
||||
.indent -1
|
||||
2 /DEFINES
|
||||
.skip
|
||||
Write an extra output file containing macro definitions for the token
|
||||
type names defined in the grammar and the semantic value type
|
||||
YYSTYPE, as well as a extern variable declarations.
|
||||
.skip
|
||||
If the parser output file is named "name.c" then this file
|
||||
is named "name.h".
|
||||
.skip
|
||||
This output file is essential if you wish to put the definition of
|
||||
yylex in a separate source file, because yylex needs to
|
||||
be able to refer to token type codes and the variable
|
||||
yylval.
|
||||
.skip
|
||||
.indent -1
|
||||
2 /FILE_PREFIX
|
||||
.skip
|
||||
.literal
|
||||
/FILIE_PREFIX=prefix
|
||||
.end literal
|
||||
.skip
|
||||
Specify a prefix to use for all Bison output file names. The names are
|
||||
chosen as if the input file were named prefix.c
|
||||
|
||||
.skip
|
||||
.indent -1
|
||||
2 /FIXED_OUTFILES
|
||||
.skip
|
||||
Equivalent to /OUTPUT=y_tab.c; the parser output file is called
|
||||
y_tab.c, and the other outputs are called y.output and
|
||||
y_tab.h. The purpose of this switch is to imitate Yacc's output
|
||||
file name conventions. The /YACC qualifier is functionally equivalent
|
||||
to /FIXED_OUTFILES. The following command definition will
|
||||
work as a substitute for Yacc:
|
||||
|
||||
.literal
|
||||
$YACC:==BISON/FIXED_OUTFILES
|
||||
.end literal
|
||||
.skip
|
||||
.indent -1
|
||||
2 /NAME_PREFIX
|
||||
.skip
|
||||
.literal
|
||||
/NAME_PREFIX=prefix
|
||||
.end literal
|
||||
.skip
|
||||
Rename the external symbols used in the parser so that they start with
|
||||
"prefix" instead of "yy". The precise list of symbols renamed
|
||||
is yyparse, yylex, yyerror, yylval, yychar and yydebug.
|
||||
|
||||
For example, if you use /NAME_PREFIX="c", the names become cparse,
|
||||
clex, and so on.
|
||||
|
||||
.skip
|
||||
.indent -1
|
||||
2 /NOLINES
|
||||
.skip
|
||||
Don't put any "#line" preprocessor commands in the parser file.
|
||||
Ordinarily Bison puts them in the parser file so that the C compiler
|
||||
and debuggers will associate errors with your source file, the
|
||||
grammar file. This option causes them to associate errors with the
|
||||
parser file, treating it an independent source file in its own right.
|
||||
.skip
|
||||
.indent -1
|
||||
2 /NOPARSER
|
||||
.skip
|
||||
Do not generate the parser code into the output; generate only
|
||||
declarations. The generated name_tab.c file will have only
|
||||
constant declarations. In addition, a name.act file is
|
||||
generated containing a switch statement body containing all the
|
||||
translated actions.
|
||||
.skip
|
||||
.indent -1
|
||||
2 /OUTPUT
|
||||
.skip
|
||||
.literal
|
||||
/OUTPUT=outfile
|
||||
.end literal
|
||||
.skip
|
||||
Specify the name "outfile" for the parser file.
|
||||
.skip
|
||||
.indent -1
|
||||
2 /RAW
|
||||
.skip
|
||||
When this switch is specified, the .tab.h file defines the tokens to
|
||||
have the bison token numbers rather than the yacc compatible numbers.
|
||||
To employ this switch you would have to have your own parser.
|
||||
.skip
|
||||
.indent -1
|
||||
2 /TOKEN_TABLE
|
||||
.skip
|
||||
This switch causes the name_tab.c output to include a list of
|
||||
token names in order by their token numbers; this is defined in the array
|
||||
yytname. Also generated are #defines for YYNTOKENS, YYNNTS, YYNRULES,
|
||||
and YYNSTATES.
|
||||
|
||||
.skip
|
||||
.indent -1
|
||||
2 /VERBOSE
|
||||
.skip
|
||||
Write an extra output file containing verbose descriptions of the
|
||||
parser states and what is done for each type of look-ahead token in
|
||||
that state.
|
||||
.skip
|
||||
This file also describes all the conflicts, both those resolved by
|
||||
operator precedence and the unresolved ones.
|
||||
.skip
|
||||
The file's name is made by removing _tab.c or .c from
|
||||
the parser output file name, and adding .output instead.
|
||||
.skip
|
||||
Therefore, if the input file is foo.y, then the parser file is
|
||||
called foo_tab.c by default. As a consequence, the verbose
|
||||
output file is called foo.output.
|
||||
.skip
|
||||
.indent -1
|
||||
2 /VERSION
|
||||
.skip
|
||||
Print the version number of Bison.
|
||||
|
||||
.skip
|
||||
.indent -1
|
||||
2 /YACC
|
||||
.skip
|
||||
See /FIXED_OUTFILES.
|
||||
.skip
|
||||
.indent -1
|
||||
|
||||
|
||||
|
||||
+969
-587
File diff suppressed because it is too large
Load Diff
+138
-87
@@ -1,11 +1,12 @@
|
||||
|
||||
@node GNU Free Documentation License
|
||||
@appendixsec GNU Free Documentation License
|
||||
|
||||
@cindex FDL, GNU Free Documentation License
|
||||
@center Version 1.1, March 2000
|
||||
@center Version 1.2, November 2002
|
||||
|
||||
@display
|
||||
Copyright @copyright{} 2000 Free Software Foundation, Inc.
|
||||
Copyright @copyright{} 2000,2001,2002 Free Software Foundation, Inc.
|
||||
59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
@@ -17,12 +18,12 @@ of this license document, but changing it is not allowed.
|
||||
PREAMBLE
|
||||
|
||||
The purpose of this License is to make a manual, textbook, or other
|
||||
written document @dfn{free} in the sense of freedom: to assure everyone
|
||||
the effective freedom to copy and redistribute it, with or without
|
||||
modifying it, either commercially or noncommercially. Secondarily,
|
||||
this License preserves for the author and publisher a way to get
|
||||
credit for their work, while not being considered responsible for
|
||||
modifications made by others.
|
||||
functional and useful document @dfn{free} in the sense of freedom: to
|
||||
assure everyone the effective freedom to copy and redistribute it,
|
||||
with or without modifying it, either commercially or noncommercially.
|
||||
Secondarily, this License preserves for the author and publisher a way
|
||||
to get credit for their work, while not being considered responsible
|
||||
for modifications made by others.
|
||||
|
||||
This License is a kind of ``copyleft'', which means that derivative
|
||||
works of the document must themselves be free in the same sense. It
|
||||
@@ -40,57 +41,69 @@ principally for works whose purpose is instruction or reference.
|
||||
@item
|
||||
APPLICABILITY AND DEFINITIONS
|
||||
|
||||
This License applies to any manual or other work that contains a
|
||||
notice placed by the copyright holder saying it can be distributed
|
||||
under the terms of this License. The ``Document'', below, refers to any
|
||||
such manual or work. Any member of the public is a licensee, and is
|
||||
addressed as ``you''.
|
||||
This License applies to any manual or other work, in any medium, that
|
||||
contains a notice placed by the copyright holder saying it can be
|
||||
distributed under the terms of this License. Such a notice grants a
|
||||
world-wide, royalty-free license, unlimited in duration, to use that
|
||||
work under the conditions stated herein. The ``Document'', below,
|
||||
refers to any such manual or work. Any member of the public is a
|
||||
licensee, and is addressed as ``you''. You accept the license if you
|
||||
copy, modify or distribute the work in a way requiring permission
|
||||
under copyright law.
|
||||
|
||||
A ``Modified Version'' of the Document means any work containing the
|
||||
Document or a portion of it, either copied verbatim, or with
|
||||
modifications and/or translated into another language.
|
||||
|
||||
A ``Secondary Section'' is a named appendix or a front-matter section of
|
||||
the Document that deals exclusively with the relationship of the
|
||||
publishers or authors of the Document to the Document's overall subject
|
||||
(or to related matters) and contains nothing that could fall directly
|
||||
within that overall subject. (For example, if the Document is in part a
|
||||
textbook of mathematics, a Secondary Section may not explain any
|
||||
mathematics.) The relationship could be a matter of historical
|
||||
A ``Secondary Section'' is a named appendix or a front-matter section
|
||||
of the Document that deals exclusively with the relationship of the
|
||||
publishers or authors of the Document to the Document's overall
|
||||
subject (or to related matters) and contains nothing that could fall
|
||||
directly within that overall subject. (Thus, if the Document is in
|
||||
part a textbook of mathematics, a Secondary Section may not explain
|
||||
any mathematics.) The relationship could be a matter of historical
|
||||
connection with the subject or with related matters, or of legal,
|
||||
commercial, philosophical, ethical or political position regarding
|
||||
them.
|
||||
|
||||
The ``Invariant Sections'' are certain Secondary Sections whose titles
|
||||
are designated, as being those of Invariant Sections, in the notice
|
||||
that says that the Document is released under this License.
|
||||
that says that the Document is released under this License. If a
|
||||
section does not fit the above definition of Secondary then it is not
|
||||
allowed to be designated as Invariant. The Document may contain zero
|
||||
Invariant Sections. If the Document does not identify any Invariant
|
||||
Sections then there are none.
|
||||
|
||||
The ``Cover Texts'' are certain short passages of text that are listed,
|
||||
as Front-Cover Texts or Back-Cover Texts, in the notice that says that
|
||||
the Document is released under this License.
|
||||
the Document is released under this License. A Front-Cover Text may
|
||||
be at most 5 words, and a Back-Cover Text may be at most 25 words.
|
||||
|
||||
A ``Transparent'' copy of the Document means a machine-readable copy,
|
||||
represented in a format whose specification is available to the
|
||||
general public, whose contents can be viewed and edited directly and
|
||||
general public, that is suitable for revising the document
|
||||
straightforwardly with generic text editors or (for images composed of
|
||||
pixels) generic paint programs or (for drawings) some widely available
|
||||
drawing editor, and that is suitable for input to text formatters or
|
||||
for automatic translation to a variety of formats suitable for input
|
||||
to text formatters. A copy made in an otherwise Transparent file
|
||||
format whose markup has been designed to thwart or discourage
|
||||
subsequent modification by readers is not Transparent. A copy that is
|
||||
not ``Transparent'' is called ``Opaque''.
|
||||
format whose markup, or absence of markup, has been arranged to thwart
|
||||
or discourage subsequent modification by readers is not Transparent.
|
||||
An image format is not Transparent if used for any substantial amount
|
||||
of text. A copy that is not ``Transparent'' is called ``Opaque''.
|
||||
|
||||
Examples of suitable formats for Transparent copies include plain
|
||||
@sc{ascii} without markup, Texinfo input format, La@TeX{} input format,
|
||||
@acronym{SGML} or @acronym{XML} using a publicly available
|
||||
@acronym{DTD}, and standard-conforming simple @acronym{HTML} designed
|
||||
for human modification. Opaque formats include PostScript,
|
||||
@acronym{PDF}, proprietary formats that can be read and edited only by
|
||||
proprietary word processors, @acronym{SGML} or @acronym{XML} for which
|
||||
the @acronym{DTD} and/or processing tools are not generally available,
|
||||
and the machine-generated @acronym{HTML} produced by some word
|
||||
processors for output purposes only.
|
||||
@sc{ascii} without markup, Texinfo input format, La@TeX{} input
|
||||
format, @acronym{SGML} or @acronym{XML} using a publicly available
|
||||
@acronym{DTD}, and standard-conforming simple @acronym{HTML},
|
||||
PostScript or @acronym{PDF} designed for human modification. Examples
|
||||
of transparent image formats include @acronym{PNG}, @acronym{XCF} and
|
||||
@acronym{JPG}. Opaque formats include proprietary formats that can be
|
||||
read and edited only by proprietary word processors, @acronym{SGML} or
|
||||
@acronym{XML} for which the @acronym{DTD} and/or processing tools are
|
||||
not generally available, and the machine-generated @acronym{HTML},
|
||||
PostScript or @acronym{PDF} produced by some word processors for
|
||||
output purposes only.
|
||||
|
||||
The ``Title Page'' means, for a printed book, the title page itself,
|
||||
plus such following pages as are needed to hold, legibly, the material
|
||||
@@ -99,6 +112,21 @@ formats which do not have any title page as such, ``Title Page'' means
|
||||
the text near the most prominent appearance of the work's title,
|
||||
preceding the beginning of the body of the text.
|
||||
|
||||
A section ``Entitled XYZ'' means a named subunit of the Document whose
|
||||
title either is precisely XYZ or contains XYZ in parentheses following
|
||||
text that translates XYZ in another language. (Here XYZ stands for a
|
||||
specific section name mentioned below, such as ``Acknowledgements'',
|
||||
``Dedications'', ``Endorsements'', or ``History''.) To ``Preserve the Title''
|
||||
of such a section when you modify the Document means that it remains a
|
||||
section ``Entitled XYZ'' according to this definition.
|
||||
|
||||
The Document may include Warranty Disclaimers next to the notice which
|
||||
states that this License applies to the Document. These Warranty
|
||||
Disclaimers are considered to be included by reference in this
|
||||
License, but only as regards disclaiming warranties: any other
|
||||
implication that these Warranty Disclaimers may have is void and has
|
||||
no effect on the meaning of this License.
|
||||
|
||||
@item
|
||||
VERBATIM COPYING
|
||||
|
||||
@@ -118,9 +146,10 @@ you may publicly display copies.
|
||||
@item
|
||||
COPYING IN QUANTITY
|
||||
|
||||
If you publish printed copies of the Document numbering more than 100,
|
||||
and the Document's license notice requires Cover Texts, you must enclose
|
||||
the copies in covers that carry, clearly and legibly, all these Cover
|
||||
If you publish printed copies (or copies in media that commonly have
|
||||
printed covers) of the Document, numbering more than 100, and the
|
||||
Document's license notice requires Cover Texts, you must enclose the
|
||||
copies in covers that carry, clearly and legibly, all these Cover
|
||||
Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
|
||||
the back cover. Both covers must also clearly and legibly identify
|
||||
you as the publisher of these copies. The front cover must present
|
||||
@@ -138,16 +167,15 @@ pages.
|
||||
If you publish or distribute Opaque copies of the Document numbering
|
||||
more than 100, you must either include a machine-readable Transparent
|
||||
copy along with each Opaque copy, or state in or with each Opaque copy
|
||||
a publicly-accessible computer-network location containing a complete
|
||||
Transparent copy of the Document, free of added material, which the
|
||||
general network-using public has access to download anonymously at no
|
||||
charge using public-standard network protocols. If you use the latter
|
||||
option, you must take reasonably prudent steps, when you begin
|
||||
distribution of Opaque copies in quantity, to ensure that this
|
||||
Transparent copy will remain thus accessible at the stated location
|
||||
until at least one year after the last time you distribute an Opaque
|
||||
copy (directly or through your agents or retailers) of that edition to
|
||||
the public.
|
||||
a computer-network location from which the general network-using
|
||||
public has access to download using public-standard network protocols
|
||||
a complete Transparent copy of the Document, free of added material.
|
||||
If you use the latter option, you must take reasonably prudent steps,
|
||||
when you begin distribution of Opaque copies in quantity, to ensure
|
||||
that this Transparent copy will remain thus accessible at the stated
|
||||
location until at least one year after the last time you distribute an
|
||||
Opaque copy (directly or through your agents or retailers) of that
|
||||
edition to the public.
|
||||
|
||||
It is requested, but not required, that you contact the authors of the
|
||||
Document well before redistributing any large number of copies, to give
|
||||
@@ -175,7 +203,8 @@ if the original publisher of that version gives permission.
|
||||
List on the Title Page, as authors, one or more persons or entities
|
||||
responsible for authorship of the modifications in the Modified
|
||||
Version, together with at least five of the principal authors of the
|
||||
Document (all of its principal authors, if it has less than five).
|
||||
Document (all of its principal authors, if it has fewer than five),
|
||||
unless they release you from this requirement.
|
||||
|
||||
@item
|
||||
State on the Title page the name of the publisher of the
|
||||
@@ -201,10 +230,10 @@ and required Cover Texts given in the Document's license notice.
|
||||
Include an unaltered copy of this License.
|
||||
|
||||
@item
|
||||
Preserve the section entitled ``History'', and its title, and add to
|
||||
it an item stating at least the title, year, new authors, and
|
||||
Preserve the section Entitled ``History'', Preserve its Title, and add
|
||||
to it an item stating at least the title, year, new authors, and
|
||||
publisher of the Modified Version as given on the Title Page. If
|
||||
there is no section entitled ``History'' in the Document, create one
|
||||
there is no section Entitled ``History'' in the Document, create one
|
||||
stating the title, year, authors, and publisher of the Document as
|
||||
given on its Title Page, then add an item describing the Modified
|
||||
Version as stated in the previous sentence.
|
||||
@@ -219,10 +248,10 @@ least four years before the Document itself, or if the original
|
||||
publisher of the version it refers to gives permission.
|
||||
|
||||
@item
|
||||
In any section entitled ``Acknowledgments'' or ``Dedications'',
|
||||
preserve the section's title, and preserve in the section all the
|
||||
substance and tone of each of the contributor acknowledgments
|
||||
and/or dedications given therein.
|
||||
For any section Entitled ``Acknowledgements'' or ``Dedications'', Preserve
|
||||
the Title of the section, and preserve in the section all the
|
||||
substance and tone of each of the contributor acknowledgements and/or
|
||||
dedications given therein.
|
||||
|
||||
@item
|
||||
Preserve all the Invariant Sections of the Document,
|
||||
@@ -230,12 +259,15 @@ unaltered in their text and in their titles. Section numbers
|
||||
or the equivalent are not considered part of the section titles.
|
||||
|
||||
@item
|
||||
Delete any section entitled ``Endorsements''. Such a section
|
||||
Delete any section Entitled ``Endorsements''. Such a section
|
||||
may not be included in the Modified Version.
|
||||
|
||||
@item
|
||||
Do not retitle any existing section as ``Endorsements''
|
||||
or to conflict in title with any Invariant Section.
|
||||
Do not retitle any existing section to be Entitled ``Endorsements'' or
|
||||
to conflict in title with any Invariant Section.
|
||||
|
||||
@item
|
||||
Preserve any Warranty Disclaimers.
|
||||
@end enumerate
|
||||
|
||||
If the Modified Version includes new front-matter sections or
|
||||
@@ -245,7 +277,7 @@ of these sections as invariant. To do this, add their titles to the
|
||||
list of Invariant Sections in the Modified Version's license notice.
|
||||
These titles must be distinct from any other section titles.
|
||||
|
||||
You may add a section entitled ``Endorsements'', provided it contains
|
||||
You may add a section Entitled ``Endorsements'', provided it contains
|
||||
nothing but endorsements of your Modified Version by various
|
||||
parties---for example, statements of peer review or that the text has
|
||||
been approved by an organization as the authoritative definition of a
|
||||
@@ -273,7 +305,7 @@ License, under the terms defined in section 4 above for modified
|
||||
versions, provided that you include in the combination all of the
|
||||
Invariant Sections of all of the original documents, unmodified, and
|
||||
list them all as Invariant Sections of your combined work in its
|
||||
license notice.
|
||||
license notice, and that you preserve all their Warranty Disclaimers.
|
||||
|
||||
The combined work need only contain one copy of this License, and
|
||||
multiple identical Invariant Sections may be replaced with a single
|
||||
@@ -284,11 +316,11 @@ author or publisher of that section if known, or else a unique number.
|
||||
Make the same adjustment to the section titles in the list of
|
||||
Invariant Sections in the license notice of the combined work.
|
||||
|
||||
In the combination, you must combine any sections entitled ``History''
|
||||
in the various original documents, forming one section entitled
|
||||
``History''; likewise combine any sections entitled ``Acknowledgments'',
|
||||
and any sections entitled ``Dedications''. You must delete all sections
|
||||
entitled ``Endorsements.''
|
||||
In the combination, you must combine any sections Entitled ``History''
|
||||
in the various original documents, forming one section Entitled
|
||||
``History''; likewise combine any sections Entitled ``Acknowledgements'',
|
||||
and any sections Entitled ``Dedications''. You must delete all
|
||||
sections Entitled ``Endorsements.''
|
||||
|
||||
@item
|
||||
COLLECTIONS OF DOCUMENTS
|
||||
@@ -309,18 +341,20 @@ AGGREGATION WITH INDEPENDENT WORKS
|
||||
|
||||
A compilation of the Document or its derivatives with other separate
|
||||
and independent documents or works, in or on a volume of a storage or
|
||||
distribution medium, does not as a whole count as a Modified Version
|
||||
of the Document, provided no compilation copyright is claimed for the
|
||||
compilation. Such a compilation is called an ``aggregate'', and this
|
||||
License does not apply to the other self-contained works thus compiled
|
||||
with the Document, on account of their being thus compiled, if they
|
||||
are not themselves derivative works of the Document.
|
||||
distribution medium, is called an ``aggregate'' if the copyright
|
||||
resulting from the compilation is not used to limit the legal rights
|
||||
of the compilation's users beyond what the individual works permit.
|
||||
When the Document is included an aggregate, this License does not
|
||||
apply to the other works in the aggregate which are not themselves
|
||||
derivative works of the Document.
|
||||
|
||||
If the Cover Text requirement of section 3 is applicable to these
|
||||
copies of the Document, then if the Document is less than one quarter
|
||||
of the entire aggregate, the Document's Cover Texts may be placed on
|
||||
covers that surround only the Document within the aggregate.
|
||||
Otherwise they must appear on covers around the whole aggregate.
|
||||
copies of the Document, then if the Document is less than one half of
|
||||
the entire aggregate, the Document's Cover Texts may be placed on
|
||||
covers that bracket the Document within the aggregate, or the
|
||||
electronic equivalent of covers if the Document is in electronic form.
|
||||
Otherwise they must appear on printed covers that bracket the whole
|
||||
aggregate.
|
||||
|
||||
@item
|
||||
TRANSLATION
|
||||
@@ -331,10 +365,17 @@ Replacing Invariant Sections with translations requires special
|
||||
permission from their copyright holders, but you may include
|
||||
translations of some or all Invariant Sections in addition to the
|
||||
original versions of these Invariant Sections. You may include a
|
||||
translation of this License provided that you also include the
|
||||
original English version of this License. In case of a disagreement
|
||||
between the translation and the original English version of this
|
||||
License, the original English version will prevail.
|
||||
translation of this License, and all the license notices in the
|
||||
Document, and any Warrany Disclaimers, provided that you also include
|
||||
the original English version of this License and the original versions
|
||||
of those notices and disclaimers. In case of a disagreement between
|
||||
the translation and the original version of this License or a notice
|
||||
or disclaimer, the original version will prevail.
|
||||
|
||||
If a section in the Document is Entitled ``Acknowledgements'',
|
||||
``Dedications'', or ``History'', the requirement (section 4) to Preserve
|
||||
its Title (section 1) will typically require changing the actual
|
||||
title.
|
||||
|
||||
@item
|
||||
TERMINATION
|
||||
@@ -377,19 +418,28 @@ license notices just after the title page:
|
||||
@group
|
||||
Copyright (C) @var{year} @var{your name}.
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.1
|
||||
under the terms of the GNU Free Documentation License, Version 1.2
|
||||
or any later version published by the Free Software Foundation;
|
||||
with the Invariant Sections being @var{list their titles}, with the
|
||||
Front-Cover Texts being @var{list}, and with the Back-Cover Texts being @var{list}.
|
||||
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
|
||||
A copy of the license is included in the section entitled ``GNU
|
||||
Free Documentation License''.
|
||||
@end group
|
||||
@end smallexample
|
||||
|
||||
If you have no Invariant Sections, write ``with no Invariant Sections''
|
||||
instead of saying which ones are invariant. If you have no
|
||||
Front-Cover Texts, write ``no Front-Cover Texts'' instead of
|
||||
``Front-Cover Texts being @var{list}''; likewise for Back-Cover Texts.
|
||||
If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
|
||||
replace the ``with...Texts.'' line with this:
|
||||
|
||||
@smallexample
|
||||
@group
|
||||
with the Invariant Sections being @var{list their titles}, with
|
||||
the Front-Cover Texts being @var{list}, and with the Back-Cover Texts
|
||||
being @var{list}.
|
||||
@end group
|
||||
@end smallexample
|
||||
|
||||
If you have Invariant Sections without Cover Texts, or some other
|
||||
combination of the three, merge those two alternatives to suit the
|
||||
situation.
|
||||
|
||||
If your document contains nontrivial examples of program code, we
|
||||
recommend releasing these examples in parallel under your choice of
|
||||
@@ -399,3 +449,4 @@ to permit their use in free software.
|
||||
@c Local Variables:
|
||||
@c ispell-local-pdict: "ispell-dict"
|
||||
@c End:
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
*_.c
|
||||
.deps
|
||||
Makefile
|
||||
ansi2knr ansi2knr.*
|
||||
Makefile.in
|
||||
|
||||
+6
-3
@@ -15,10 +15,9 @@
|
||||
## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
## 02111-1307 USA
|
||||
|
||||
AUTOMAKE_OPTIONS = ansi2knr
|
||||
|
||||
AM_CFLAGS = $(WARNING_CFLAGS)
|
||||
|
||||
lib_LIBRARIES = liby.a
|
||||
noinst_LIBRARIES = libbison.a
|
||||
|
||||
# config.h is in build/., and system.h is in src/src/.
|
||||
@@ -26,6 +25,8 @@ INCLUDES = -I$(top_builddir) \
|
||||
-I$(top_srcdir)/src \
|
||||
-I$(top_srcdir)/lib
|
||||
|
||||
liby_a_SOURCES = main.c yyerror.c
|
||||
|
||||
# Heck, we are still using an old version of Automake which does not
|
||||
# understand inner AC_LIBOBJ (i.e., from Autoconf itself, not from
|
||||
# configure.in).
|
||||
@@ -34,10 +35,12 @@ EXTRA_DIST = malloc.c realloc.c strnlen.c
|
||||
libbison_a_SOURCES = \
|
||||
gettext.h \
|
||||
basename.c dirname.h dirname.c \
|
||||
get-errno.h get-errno.c \
|
||||
getopt.h getopt.c getopt1.c \
|
||||
hash.h hash.c \
|
||||
mbswidth.h mbswidth.c \
|
||||
quote.h quote.c quotearg.h quotearg.c \
|
||||
readpipe.c unlocked-io.h \
|
||||
subpipe.h subpipe.c unlocked-io.h \
|
||||
xalloc.h xmalloc.c xstrdup.c xstrndup.c \
|
||||
$(bitsets_sources) $(additional_bitsets_sources) $(timevars_sources)
|
||||
|
||||
|
||||
+55
-174
@@ -14,7 +14,7 @@
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
@@ -29,44 +29,6 @@
|
||||
/* This file implements fixed size bitsets stored as an array
|
||||
of words. Any unused bits in the last word must be zero. */
|
||||
|
||||
static void abitset_unused_clear PARAMS ((bitset));
|
||||
static void abitset_ones PARAMS ((bitset));
|
||||
static void abitset_zero PARAMS ((bitset));
|
||||
static int abitset_empty_p PARAMS ((bitset));
|
||||
static void abitset_copy1 PARAMS ((bitset, bitset));
|
||||
static void abitset_not PARAMS ((bitset, bitset));
|
||||
static int abitset_equal_p PARAMS ((bitset, bitset));
|
||||
static int abitset_subset_p PARAMS ((bitset, bitset));
|
||||
static int abitset_disjoint_p PARAMS ((bitset, bitset));
|
||||
static void abitset_and PARAMS ((bitset, bitset, bitset));
|
||||
static int abitset_and_cmp PARAMS ((bitset, bitset, bitset));
|
||||
static void abitset_andn PARAMS ((bitset, bitset, bitset));
|
||||
static int abitset_andn_cmp PARAMS ((bitset, bitset, bitset));
|
||||
static void abitset_or PARAMS ((bitset, bitset, bitset));
|
||||
static int abitset_or_cmp PARAMS ((bitset, bitset, bitset));
|
||||
static void abitset_xor PARAMS ((bitset, bitset, bitset));
|
||||
static int abitset_xor_cmp PARAMS ((bitset, bitset, bitset));
|
||||
static void abitset_and_or PARAMS ((bitset, bitset, bitset, bitset));
|
||||
static int abitset_and_or_cmp PARAMS ((bitset, bitset, bitset, bitset));
|
||||
static void abitset_andn_or PARAMS ((bitset, bitset, bitset, bitset));
|
||||
static int abitset_andn_or_cmp PARAMS ((bitset, bitset, bitset, bitset));
|
||||
static void abitset_or_and PARAMS ((bitset, bitset, bitset, bitset));
|
||||
static int abitset_or_and_cmp PARAMS ((bitset, bitset, bitset, bitset));
|
||||
static void abitset_copy PARAMS ((bitset, bitset));
|
||||
|
||||
static bitset_bindex abitset_small_list PARAMS ((bitset, bitset_bindex *,
|
||||
bitset_bindex,
|
||||
bitset_bindex *));
|
||||
|
||||
static void abitset_set PARAMS ((bitset, bitset_bindex));
|
||||
static void abitset_reset PARAMS ((bitset, bitset_bindex));
|
||||
static int abitset_test PARAMS ((bitset, bitset_bindex));
|
||||
static bitset_bindex abitset_size PARAMS ((bitset));
|
||||
static bitset_bindex abitset_list PARAMS ((bitset, bitset_bindex *,
|
||||
bitset_bindex, bitset_bindex *));
|
||||
static bitset_bindex abitset_list_reverse
|
||||
PARAMS ((bitset, bitset_bindex *, bitset_bindex, bitset_bindex *));
|
||||
|
||||
#define ABITSET_N_WORDS(N) (((N) + BITSET_WORD_BITS - 1) / BITSET_WORD_BITS)
|
||||
#define ABITSET_WORDS(X) ((X)->a.words)
|
||||
#define ABITSET_N_BITS(X) ((X)->a.n_bits)
|
||||
@@ -74,8 +36,7 @@ PARAMS ((bitset, bitset_bindex *, bitset_bindex, bitset_bindex *));
|
||||
|
||||
/* Return size in bits of bitset SRC. */
|
||||
static bitset_bindex
|
||||
abitset_size (src)
|
||||
bitset src;
|
||||
abitset_size (bitset src)
|
||||
{
|
||||
return ABITSET_N_BITS (src);
|
||||
}
|
||||
@@ -85,11 +46,8 @@ abitset_size (src)
|
||||
*NEXT and store in array LIST. Return with actual number of bits
|
||||
found and with *NEXT indicating where search stopped. */
|
||||
static bitset_bindex
|
||||
abitset_small_list (src, list, num, next)
|
||||
bitset src;
|
||||
bitset_bindex *list;
|
||||
bitset_bindex num;
|
||||
bitset_bindex *next;
|
||||
abitset_small_list (bitset src, bitset_bindex *list,
|
||||
bitset_bindex num, bitset_bindex *next)
|
||||
{
|
||||
bitset_bindex bitno;
|
||||
bitset_bindex count;
|
||||
@@ -145,9 +103,7 @@ abitset_small_list (src, list, num, next)
|
||||
|
||||
/* Set bit BITNO in bitset DST. */
|
||||
static void
|
||||
abitset_set (dst, bitno)
|
||||
bitset dst ATTRIBUTE_UNUSED;
|
||||
bitset_bindex bitno ATTRIBUTE_UNUSED;
|
||||
abitset_set (bitset dst ATTRIBUTE_UNUSED, bitset_bindex bitno ATTRIBUTE_UNUSED)
|
||||
{
|
||||
/* This should never occur for abitsets since we should always
|
||||
hit the cache. */
|
||||
@@ -157,9 +113,8 @@ abitset_set (dst, bitno)
|
||||
|
||||
/* Reset bit BITNO in bitset DST. */
|
||||
static void
|
||||
abitset_reset (dst, bitno)
|
||||
bitset dst ATTRIBUTE_UNUSED;
|
||||
bitset_bindex bitno ATTRIBUTE_UNUSED;
|
||||
abitset_reset (bitset dst ATTRIBUTE_UNUSED,
|
||||
bitset_bindex bitno ATTRIBUTE_UNUSED)
|
||||
{
|
||||
/* This should never occur for abitsets since we should always
|
||||
hit the cache. */
|
||||
@@ -169,9 +124,8 @@ abitset_reset (dst, bitno)
|
||||
|
||||
/* Test bit BITNO in bitset SRC. */
|
||||
static int
|
||||
abitset_test (src, bitno)
|
||||
bitset src ATTRIBUTE_UNUSED;
|
||||
bitset_bindex bitno ATTRIBUTE_UNUSED;
|
||||
abitset_test (bitset src ATTRIBUTE_UNUSED,
|
||||
bitset_bindex bitno ATTRIBUTE_UNUSED)
|
||||
{
|
||||
/* This should never occur for abitsets since we should always
|
||||
hit the cache. */
|
||||
@@ -185,11 +139,8 @@ abitset_test (src, bitno)
|
||||
actual number of bits found and with *NEXT indicating where search
|
||||
stopped. */
|
||||
static bitset_bindex
|
||||
abitset_list_reverse (src, list, num, next)
|
||||
bitset src;
|
||||
bitset_bindex *list;
|
||||
bitset_bindex num;
|
||||
bitset_bindex *next;
|
||||
abitset_list_reverse (bitset src, bitset_bindex *list,
|
||||
bitset_bindex num, bitset_bindex *next)
|
||||
{
|
||||
bitset_bindex bitno;
|
||||
bitset_bindex rbitno;
|
||||
@@ -248,11 +199,8 @@ abitset_list_reverse (src, list, num, next)
|
||||
*NEXT and store in array LIST. Return with actual number of bits
|
||||
found and with *NEXT indicating where search stopped. */
|
||||
static bitset_bindex
|
||||
abitset_list (src, list, num, next)
|
||||
bitset src;
|
||||
bitset_bindex *list;
|
||||
bitset_bindex num;
|
||||
bitset_bindex *next;
|
||||
abitset_list (bitset src, bitset_bindex *list,
|
||||
bitset_bindex num, bitset_bindex *next)
|
||||
{
|
||||
bitset_bindex bitno;
|
||||
bitset_bindex count;
|
||||
@@ -352,8 +300,7 @@ abitset_list (src, list, num, next)
|
||||
|
||||
/* Ensure that any unused bits within the last word are clear. */
|
||||
static inline void
|
||||
abitset_unused_clear (dst)
|
||||
bitset dst;
|
||||
abitset_unused_clear (bitset dst)
|
||||
{
|
||||
unsigned int last_bit;
|
||||
|
||||
@@ -365,8 +312,7 @@ abitset_unused_clear (dst)
|
||||
|
||||
|
||||
static void
|
||||
abitset_ones (dst)
|
||||
bitset dst;
|
||||
abitset_ones (bitset dst)
|
||||
{
|
||||
bitset_word *dstp = ABITSET_WORDS (dst);
|
||||
size_t bytes;
|
||||
@@ -379,8 +325,7 @@ abitset_ones (dst)
|
||||
|
||||
|
||||
static void
|
||||
abitset_zero (dst)
|
||||
bitset dst;
|
||||
abitset_zero (bitset dst)
|
||||
{
|
||||
bitset_word *dstp = ABITSET_WORDS (dst);
|
||||
size_t bytes;
|
||||
@@ -392,8 +337,7 @@ abitset_zero (dst)
|
||||
|
||||
|
||||
static int
|
||||
abitset_empty_p (dst)
|
||||
bitset dst;
|
||||
abitset_empty_p (bitset dst)
|
||||
{
|
||||
bitset_windex i;
|
||||
bitset_word *dstp = ABITSET_WORDS (dst);
|
||||
@@ -407,9 +351,7 @@ abitset_empty_p (dst)
|
||||
|
||||
|
||||
static void
|
||||
abitset_copy1 (dst, src)
|
||||
bitset dst;
|
||||
bitset src;
|
||||
abitset_copy1 (bitset dst, bitset src)
|
||||
{
|
||||
bitset_word *srcp = ABITSET_WORDS (src);
|
||||
bitset_word *dstp = ABITSET_WORDS (dst);
|
||||
@@ -422,9 +364,7 @@ abitset_copy1 (dst, src)
|
||||
|
||||
|
||||
static void
|
||||
abitset_not (dst, src)
|
||||
bitset dst;
|
||||
bitset src;
|
||||
abitset_not (bitset dst, bitset src)
|
||||
{
|
||||
bitset_windex i;
|
||||
bitset_word *srcp = ABITSET_WORDS (src);
|
||||
@@ -436,11 +376,9 @@ abitset_not (dst, src)
|
||||
abitset_unused_clear (dst);
|
||||
}
|
||||
|
||||
|
||||
|
||||
static int
|
||||
abitset_equal_p (dst, src)
|
||||
bitset dst;
|
||||
bitset src;
|
||||
abitset_equal_p (bitset dst, bitset src)
|
||||
{
|
||||
bitset_windex i;
|
||||
bitset_word *srcp = ABITSET_WORDS (src);
|
||||
@@ -455,15 +393,13 @@ abitset_equal_p (dst, src)
|
||||
|
||||
|
||||
static int
|
||||
abitset_subset_p (dst, src)
|
||||
bitset dst;
|
||||
bitset src;
|
||||
abitset_subset_p (bitset dst, bitset src)
|
||||
{
|
||||
bitset_windex i;
|
||||
bitset_word *srcp = ABITSET_WORDS (src);
|
||||
bitset_word *dstp = ABITSET_WORDS (dst);
|
||||
bitset_windex size = dst->b.csize;
|
||||
|
||||
|
||||
for (i = 0; i < size; i++, dstp++, srcp++)
|
||||
if (*dstp != (*srcp | *dstp))
|
||||
return 0;
|
||||
@@ -472,9 +408,7 @@ abitset_subset_p (dst, src)
|
||||
|
||||
|
||||
static int
|
||||
abitset_disjoint_p (dst, src)
|
||||
bitset dst;
|
||||
bitset src;
|
||||
abitset_disjoint_p (bitset dst, bitset src)
|
||||
{
|
||||
bitset_windex i;
|
||||
bitset_word *srcp = ABITSET_WORDS (src);
|
||||
@@ -490,10 +424,7 @@ abitset_disjoint_p (dst, src)
|
||||
|
||||
|
||||
static void
|
||||
abitset_and (dst, src1, src2)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
abitset_and (bitset dst, bitset src1, bitset src2)
|
||||
{
|
||||
bitset_windex i;
|
||||
bitset_word *src1p = ABITSET_WORDS (src1);
|
||||
@@ -507,10 +438,7 @@ abitset_and (dst, src1, src2)
|
||||
|
||||
|
||||
static int
|
||||
abitset_and_cmp (dst, src1, src2)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
abitset_and_cmp (bitset dst, bitset src1, bitset src2)
|
||||
{
|
||||
bitset_windex i;
|
||||
int changed = 0;
|
||||
@@ -522,7 +450,7 @@ abitset_and_cmp (dst, src1, src2)
|
||||
for (i = 0; i < size; i++, dstp++)
|
||||
{
|
||||
bitset_word tmp = *src1p++ & *src2p++;
|
||||
|
||||
|
||||
if (*dstp != tmp)
|
||||
{
|
||||
changed = 1;
|
||||
@@ -534,10 +462,7 @@ abitset_and_cmp (dst, src1, src2)
|
||||
|
||||
|
||||
static void
|
||||
abitset_andn (dst, src1, src2)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
abitset_andn (bitset dst, bitset src1, bitset src2)
|
||||
{
|
||||
bitset_windex i;
|
||||
bitset_word *src1p = ABITSET_WORDS (src1);
|
||||
@@ -551,10 +476,7 @@ abitset_andn (dst, src1, src2)
|
||||
|
||||
|
||||
static int
|
||||
abitset_andn_cmp (dst, src1, src2)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
abitset_andn_cmp (bitset dst, bitset src1, bitset src2)
|
||||
{
|
||||
bitset_windex i;
|
||||
int changed = 0;
|
||||
@@ -562,11 +484,11 @@ abitset_andn_cmp (dst, src1, src2)
|
||||
bitset_word *src2p = ABITSET_WORDS (src2);
|
||||
bitset_word *dstp = ABITSET_WORDS (dst);
|
||||
bitset_windex size = dst->b.csize;
|
||||
|
||||
|
||||
for (i = 0; i < size; i++, dstp++)
|
||||
{
|
||||
bitset_word tmp = *src1p++ & ~(*src2p++);
|
||||
|
||||
|
||||
if (*dstp != tmp)
|
||||
{
|
||||
changed = 1;
|
||||
@@ -578,10 +500,7 @@ abitset_andn_cmp (dst, src1, src2)
|
||||
|
||||
|
||||
static void
|
||||
abitset_or (dst, src1, src2)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
abitset_or (bitset dst, bitset src1, bitset src2)
|
||||
{
|
||||
bitset_windex i;
|
||||
bitset_word *src1p = ABITSET_WORDS (src1);
|
||||
@@ -595,10 +514,7 @@ abitset_or (dst, src1, src2)
|
||||
|
||||
|
||||
static int
|
||||
abitset_or_cmp (dst, src1, src2)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
abitset_or_cmp (bitset dst, bitset src1, bitset src2)
|
||||
{
|
||||
bitset_windex i;
|
||||
int changed = 0;
|
||||
@@ -610,7 +526,7 @@ abitset_or_cmp (dst, src1, src2)
|
||||
for (i = 0; i < size; i++, dstp++)
|
||||
{
|
||||
bitset_word tmp = *src1p++ | *src2p++;
|
||||
|
||||
|
||||
if (*dstp != tmp)
|
||||
{
|
||||
changed = 1;
|
||||
@@ -622,10 +538,7 @@ abitset_or_cmp (dst, src1, src2)
|
||||
|
||||
|
||||
static void
|
||||
abitset_xor (dst, src1, src2)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
abitset_xor (bitset dst, bitset src1, bitset src2)
|
||||
{
|
||||
bitset_windex i;
|
||||
bitset_word *src1p = ABITSET_WORDS (src1);
|
||||
@@ -639,10 +552,7 @@ abitset_xor (dst, src1, src2)
|
||||
|
||||
|
||||
static int
|
||||
abitset_xor_cmp (dst, src1, src2)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
abitset_xor_cmp (bitset dst, bitset src1, bitset src2)
|
||||
{
|
||||
bitset_windex i;
|
||||
int changed = 0;
|
||||
@@ -654,7 +564,7 @@ abitset_xor_cmp (dst, src1, src2)
|
||||
for (i = 0; i < size; i++, dstp++)
|
||||
{
|
||||
bitset_word tmp = *src1p++ ^ *src2p++;
|
||||
|
||||
|
||||
if (*dstp != tmp)
|
||||
{
|
||||
changed = 1;
|
||||
@@ -666,11 +576,7 @@ abitset_xor_cmp (dst, src1, src2)
|
||||
|
||||
|
||||
static void
|
||||
abitset_and_or (dst, src1, src2, src3)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
bitset src3;
|
||||
abitset_and_or (bitset dst, bitset src1, bitset src2, bitset src3)
|
||||
{
|
||||
bitset_windex i;
|
||||
bitset_word *src1p = ABITSET_WORDS (src1);
|
||||
@@ -678,18 +584,14 @@ abitset_and_or (dst, src1, src2, src3)
|
||||
bitset_word *src3p = ABITSET_WORDS (src3);
|
||||
bitset_word *dstp = ABITSET_WORDS (dst);
|
||||
bitset_windex size = dst->b.csize;
|
||||
|
||||
|
||||
for (i = 0; i < size; i++)
|
||||
*dstp++ = (*src1p++ & *src2p++) | *src3p++;
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
abitset_and_or_cmp (dst, src1, src2, src3)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
bitset src3;
|
||||
abitset_and_or_cmp (bitset dst, bitset src1, bitset src2, bitset src3)
|
||||
{
|
||||
bitset_windex i;
|
||||
int changed = 0;
|
||||
@@ -698,11 +600,11 @@ abitset_and_or_cmp (dst, src1, src2, src3)
|
||||
bitset_word *src3p = ABITSET_WORDS (src3);
|
||||
bitset_word *dstp = ABITSET_WORDS (dst);
|
||||
bitset_windex size = dst->b.csize;
|
||||
|
||||
|
||||
for (i = 0; i < size; i++, dstp++)
|
||||
{
|
||||
bitset_word tmp = (*src1p++ & *src2p++) | *src3p++;
|
||||
|
||||
|
||||
if (*dstp != tmp)
|
||||
{
|
||||
changed = 1;
|
||||
@@ -714,11 +616,7 @@ abitset_and_or_cmp (dst, src1, src2, src3)
|
||||
|
||||
|
||||
static void
|
||||
abitset_andn_or (dst, src1, src2, src3)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
bitset src3;
|
||||
abitset_andn_or (bitset dst, bitset src1, bitset src2, bitset src3)
|
||||
{
|
||||
bitset_windex i;
|
||||
bitset_word *src1p = ABITSET_WORDS (src1);
|
||||
@@ -726,18 +624,14 @@ abitset_andn_or (dst, src1, src2, src3)
|
||||
bitset_word *src3p = ABITSET_WORDS (src3);
|
||||
bitset_word *dstp = ABITSET_WORDS (dst);
|
||||
bitset_windex size = dst->b.csize;
|
||||
|
||||
|
||||
for (i = 0; i < size; i++)
|
||||
*dstp++ = (*src1p++ & ~(*src2p++)) | *src3p++;
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
abitset_andn_or_cmp (dst, src1, src2, src3)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
bitset src3;
|
||||
abitset_andn_or_cmp (bitset dst, bitset src1, bitset src2, bitset src3)
|
||||
{
|
||||
bitset_windex i;
|
||||
int changed = 0;
|
||||
@@ -746,11 +640,11 @@ abitset_andn_or_cmp (dst, src1, src2, src3)
|
||||
bitset_word *src3p = ABITSET_WORDS (src3);
|
||||
bitset_word *dstp = ABITSET_WORDS (dst);
|
||||
bitset_windex size = dst->b.csize;
|
||||
|
||||
|
||||
for (i = 0; i < size; i++, dstp++)
|
||||
{
|
||||
bitset_word tmp = (*src1p++ & ~(*src2p++)) | *src3p++;
|
||||
|
||||
|
||||
if (*dstp != tmp)
|
||||
{
|
||||
changed = 1;
|
||||
@@ -762,11 +656,7 @@ abitset_andn_or_cmp (dst, src1, src2, src3)
|
||||
|
||||
|
||||
static void
|
||||
abitset_or_and (dst, src1, src2, src3)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
bitset src3;
|
||||
abitset_or_and (bitset dst, bitset src1, bitset src2, bitset src3)
|
||||
{
|
||||
bitset_windex i;
|
||||
bitset_word *src1p = ABITSET_WORDS (src1);
|
||||
@@ -774,18 +664,14 @@ abitset_or_and (dst, src1, src2, src3)
|
||||
bitset_word *src3p = ABITSET_WORDS (src3);
|
||||
bitset_word *dstp = ABITSET_WORDS (dst);
|
||||
bitset_windex size = dst->b.csize;
|
||||
|
||||
|
||||
for (i = 0; i < size; i++)
|
||||
*dstp++ = (*src1p++ | *src2p++) & *src3p++;
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
abitset_or_and_cmp (dst, src1, src2, src3)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
bitset src3;
|
||||
abitset_or_and_cmp (bitset dst, bitset src1, bitset src2, bitset src3)
|
||||
{
|
||||
bitset_windex i;
|
||||
int changed = 0;
|
||||
@@ -794,11 +680,11 @@ abitset_or_and_cmp (dst, src1, src2, src3)
|
||||
bitset_word *src3p = ABITSET_WORDS (src3);
|
||||
bitset_word *dstp = ABITSET_WORDS (dst);
|
||||
bitset_windex size = dst->b.csize;
|
||||
|
||||
|
||||
for (i = 0; i < size; i++, dstp++)
|
||||
{
|
||||
bitset_word tmp = (*src1p++ | *src2p++) & *src3p++;
|
||||
|
||||
|
||||
if (*dstp != tmp)
|
||||
{
|
||||
changed = 1;
|
||||
@@ -810,9 +696,7 @@ abitset_or_and_cmp (dst, src1, src2, src3)
|
||||
|
||||
|
||||
static void
|
||||
abitset_copy (dst, src)
|
||||
bitset dst;
|
||||
bitset src;
|
||||
abitset_copy (bitset dst, bitset src)
|
||||
{
|
||||
if (BITSET_COMPATIBLE_ (dst, src))
|
||||
abitset_copy1 (dst, src);
|
||||
@@ -896,8 +780,7 @@ struct bitset_vtable abitset_vtable = {
|
||||
|
||||
|
||||
size_t
|
||||
abitset_bytes (n_bits)
|
||||
bitset_bindex n_bits;
|
||||
abitset_bytes (bitset_bindex n_bits)
|
||||
{
|
||||
bitset_windex size;
|
||||
size_t bytes;
|
||||
@@ -921,9 +804,7 @@ abitset_bytes (n_bits)
|
||||
|
||||
|
||||
bitset
|
||||
abitset_init (bset, n_bits)
|
||||
bitset bset;
|
||||
bitset_bindex n_bits;
|
||||
abitset_init (bitset bset, bitset_bindex n_bits)
|
||||
{
|
||||
bitset_windex size;
|
||||
|
||||
|
||||
+26
-22
@@ -33,7 +33,15 @@
|
||||
#endif
|
||||
|
||||
#ifdef emacs
|
||||
# include "lisp.h"
|
||||
# include "blockinput.h"
|
||||
# define xalloc_die() memory_full ()
|
||||
# ifdef EMACS_FREE
|
||||
# undef free
|
||||
# define free EMACS_FREE
|
||||
# endif
|
||||
#else
|
||||
# include <xalloc.h>
|
||||
#endif
|
||||
|
||||
/* If compiling with GCC 2, this file's not needed. */
|
||||
@@ -53,6 +61,8 @@
|
||||
you
|
||||
lose
|
||||
-- must know STACK_DIRECTION at compile-time
|
||||
/* Using #error here is not wise since this file should work for
|
||||
old and obscure compilers. */
|
||||
# endif /* STACK_DIRECTION undefined */
|
||||
# endif /* static */
|
||||
# endif /* emacs */
|
||||
@@ -67,32 +77,19 @@ long i00afunc ();
|
||||
# define ADDRESS_FUNCTION(arg) &(arg)
|
||||
# endif
|
||||
|
||||
# if __STDC__
|
||||
typedef void *pointer;
|
||||
# else
|
||||
typedef char *pointer;
|
||||
# ifndef POINTER_TYPE
|
||||
# ifdef __STDC__
|
||||
# define POINTER_TYPE void
|
||||
# else
|
||||
# define POINTER_TYPE char
|
||||
# endif
|
||||
# endif
|
||||
typedef POINTER_TYPE *pointer;
|
||||
|
||||
# ifndef NULL
|
||||
# define NULL 0
|
||||
# endif
|
||||
|
||||
/* Different portions of Emacs need to call different versions of
|
||||
malloc. The Emacs executable needs alloca to call xmalloc, because
|
||||
ordinary malloc isn't protected from input signals. On the other
|
||||
hand, the utilities in lib-src need alloca to call malloc; some of
|
||||
them are very simple, and don't have an xmalloc routine.
|
||||
|
||||
Non-Emacs programs expect this to call xmalloc.
|
||||
|
||||
Callers below should use malloc. */
|
||||
|
||||
# ifndef emacs
|
||||
# undef malloc
|
||||
# define malloc xmalloc
|
||||
# endif
|
||||
extern pointer malloc ();
|
||||
|
||||
/* Define STACK_DIRECTION if you know the direction of stack
|
||||
growth for your system; otherwise it will be automatically
|
||||
deduced at run-time.
|
||||
@@ -169,7 +166,8 @@ static header *last_alloca_header = NULL; /* -> last alloca header. */
|
||||
implementations of C, for example under Gould's UTX/32. */
|
||||
|
||||
pointer
|
||||
alloca (size_t size)
|
||||
alloca (size)
|
||||
size_t size;
|
||||
{
|
||||
auto char probe; /* Probes stack depth: */
|
||||
register char *depth = ADDRESS_FUNCTION (probe);
|
||||
@@ -215,8 +213,14 @@ alloca (size_t size)
|
||||
/* Allocate combined header + user data storage. */
|
||||
|
||||
{
|
||||
register pointer new = malloc (sizeof (header) + size);
|
||||
/* Address of header. */
|
||||
register pointer new;
|
||||
|
||||
size_t combined_size = sizeof (header) + size;
|
||||
if (combined_size < sizeof (header))
|
||||
xalloc_die ();
|
||||
|
||||
new = xmalloc (combined_size);
|
||||
|
||||
if (new == 0)
|
||||
abort();
|
||||
|
||||
+20
-55
@@ -1,5 +1,5 @@
|
||||
/* argmatch.c -- find a match for a string in an array
|
||||
Copyright (C) 1990, 1998, 1999, 2001 Free Software Foundation, Inc.
|
||||
Copyright (C) 1990, 1998, 1999, 2001, 2002 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -18,28 +18,24 @@
|
||||
/* Written by David MacKenzie <[email protected]>
|
||||
Modified by Akim Demaille <[email protected]> */
|
||||
|
||||
#if HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
/* Specification. */
|
||||
#include "argmatch.h"
|
||||
|
||||
#include <stdio.h>
|
||||
#ifdef STDC_HEADERS
|
||||
# include <stdlib.h>
|
||||
# include <string.h>
|
||||
#endif
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#if HAVE_LOCALE_H
|
||||
# include <locale.h>
|
||||
#endif
|
||||
|
||||
#if ENABLE_NLS
|
||||
# include <libintl.h>
|
||||
# define _(Text) gettext (Text)
|
||||
#else
|
||||
# define _(Text) Text
|
||||
#endif
|
||||
#include "gettext.h"
|
||||
#define _(msgid) gettext (msgid)
|
||||
|
||||
#include "error.h"
|
||||
#include "quotearg.h"
|
||||
#include "quote.h"
|
||||
#include "unlocked-io.h"
|
||||
|
||||
/* When reporting an invalid argument, show nonprinting characters
|
||||
by using the quoting style ARGMATCH_QUOTING_STYLE. Do not use
|
||||
@@ -48,14 +44,6 @@
|
||||
# define ARGMATCH_QUOTING_STYLE locale_quoting_style
|
||||
#endif
|
||||
|
||||
/* The following test is to work around the gross typo in
|
||||
systems like Sony NEWS-OS Release 4.0C, whereby EXIT_FAILURE
|
||||
is defined to 0, not 1. */
|
||||
#if !EXIT_FAILURE
|
||||
# undef EXIT_FAILURE
|
||||
# define EXIT_FAILURE 1
|
||||
#endif
|
||||
|
||||
/* Non failing version of argmatch call this function after failing. */
|
||||
#ifndef ARGMATCH_DIE
|
||||
# define ARGMATCH_DIE exit (EXIT_FAILURE)
|
||||
@@ -80,7 +68,6 @@ argmatch_exit_fn argmatch_die = __argmatch_die;
|
||||
null-terminated array ARGLIST, return the index in ARGLIST
|
||||
of the matched element, else -1 if it does not match any element
|
||||
or -2 if it is ambiguous (is a prefix of more than one element).
|
||||
If SENSITIVE, comparison is case sensitive.
|
||||
|
||||
If VALLIST is none null, use it to resolve ambiguities limited to
|
||||
synonyms, i.e., for
|
||||
@@ -88,10 +75,9 @@ argmatch_exit_fn argmatch_die = __argmatch_die;
|
||||
"no", "nope" -> 1
|
||||
"y" is a valid argument, for `0', and "n" for `1'. */
|
||||
|
||||
static int
|
||||
__argmatch_internal (const char *arg, const char *const *arglist,
|
||||
const char *vallist, size_t valsize,
|
||||
int case_sensitive)
|
||||
int
|
||||
argmatch (const char *arg, const char *const *arglist,
|
||||
const char *vallist, size_t valsize)
|
||||
{
|
||||
int i; /* Temporary index in ARGLIST. */
|
||||
size_t arglen; /* Length of ARG. */
|
||||
@@ -103,9 +89,7 @@ __argmatch_internal (const char *arg, const char *const *arglist,
|
||||
/* Test all elements for either exact match or abbreviated matches. */
|
||||
for (i = 0; arglist[i]; i++)
|
||||
{
|
||||
if (case_sensitive
|
||||
? !strncmp (arglist[i], arg, arglen)
|
||||
: !strncasecmp (arglist[i], arg, arglen))
|
||||
if (!strncmp (arglist[i], arg, arglen))
|
||||
{
|
||||
if (strlen (arglist[i]) == arglen)
|
||||
/* Exact match found. */
|
||||
@@ -133,22 +117,6 @@ __argmatch_internal (const char *arg, const char *const *arglist,
|
||||
return matchind;
|
||||
}
|
||||
|
||||
/* argmatch - case sensitive version */
|
||||
int
|
||||
argmatch (const char *arg, const char *const *arglist,
|
||||
const char *vallist, size_t valsize)
|
||||
{
|
||||
return __argmatch_internal (arg, arglist, vallist, valsize, 1);
|
||||
}
|
||||
|
||||
/* argcasematch - case insensitive version */
|
||||
int
|
||||
argcasematch (const char *arg, const char *const *arglist,
|
||||
const char *vallist, size_t valsize)
|
||||
{
|
||||
return __argmatch_internal (arg, arglist, vallist, valsize, 0);
|
||||
}
|
||||
|
||||
/* Error reporting for argmatch.
|
||||
CONTEXT is a description of the type of entity that was being matched.
|
||||
VALUE is the invalid value that was given.
|
||||
@@ -203,12 +171,9 @@ int
|
||||
__xargmatch_internal (const char *context,
|
||||
const char *arg, const char *const *arglist,
|
||||
const char *vallist, size_t valsize,
|
||||
int case_sensitive,
|
||||
argmatch_exit_fn exit_fn)
|
||||
{
|
||||
int res = __argmatch_internal (arg, arglist,
|
||||
vallist, valsize,
|
||||
case_sensitive);
|
||||
int res = argmatch (arg, arglist, vallist, valsize);
|
||||
if (res >= 0)
|
||||
/* Success. */
|
||||
return res;
|
||||
@@ -294,12 +259,12 @@ main (int argc, const char *const *argv)
|
||||
}
|
||||
|
||||
if ((cp = getenv ("VERSION_CONTROL")))
|
||||
backup_type = XARGCASEMATCH ("$VERSION_CONTROL", cp,
|
||||
backup_args, backup_vals);
|
||||
backup_type = XARGMATCH ("$VERSION_CONTROL", cp,
|
||||
backup_args, backup_vals);
|
||||
|
||||
if (argc == 2)
|
||||
backup_type = XARGCASEMATCH (program_name, argv[1],
|
||||
backup_args, backup_vals);
|
||||
backup_type = XARGMATCH (program_name, argv[1],
|
||||
backup_args, backup_vals);
|
||||
|
||||
printf ("The version control is `%s'\n",
|
||||
ARGMATCH_TO_ARGUMENT (backup_type, backup_args, backup_vals));
|
||||
|
||||
+38
-58
@@ -1,5 +1,5 @@
|
||||
/* argmatch.h -- definitions and prototypes for argmatch.c
|
||||
Copyright (C) 1990, 1998, 1999, 2001 Free Software Foundation, Inc.
|
||||
Copyright (C) 1990, 1998, 1999, 2001, 2002 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -21,109 +21,89 @@
|
||||
#ifndef ARGMATCH_H_
|
||||
# define ARGMATCH_H_ 1
|
||||
|
||||
# if HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
# endif
|
||||
# include <stddef.h>
|
||||
|
||||
# include <sys/types.h>
|
||||
# define ARRAY_CARDINALITY(Array) (sizeof (Array) / sizeof *(Array))
|
||||
|
||||
# ifndef PARAMS
|
||||
# if PROTOTYPES || (defined (__STDC__) && __STDC__)
|
||||
# define PARAMS(args) args
|
||||
# else
|
||||
# define PARAMS(args) ()
|
||||
# endif /* GCC. */
|
||||
# endif /* Not PARAMS. */
|
||||
# define ARGMATCH_CONSTRAINT(Arglist, Vallist) \
|
||||
(ARRAY_CARDINALITY (Arglist) == ARRAY_CARDINALITY (Vallist) + 1)
|
||||
|
||||
/* Assert there are as many real arguments as there are values
|
||||
(argument list ends with a NULL guard). There is no execution
|
||||
cost, since it will be statically evalauted to `assert (0)' or
|
||||
`assert (1)'. Unfortunately there is no -Wassert-0. */
|
||||
(argument list ends with a NULL guard). ARGMATCH_VERIFY is
|
||||
preferred, since it is guaranteed to be checked at compile-time.
|
||||
ARGMATCH_ASSERT is for backward compatibility only. */
|
||||
|
||||
# undef ARRAY_CARDINALITY
|
||||
# define ARRAY_CARDINALITY(Array) (sizeof ((Array)) / sizeof (*(Array)))
|
||||
# define ARGMATCH_VERIFY(Arglist, Vallist) \
|
||||
struct argmatch_verify \
|
||||
{ \
|
||||
char argmatch_verify[ARGMATCH_CONSTRAINT(Arglist, Vallist) ? 1 : -1]; \
|
||||
}
|
||||
|
||||
# define ARGMATCH_ASSERT(Arglist, Vallist) \
|
||||
assert (ARRAY_CARDINALITY ((Arglist)) == ARRAY_CARDINALITY ((Vallist)) + 1)
|
||||
# define ARGMATCH_ASSERT(Arglist, Vallist) \
|
||||
assert (ARGMATCH_CONSTRAINT (Arglist, Vallist))
|
||||
|
||||
/* Return the index of the element of ARGLIST (NULL terminated) that
|
||||
matches with ARG. If VALLIST is not NULL, then use it to resolve
|
||||
false ambiguities (i.e., different matches of ARG but corresponding
|
||||
to the same values in VALLIST). */
|
||||
|
||||
int argmatch
|
||||
PARAMS ((const char *arg, const char *const *arglist,
|
||||
const char *vallist, size_t valsize));
|
||||
int argcasematch
|
||||
PARAMS ((const char *arg, const char *const *arglist,
|
||||
const char *vallist, size_t valsize));
|
||||
int argmatch (char const *arg, char const *const *arglist,
|
||||
char const *vallist, size_t valsize);
|
||||
|
||||
# define ARGMATCH(Arg, Arglist, Vallist) \
|
||||
argmatch ((Arg), (Arglist), (const char *) (Vallist), sizeof (*(Vallist)))
|
||||
|
||||
# define ARGCASEMATCH(Arg, Arglist, Vallist) \
|
||||
argcasematch ((Arg), (Arglist), (const char *) (Vallist), sizeof (*(Vallist)))
|
||||
argmatch (Arg, Arglist, (char const *) (Vallist), sizeof *(Vallist))
|
||||
|
||||
/* xargmatch calls this function when it fails. This function should not
|
||||
return. By default, this is a function that calls ARGMATCH_DIE which
|
||||
in turn defaults to `exit (EXIT_FAILURE)'. */
|
||||
typedef void (*argmatch_exit_fn) PARAMS ((void));
|
||||
typedef void (*argmatch_exit_fn) (void);
|
||||
extern argmatch_exit_fn argmatch_die;
|
||||
|
||||
/* Report on stderr why argmatch failed. Report correct values. */
|
||||
|
||||
void argmatch_invalid
|
||||
PARAMS ((const char *context, const char *value, int problem));
|
||||
void argmatch_invalid (char const *context, char const *value, int problem);
|
||||
|
||||
/* Left for compatibility with the old name invalid_arg */
|
||||
|
||||
# define invalid_arg(Context, Value, Problem) \
|
||||
argmatch_invalid ((Context), (Value), (Problem))
|
||||
argmatch_invalid (Context, Value, Problem)
|
||||
|
||||
|
||||
|
||||
/* Report on stderr the list of possible arguments. */
|
||||
|
||||
void argmatch_valid
|
||||
PARAMS ((const char *const *arglist,
|
||||
const char *vallist, size_t valsize));
|
||||
void argmatch_valid (char const *const *arglist,
|
||||
char const *vallist, size_t valsize);
|
||||
|
||||
# define ARGMATCH_VALID(Arglist, Vallist) \
|
||||
argmatch_valid (Arglist, (const char *) Vallist, sizeof (*(Vallist)))
|
||||
argmatch_valid (Arglist, (char const *) (Vallist), sizeof *(Vallist))
|
||||
|
||||
|
||||
|
||||
/* Same as argmatch, but upon failure, reports a explanation on the
|
||||
failure, and exits using the function EXIT_FN. */
|
||||
|
||||
int __xargmatch_internal
|
||||
PARAMS ((const char *context,
|
||||
const char *arg, const char *const *arglist,
|
||||
const char *vallist, size_t valsize,
|
||||
int case_sensitive, argmatch_exit_fn exit_fn));
|
||||
int __xargmatch_internal (char const *context,
|
||||
char const *arg, char const *const *arglist,
|
||||
char const *vallist, size_t valsize,
|
||||
argmatch_exit_fn exit_fn);
|
||||
|
||||
/* Programmer friendly interface to __xargmatch_internal. */
|
||||
|
||||
# define XARGMATCH(Context, Arg, Arglist, Vallist) \
|
||||
(Vallist [__xargmatch_internal ((Context), (Arg), (Arglist), \
|
||||
(const char *) (Vallist), \
|
||||
sizeof (*(Vallist)), \
|
||||
1, argmatch_die)])
|
||||
|
||||
# define XARGCASEMATCH(Context, Arg, Arglist, Vallist) \
|
||||
(Vallist [__xargmatch_internal ((Context), (Arg), (Arglist), \
|
||||
(const char *) (Vallist), \
|
||||
sizeof (*(Vallist)), \
|
||||
0, argmatch_die)])
|
||||
# define XARGMATCH(Context, Arg, Arglist, Vallist) \
|
||||
((Vallist) [__xargmatch_internal (Context, Arg, Arglist, \
|
||||
(char const *) (Vallist), \
|
||||
sizeof *(Vallist), \
|
||||
argmatch_die)])
|
||||
|
||||
/* Convert a value into a corresponding argument. */
|
||||
|
||||
const char *argmatch_to_argument
|
||||
PARAMS ((char const *value, const char *const *arglist,
|
||||
const char *vallist, size_t valsize));
|
||||
char const *argmatch_to_argument (char const *value,
|
||||
char const *const *arglist,
|
||||
char const *vallist, size_t valsize);
|
||||
|
||||
# define ARGMATCH_TO_ARGUMENT(Value, Arglist, Vallist) \
|
||||
argmatch_to_argument ((Value), (Arglist), \
|
||||
(const char *) (Vallist), sizeof (*(Vallist)))
|
||||
argmatch_to_argument (Value, Arglist, \
|
||||
(char const *) (Vallist), sizeof *(Vallist))
|
||||
|
||||
#endif /* ARGMATCH_H_ */
|
||||
|
||||
+17
-29
@@ -25,21 +25,12 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
#include <limits.h>
|
||||
#endif
|
||||
|
||||
/* Use the following types for function parameters where the
|
||||
corresponding enum would be the correct type if we could use
|
||||
prototyped function definitions. Standard C says that one cannot
|
||||
portably use an enum as a parameter of an old-style function
|
||||
definition that is also declared with a prototype. */
|
||||
|
||||
typedef int enum_bitset_ops;
|
||||
typedef int enum_bitset_type;
|
||||
|
||||
/* Currently we support three flavours of bitsets:
|
||||
BITSET_ARRAY: Array of bits (fixed size, fast for dense bitsets).
|
||||
BITSET_LIST: Linked list of array of bits (variable size, least storage
|
||||
for large very sparse sets).
|
||||
BITSET_TABLE: Expandable table of pointers to array of bits
|
||||
(variable size, less storage for large sparse sets).
|
||||
for large very sparse sets).
|
||||
BITSET_TABLE: Expandable table of pointers to array of bits
|
||||
(variable size, less storage for large sparse sets).
|
||||
|
||||
BITSET_STATS: Wrapper bitset for internal use only.
|
||||
*/
|
||||
@@ -51,9 +42,6 @@ extern const char * const bitset_type_names[];
|
||||
|
||||
enum bitset_alloc_type {BITSET_MALLOC, BITSET_OBALLOC};
|
||||
|
||||
/* Non-zero to use inline functions instead of macros. */
|
||||
#define BITSET_INLINE 0
|
||||
|
||||
/* Data type used to store a word of bits. */
|
||||
typedef unsigned long bitset_word;
|
||||
#define BITSET_WORD_BITS ((unsigned) (CHAR_BIT * sizeof (bitset_word)))
|
||||
@@ -82,11 +70,11 @@ typedef size_t bitset_windex;
|
||||
|
||||
#define BITSET_LIST_SIZE 1024
|
||||
|
||||
enum bitset_ops {BITSET_OP_ZERO, BITSET_OP_ONES,
|
||||
BITSET_OP_COPY, BITSET_OP_NOT,
|
||||
enum bitset_ops {BITSET_OP_ZERO, BITSET_OP_ONES,
|
||||
BITSET_OP_COPY, BITSET_OP_NOT,
|
||||
BITSET_OP_EMPTY_P, BITSET_OP_EQUAL_P,
|
||||
BITSET_OP_SUBSET_P, BITSET_OP_DISJOINT_P,
|
||||
BITSET_OP_AND, BITSET_OP_OR, BITSET_OP_XOR, BITSET_OP_ANDN,
|
||||
BITSET_OP_AND, BITSET_OP_OR, BITSET_OP_XOR, BITSET_OP_ANDN,
|
||||
BITSET_OP_OR_AND, BITSET_OP_AND_OR, BITSET_OP_ANDN_OR};
|
||||
|
||||
struct bbitset_struct
|
||||
@@ -166,25 +154,25 @@ if (!BITSET_COMPATIBLE_ (DST, SRC1) || !BITSET_COMPATIBLE_ (DST, SRC2) \
|
||||
|
||||
|
||||
/* Return size in bits of bitset SRC. */
|
||||
#define BITSET_SIZE_(SRC) (SRC)->b.vtable->size (SRC)
|
||||
#define BITSET_SIZE_(SRC) (SRC)->b.vtable->size (SRC)
|
||||
|
||||
/* Return number of bits set in bitset SRC. */
|
||||
#define BITSET_COUNT_(SRC) (SRC)->b.vtable->count (SRC)
|
||||
#define BITSET_COUNT_(SRC) (SRC)->b.vtable->count (SRC)
|
||||
|
||||
/* Return type of bitset SRC. */
|
||||
#define BITSET_TYPE_(DST) (DST)->b.vtable->type
|
||||
#define BITSET_TYPE_(DST) (DST)->b.vtable->type
|
||||
|
||||
/* Set bit BITNO in bitset DST. */
|
||||
#define BITSET_SET_(DST, BITNO) (DST)->b.vtable->set (DST, BITNO)
|
||||
#define BITSET_SET_(DST, BITNO) (DST)->b.vtable->set (DST, BITNO)
|
||||
|
||||
/* Reset bit BITNO in bitset DST. */
|
||||
#define BITSET_RESET_(DST, BITNO) (DST)->b.vtable->reset (DST, BITNO)
|
||||
#define BITSET_RESET_(DST, BITNO) (DST)->b.vtable->reset (DST, BITNO)
|
||||
|
||||
/* Toggle bit BITNO in bitset DST. */
|
||||
#define BITSET_TOGGLE_(DST, BITNO) (DST)->b.vtable->toggle (DST, BITNO)
|
||||
#define BITSET_TOGGLE_(DST, BITNO) (DST)->b.vtable->toggle (DST, BITNO)
|
||||
|
||||
/* Return non-zero if bit BITNO in bitset SRC is set. */
|
||||
#define BITSET_TEST_(SRC, BITNO) (SRC)->b.vtable->test (SRC, BITNO)
|
||||
#define BITSET_TEST_(SRC, BITNO) (SRC)->b.vtable->test (SRC, BITNO)
|
||||
|
||||
/* Free bitset SRC. */
|
||||
#define BITSET_FREE_(SRC)\
|
||||
@@ -258,21 +246,21 @@ if (!BITSET_COMPATIBLE_ (DST, SRC1) || !BITSET_COMPATIBLE_ (DST, SRC2) \
|
||||
(SRC1)->b.vtable->or_and_cmp (DST, SRC1, SRC2, SRC3)
|
||||
|
||||
|
||||
/* Find list of up to NUM bits set in BSET starting from and including
|
||||
/* Find list of up to NUM bits set in BSET starting from and including
|
||||
*NEXT. Return with actual number of bits found and with *NEXT
|
||||
indicating where search stopped. */
|
||||
#define BITSET_LIST_(BSET, LIST, NUM, NEXT) \
|
||||
(BSET)->b.vtable->list (BSET, LIST, NUM, NEXT)
|
||||
(BSET)->b.vtable->list (BSET, LIST, NUM, NEXT)
|
||||
|
||||
/* Find reverse list of up to NUM bits set in BSET starting from and
|
||||
including NEXT. Return with actual number of bits found and with
|
||||
*NEXT indicating where search stopped. */
|
||||
#define BITSET_LIST_REVERSE_(BSET, LIST, NUM, NEXT) \
|
||||
(BSET)->b.vtable->list_reverse (BSET, LIST, NUM, NEXT)
|
||||
(BSET)->b.vtable->list_reverse (BSET, LIST, NUM, NEXT)
|
||||
|
||||
|
||||
/* Private functions for bitset implementations. */
|
||||
|
||||
|
||||
extern int bitset_toggle_ PARAMS ((bitset, bitset_bindex));
|
||||
|
||||
extern bitset_bindex bitset_count_ PARAMS ((bitset));
|
||||
|
||||
+36
-103
@@ -30,16 +30,11 @@
|
||||
|
||||
const char * const bitset_type_names[] = BITSET_TYPE_NAMES;
|
||||
|
||||
static void bitset_print PARAMS ((FILE *, bitset, int));
|
||||
static int bitset_op4_cmp PARAMS ((bitset, bitset, bitset, bitset, int));
|
||||
|
||||
|
||||
/* Return number of bytes required to create a N_BIT bitset
|
||||
of TYPE. The bitset may grow to require more bytes than this. */
|
||||
size_t
|
||||
bitset_bytes (type, n_bits)
|
||||
enum_bitset_type type;
|
||||
bitset_bindex n_bits;
|
||||
bitset_bytes (enum bitset_type type, bitset_bindex n_bits)
|
||||
{
|
||||
size_t bytes;
|
||||
|
||||
@@ -70,14 +65,11 @@ bitset_bytes (type, n_bits)
|
||||
|
||||
/* Initialise bitset BSET of TYPE for N_BITS. */
|
||||
bitset
|
||||
bitset_init (bset, n_bits, type)
|
||||
bitset bset;
|
||||
bitset_bindex n_bits;
|
||||
enum_bitset_type type;
|
||||
bitset_init (bitset bset, bitset_bindex n_bits, enum bitset_type type)
|
||||
{
|
||||
if (bitset_stats_enabled)
|
||||
return bitset_stats_init (bset, n_bits, type);
|
||||
|
||||
|
||||
switch (type)
|
||||
{
|
||||
case BITSET_ARRAY:
|
||||
@@ -99,9 +91,7 @@ bitset_init (bset, n_bits, type)
|
||||
specified by ATTR. For variable size bitsets, N_BITS is only a
|
||||
hint and may be zero. */
|
||||
enum bitset_type
|
||||
bitset_type_choose (n_bits, attr)
|
||||
bitset_bindex n_bits ATTRIBUTE_UNUSED;
|
||||
unsigned int attr;
|
||||
bitset_type_choose (bitset_bindex n_bits ATTRIBUTE_UNUSED, unsigned int attr)
|
||||
{
|
||||
enum bitset_type type;
|
||||
|
||||
@@ -129,9 +119,7 @@ bitset_type_choose (n_bits, attr)
|
||||
|
||||
/* Create a bitset of N_BITS of type TYPE. */
|
||||
bitset
|
||||
bitset_alloc (n_bits, type)
|
||||
bitset_bindex n_bits;
|
||||
enum_bitset_type type;
|
||||
bitset_alloc (bitset_bindex n_bits, enum bitset_type type)
|
||||
{
|
||||
size_t bytes;
|
||||
bitset bset;
|
||||
@@ -150,10 +138,8 @@ bitset_alloc (n_bits, type)
|
||||
|
||||
/* Create a bitset of N_BITS of type TYPE. */
|
||||
bitset
|
||||
bitset_obstack_alloc (bobstack, n_bits, type)
|
||||
struct obstack *bobstack;
|
||||
bitset_bindex n_bits;
|
||||
enum_bitset_type type;
|
||||
bitset_obstack_alloc (struct obstack *bobstack,
|
||||
bitset_bindex n_bits, enum bitset_type type)
|
||||
{
|
||||
size_t bytes;
|
||||
bitset bset;
|
||||
@@ -170,9 +156,7 @@ bitset_obstack_alloc (bobstack, n_bits, type)
|
||||
/* Create a bitset of N_BITS and with attribute hints specified by
|
||||
ATTR. */
|
||||
bitset
|
||||
bitset_create (n_bits, attr)
|
||||
bitset_bindex n_bits;
|
||||
unsigned int attr;
|
||||
bitset_create (bitset_bindex n_bits, unsigned int attr)
|
||||
{
|
||||
enum bitset_type type;
|
||||
|
||||
@@ -184,8 +168,7 @@ bitset_create (n_bits, attr)
|
||||
|
||||
/* Free bitset BSET. */
|
||||
void
|
||||
bitset_free (bset)
|
||||
bitset bset;
|
||||
bitset_free (bitset bset)
|
||||
{
|
||||
BITSET_FREE_ (bset);
|
||||
free (bset);
|
||||
@@ -194,8 +177,7 @@ bitset_free (bset)
|
||||
|
||||
/* Free bitset BSET allocated on obstack. */
|
||||
void
|
||||
bitset_obstack_free (bset)
|
||||
bitset bset;
|
||||
bitset_obstack_free (bitset bset)
|
||||
{
|
||||
BITSET_FREE_ (bset);
|
||||
}
|
||||
@@ -203,23 +185,21 @@ bitset_obstack_free (bset)
|
||||
|
||||
/* Return bitset type. */
|
||||
enum bitset_type
|
||||
bitset_type_get (bset)
|
||||
bitset bset;
|
||||
bitset_type_get (bitset bset)
|
||||
{
|
||||
enum bitset_type type;
|
||||
|
||||
type = BITSET_TYPE_ (bset);
|
||||
if (type != BITSET_STATS)
|
||||
return type;
|
||||
|
||||
|
||||
return bitset_stats_type_get (bset);
|
||||
}
|
||||
|
||||
|
||||
/* Return name of bitset type. */
|
||||
const char *
|
||||
bitset_type_name_get (bset)
|
||||
bitset bset;
|
||||
bitset_type_name_get (bitset bset)
|
||||
{
|
||||
enum bitset_type type;
|
||||
|
||||
@@ -232,9 +212,7 @@ bitset_type_name_get (bset)
|
||||
/* Find next bit set in SRC starting from and including BITNO.
|
||||
Return BITSET_BINDEX_MAX if SRC empty. */
|
||||
bitset_bindex
|
||||
bitset_next (src, bitno)
|
||||
bitset src;
|
||||
bitset_bindex bitno;
|
||||
bitset_next (bitset src, bitset_bindex bitno)
|
||||
{
|
||||
bitset_bindex val;
|
||||
bitset_bindex next = bitno;
|
||||
@@ -248,9 +226,7 @@ bitset_next (src, bitno)
|
||||
/* Find previous bit set in SRC starting from and including BITNO.
|
||||
Return BITSET_BINDEX_MAX if SRC empty. */
|
||||
bitset_bindex
|
||||
bitset_prev (src, bitno)
|
||||
bitset src;
|
||||
bitset_bindex bitno;
|
||||
bitset_prev (bitset src, bitset_bindex bitno)
|
||||
{
|
||||
bitset_bindex val;
|
||||
bitset_bindex next = bitno;
|
||||
@@ -263,8 +239,7 @@ bitset_prev (src, bitno)
|
||||
|
||||
/* Find first set bit. */
|
||||
bitset_bindex
|
||||
bitset_first (src)
|
||||
bitset src;
|
||||
bitset_first (bitset src)
|
||||
{
|
||||
return bitset_next (src, 0);
|
||||
}
|
||||
@@ -272,8 +247,7 @@ bitset_first (src)
|
||||
|
||||
/* Find last set bit. */
|
||||
bitset_bindex
|
||||
bitset_last (src)
|
||||
bitset src;
|
||||
bitset_last (bitset src)
|
||||
{
|
||||
return bitset_prev (src, 0);
|
||||
}
|
||||
@@ -281,9 +255,7 @@ bitset_last (src)
|
||||
|
||||
/* Return non-zero if BITNO in SRC is the only set bit. */
|
||||
int
|
||||
bitset_only_set_p (src, bitno)
|
||||
bitset src;
|
||||
bitset_bindex bitno;
|
||||
bitset_only_set_p (bitset src, bitset_bindex bitno)
|
||||
{
|
||||
bitset_bindex val[2];
|
||||
bitset_bindex next = 0;
|
||||
@@ -296,10 +268,7 @@ bitset_only_set_p (src, bitno)
|
||||
|
||||
/* Print contents of bitset BSET to FILE. */
|
||||
static void
|
||||
bitset_print (file, bset, verbose)
|
||||
FILE *file;
|
||||
bitset bset;
|
||||
int verbose;
|
||||
bitset_print (FILE *file, bitset bset, int verbose)
|
||||
{
|
||||
unsigned int pos;
|
||||
bitset_bindex i;
|
||||
@@ -329,9 +298,7 @@ bitset_print (file, bset, verbose)
|
||||
|
||||
/* Dump bitset BSET to FILE. */
|
||||
void
|
||||
bitset_dump (file, bset)
|
||||
FILE *file;
|
||||
bitset bset;
|
||||
bitset_dump (FILE *file, bitset bset)
|
||||
{
|
||||
bitset_print (file, bset, 0);
|
||||
}
|
||||
@@ -340,7 +307,7 @@ bitset_dump (file, bset)
|
||||
|
||||
/* Release memory associated with bitsets. */
|
||||
void
|
||||
bitset_release_memory ()
|
||||
bitset_release_memory (void)
|
||||
{
|
||||
lbitset_release_memory ();
|
||||
ebitset_release_memory ();
|
||||
@@ -350,9 +317,7 @@ bitset_release_memory ()
|
||||
|
||||
/* Toggle bit BITNO in bitset BSET and return non-zero if not set. */
|
||||
int
|
||||
bitset_toggle_ (bset, bitno)
|
||||
bitset bset;
|
||||
bitset_bindex bitno;
|
||||
bitset_toggle_ (bitset bset, bitset_bindex bitno)
|
||||
{
|
||||
/* This routine is for completeness. It could be optimized if
|
||||
required. */
|
||||
@@ -371,14 +336,13 @@ bitset_toggle_ (bset, bitno)
|
||||
|
||||
/* Return number of bits set in bitset SRC. */
|
||||
bitset_bindex
|
||||
bitset_count_ (src)
|
||||
bitset src;
|
||||
bitset_count_ (bitset src)
|
||||
{
|
||||
bitset_bindex list[BITSET_LIST_SIZE];
|
||||
bitset_bindex next;
|
||||
bitset_bindex num;
|
||||
bitset_bindex count;
|
||||
|
||||
|
||||
/* This could be greatly sped up by adding a count method for each
|
||||
bitset implementation that uses a direct technique (based on
|
||||
masks) for counting the number of bits set in a word. */
|
||||
@@ -387,18 +351,16 @@ bitset_count_ (src)
|
||||
for (count = 0; (num = bitset_list (src, list, BITSET_LIST_SIZE, &next));
|
||||
count += num)
|
||||
continue;
|
||||
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
|
||||
/* DST = SRC. Return non-zero if DST != SRC.
|
||||
/* DST = SRC. Return non-zero if DST != SRC.
|
||||
This is a fallback for the case where SRC and DST are different
|
||||
bitset types. */
|
||||
int
|
||||
bitset_copy_ (dst, src)
|
||||
bitset dst;
|
||||
bitset src;
|
||||
bitset_copy_ (bitset dst, bitset src)
|
||||
{
|
||||
bitset_bindex i;
|
||||
bitset_iterator iter;
|
||||
@@ -418,12 +380,8 @@ bitset_copy_ (dst, src)
|
||||
/* This is a fallback for implementations that do not support
|
||||
four operand operations. */
|
||||
static inline int
|
||||
bitset_op4_cmp (dst, src1, src2, src3, op)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
bitset src3;
|
||||
enum_bitset_ops op;
|
||||
bitset_op4_cmp (bitset dst, bitset src1, bitset src2, bitset src3,
|
||||
enum bitset_ops op)
|
||||
{
|
||||
int changed = 0;
|
||||
int stats_enabled_save;
|
||||
@@ -463,11 +421,7 @@ bitset_op4_cmp (dst, src1, src2, src3, op)
|
||||
|
||||
/* DST = (SRC1 & SRC2) | SRC3. */
|
||||
void
|
||||
bitset_and_or_ (dst, src1, src2, src3)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
bitset src3;
|
||||
bitset_and_or_ (bitset dst, bitset src1, bitset src2, bitset src3)
|
||||
{
|
||||
bitset_and_or_cmp_ (dst, src1, src2, src3);
|
||||
}
|
||||
@@ -476,11 +430,7 @@ bitset_and_or_ (dst, src1, src2, src3)
|
||||
/* DST = (SRC1 & SRC2) | SRC3. Return non-zero if
|
||||
DST != (SRC1 & SRC2) | SRC3. */
|
||||
int
|
||||
bitset_and_or_cmp_ (dst, src1, src2, src3)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
bitset src3;
|
||||
bitset_and_or_cmp_ (bitset dst, bitset src1, bitset src2, bitset src3)
|
||||
{
|
||||
return bitset_op4_cmp (dst, src1, src2, src3, BITSET_OP_AND_OR);
|
||||
}
|
||||
@@ -488,11 +438,7 @@ bitset_and_or_cmp_ (dst, src1, src2, src3)
|
||||
|
||||
/* DST = (SRC1 & ~SRC2) | SRC3. */
|
||||
void
|
||||
bitset_andn_or_ (dst, src1, src2, src3)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
bitset src3;
|
||||
bitset_andn_or_ (bitset dst, bitset src1, bitset src2, bitset src3)
|
||||
{
|
||||
bitset_andn_or_cmp_ (dst, src1, src2, src3);
|
||||
}
|
||||
@@ -501,11 +447,7 @@ bitset_andn_or_ (dst, src1, src2, src3)
|
||||
/* DST = (SRC1 & ~SRC2) | SRC3. Return non-zero if
|
||||
DST != (SRC1 & ~SRC2) | SRC3. */
|
||||
int
|
||||
bitset_andn_or_cmp_ (dst, src1, src2, src3)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
bitset src3;
|
||||
bitset_andn_or_cmp_ (bitset dst, bitset src1, bitset src2, bitset src3)
|
||||
{
|
||||
return bitset_op4_cmp (dst, src1, src2, src3, BITSET_OP_ANDN_OR);
|
||||
}
|
||||
@@ -513,11 +455,7 @@ bitset_andn_or_cmp_ (dst, src1, src2, src3)
|
||||
|
||||
/* DST = (SRC1 | SRC2) & SRC3. */
|
||||
void
|
||||
bitset_or_and_ (dst, src1, src2, src3)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
bitset src3;
|
||||
bitset_or_and_ (bitset dst, bitset src1, bitset src2, bitset src3)
|
||||
{
|
||||
bitset_or_and_cmp_ (dst, src1, src2, src3);
|
||||
}
|
||||
@@ -526,11 +464,7 @@ bitset_or_and_ (dst, src1, src2, src3)
|
||||
/* DST = (SRC1 | SRC2) & SRC3. Return non-zero if
|
||||
DST != (SRC1 | SRC2) & SRC3. */
|
||||
int
|
||||
bitset_or_and_cmp_ (dst, src1, src2, src3)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
bitset src3;
|
||||
bitset_or_and_cmp_ (bitset dst, bitset src1, bitset src2, bitset src3)
|
||||
{
|
||||
return bitset_op4_cmp (dst, src1, src2, src3, BITSET_OP_OR_AND);
|
||||
}
|
||||
@@ -538,8 +472,7 @@ bitset_or_and_cmp_ (dst, src1, src2, src3)
|
||||
|
||||
/* Function to be called from debugger to print bitset. */
|
||||
void
|
||||
debug_bitset (bset)
|
||||
bitset bset;
|
||||
debug_bitset (bitset bset)
|
||||
{
|
||||
if (bset)
|
||||
bitset_print (stderr, bset, 1);
|
||||
|
||||
+36
-86
@@ -17,7 +17,7 @@ along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
#ifndef _BITSET_H
|
||||
#define _BITSET_H
|
||||
#define _BITSET_H
|
||||
|
||||
/* This file is the public interface to the bitset abstract data type.
|
||||
Only use the functions and macros defined in this file. */
|
||||
@@ -87,10 +87,10 @@ typedef struct
|
||||
|
||||
|
||||
/* Return bytes required for bitset of desired type and size. */
|
||||
extern size_t bitset_bytes PARAMS ((enum_bitset_type, bitset_bindex));
|
||||
extern size_t bitset_bytes PARAMS ((enum bitset_type, bitset_bindex));
|
||||
|
||||
/* Initialise a bitset with desired type and size. */
|
||||
extern bitset bitset_init PARAMS ((bitset, bitset_bindex, enum_bitset_type));
|
||||
extern bitset bitset_init PARAMS ((bitset, bitset_bindex, enum bitset_type));
|
||||
|
||||
/* Select an implementation type based on the desired bitset size
|
||||
and attributes. */
|
||||
@@ -98,7 +98,7 @@ extern enum bitset_type bitset_type_choose PARAMS ((bitset_bindex,
|
||||
bitset_attrs));
|
||||
|
||||
/* Create a bitset of desired type and size. The bitset is zeroed. */
|
||||
extern bitset bitset_alloc PARAMS ((bitset_bindex, enum_bitset_type));
|
||||
extern bitset bitset_alloc PARAMS ((bitset_bindex, enum bitset_type));
|
||||
|
||||
/* Free bitset. */
|
||||
extern void bitset_free PARAMS ((bitset));
|
||||
@@ -106,7 +106,7 @@ extern void bitset_free PARAMS ((bitset));
|
||||
/* Create a bitset of desired type and size using an obstack. The
|
||||
bitset is zeroed. */
|
||||
extern bitset bitset_obstack_alloc PARAMS ((struct obstack *bobstack,
|
||||
bitset_bindex, enum_bitset_type));
|
||||
bitset_bindex, enum bitset_type));
|
||||
|
||||
/* Free bitset allocated on obstack. */
|
||||
extern void bitset_obstack_free PARAMS ((bitset));
|
||||
@@ -120,19 +120,14 @@ extern enum bitset_type bitset_type_get PARAMS ((bitset));
|
||||
/* Return bitset type name. */
|
||||
extern const char *bitset_type_name_get PARAMS ((bitset));
|
||||
|
||||
#if BITSET_INLINE
|
||||
static inline void bitset_set PARAMS ((bitset, bitset_bindex));
|
||||
static inline void bitset_reset PARAMS ((bitset, bitset_bindex));
|
||||
static inline int bitset_test PARAMS ((bitset, bitset_bindex));
|
||||
|
||||
/* Set bit BITNO in bitset BSET. */
|
||||
static inline void bitset_set (bset, bitno)
|
||||
bitset bset;
|
||||
bitset_bindex bitno;
|
||||
static inline void
|
||||
bitset_set (bitset bset, bitset_bindex bitno)
|
||||
{
|
||||
bitset_windex index = bitno / BITSET_WORD_BITS;
|
||||
bitset_windex offset = index - bset->b.cindex;
|
||||
|
||||
bitset_windex windex = bitno / BITSET_WORD_BITS;
|
||||
bitset_windex offset = windex - bset->b.cindex;
|
||||
|
||||
if (offset < bset->b.csize)
|
||||
bset->b.cdata[offset] |= ((bitset_word) 1 << (bitno % BITSET_WORD_BITS));
|
||||
else
|
||||
@@ -141,13 +136,12 @@ static inline void bitset_set (bset, bitno)
|
||||
|
||||
|
||||
/* Reset bit BITNO in bitset BSET. */
|
||||
static inline void bitset_reset (bset, bitno)
|
||||
bitset bset;
|
||||
bitset_bindex bitno;
|
||||
static inline void
|
||||
bitset_reset (bitset bset, bitset_bindex bitno)
|
||||
{
|
||||
bitset_windex index = bitno / BITSET_WORD_BITS;
|
||||
bitset_windex offset = index - bset->b.cindex;
|
||||
|
||||
bitset_windex windex = bitno / BITSET_WORD_BITS;
|
||||
bitset_windex offset = windex - bset->b.cindex;
|
||||
|
||||
if (offset < bset->b.csize)
|
||||
bset->b.cdata[offset] &= ~((bitset_word) 1 << (bitno % BITSET_WORD_BITS));
|
||||
else
|
||||
@@ -156,61 +150,17 @@ static inline void bitset_reset (bset, bitno)
|
||||
|
||||
|
||||
/* Test bit BITNO in bitset BSET. */
|
||||
static inline int bitset_test (bset, bitno)
|
||||
bitset bset;
|
||||
bitset_bindex bitno;
|
||||
static inline int
|
||||
bitset_test (bitset bset, bitset_bindex bitno)
|
||||
{
|
||||
bitset_windex index = bitno / BITSET_WORD_BITS;
|
||||
bitset_windex offset = index - bset->b.cindex;
|
||||
|
||||
bitset_windex windex = bitno / BITSET_WORD_BITS;
|
||||
bitset_windex offset = windex - bset->b.cindex;
|
||||
|
||||
if (offset < bset->b.csize)
|
||||
return (bset->b.cdata[offset] >> (bitno % BITSET_WORD_BITS)) & 1;
|
||||
else
|
||||
return BITSET_TEST_ (bset, bitno);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if ! BITSET_INLINE
|
||||
|
||||
/* Set bit BITNO in bitset BSET. */
|
||||
#define bitset_set(bset, bitno) \
|
||||
do \
|
||||
{ \
|
||||
bitset_bindex _bitno = (bitno); \
|
||||
bitset_windex _index = _bitno / BITSET_WORD_BITS; \
|
||||
bitset_windex _offset = _index - (bset)->b.cindex; \
|
||||
\
|
||||
if (_offset < (bset)->b.csize) \
|
||||
(bset)->b.cdata[_offset] |= \
|
||||
((bitset_word) 1 << (_bitno % BITSET_WORD_BITS)); \
|
||||
else \
|
||||
BITSET_SET_ ((bset), _bitno); \
|
||||
} while (0)
|
||||
|
||||
|
||||
/* Reset bit BITNO in bitset BSET. */
|
||||
#define bitset_reset(bset, bitno) \
|
||||
do \
|
||||
{ \
|
||||
bitset_bindex _bitno = (bitno); \
|
||||
bitset_windex _index = _bitno / BITSET_WORD_BITS; \
|
||||
bitset_windex _offset = _index - (bset)->b.cindex; \
|
||||
\
|
||||
if (_offset < (bset)->b.csize) \
|
||||
(bset)->b.cdata[_offset] &= \
|
||||
~((bitset_word) 1 << (_bitno % BITSET_WORD_BITS)); \
|
||||
else \
|
||||
BITSET_RESET_ ((bset), _bitno); \
|
||||
} while (0)
|
||||
|
||||
|
||||
/* Test bit BITNO in bitset BSET. */
|
||||
#define bitset_test(bset, bitno) \
|
||||
(((((bitno) / BITSET_WORD_BITS) - (bset)->b.cindex) < (bset)->b.csize) \
|
||||
? ((bset)->b.cdata[(((bitno) / BITSET_WORD_BITS) - (bset)->b.cindex)] \
|
||||
>> ((bitno) % BITSET_WORD_BITS)) & 1 \
|
||||
: (unsigned int) BITSET_TEST_ ((bset), (bitno)))
|
||||
#endif
|
||||
|
||||
|
||||
/* Toggle bit BITNO in bitset BSET and return non-zero if now set. */
|
||||
@@ -304,17 +254,17 @@ do \
|
||||
#define bitset_or_and_cmp(DST, SRC1, SRC2, SRC3)\
|
||||
BITSET_OR_AND_CMP_ (DST, SRC1, SRC2, SRC3)
|
||||
|
||||
/* Find list of up to NUM bits set in BSET starting from and including
|
||||
/* Find list of up to NUM bits set in BSET starting from and including
|
||||
*NEXT. Return with actual number of bits found and with *NEXT
|
||||
indicating where search stopped. */
|
||||
#define bitset_list(BSET, LIST, NUM, NEXT) \
|
||||
BITSET_LIST_ (BSET, LIST, NUM, NEXT)
|
||||
BITSET_LIST_ (BSET, LIST, NUM, NEXT)
|
||||
|
||||
/* Find reverse list of up to NUM bits set in BSET starting from and
|
||||
including NEXT. Return with actual number of bits found and with
|
||||
*NEXT indicating where search stopped. */
|
||||
#define bitset_list_reverse(BSET, LIST, NUM, NEXT) \
|
||||
BITSET_LIST_REVERSE_ (BSET, LIST, NUM, NEXT)
|
||||
BITSET_LIST_REVERSE_ (BSET, LIST, NUM, NEXT)
|
||||
|
||||
|
||||
/* Find next set bit. */
|
||||
@@ -352,12 +302,12 @@ extern void bitset_dump PARAMS ((FILE *, bitset));
|
||||
for (ITER.next = (MIN), ITER.num = BITSET_LIST_SIZE; \
|
||||
(ITER.num == BITSET_LIST_SIZE) \
|
||||
&& (ITER.num = bitset_list (BSET, ITER.list, \
|
||||
BITSET_LIST_SIZE, &ITER.next));) \
|
||||
BITSET_LIST_SIZE, &ITER.next));) \
|
||||
for (ITER.i = 0; (BIT) = ITER.list[ITER.i], ITER.i < ITER.num; ITER.i++)
|
||||
|
||||
|
||||
/* Loop over all elements of BSET, in reverse order starting with
|
||||
MIN, setting BIT to the index of each set bit. For example, the
|
||||
MIN, setting BIT to the index of each set bit. For example, the
|
||||
following will print the bits set in a bitset in reverse order:
|
||||
|
||||
bitset_bindex i;
|
||||
@@ -373,30 +323,30 @@ extern void bitset_dump PARAMS ((FILE *, bitset));
|
||||
for (ITER.next = (MIN), ITER.num = BITSET_LIST_SIZE; \
|
||||
(ITER.num == BITSET_LIST_SIZE) \
|
||||
&& (ITER.num = bitset_list_reverse (BSET, ITER.list, \
|
||||
BITSET_LIST_SIZE, &ITER.next));) \
|
||||
BITSET_LIST_SIZE, &ITER.next));) \
|
||||
for (ITER.i = 0; (BIT) = ITER.list[ITER.i], ITER.i < ITER.num; ITER.i++)
|
||||
|
||||
|
||||
/* Define set operations in terms of logical operations. */
|
||||
|
||||
#define bitset_diff(DST, SRC1, SRC2) bitset_andn (DST, SRC1, SRC2)
|
||||
#define bitset_diff_cmp(DST, SRC1, SRC2) bitset_andn_cmp (DST, SRC1, SRC2)
|
||||
#define bitset_diff(DST, SRC1, SRC2) bitset_andn (DST, SRC1, SRC2)
|
||||
#define bitset_diff_cmp(DST, SRC1, SRC2) bitset_andn_cmp (DST, SRC1, SRC2)
|
||||
|
||||
#define bitset_intersection(DST, SRC1, SRC2) bitset_and (DST, SRC1, SRC2)
|
||||
#define bitset_intersection_cmp(DST, SRC1, SRC2) bitset_and_cmp (DST, SRC1, SRC2)
|
||||
#define bitset_intersection(DST, SRC1, SRC2) bitset_and (DST, SRC1, SRC2)
|
||||
#define bitset_intersection_cmp(DST, SRC1, SRC2) bitset_and_cmp (DST, SRC1, SRC2)
|
||||
|
||||
#define bitset_union(DST, SRC1, SRC2) bitset_or (DST, SRC1, SRC2)
|
||||
#define bitset_union_cmp(DST, SRC1, SRC2) bitset_or_cmp (DST, SRC1, SRC2)
|
||||
#define bitset_union(DST, SRC1, SRC2) bitset_or (DST, SRC1, SRC2)
|
||||
#define bitset_union_cmp(DST, SRC1, SRC2) bitset_or_cmp (DST, SRC1, SRC2)
|
||||
|
||||
/* Symmetrical difference. */
|
||||
#define bitset_symdiff(DST, SRC1, SRC2) bitset_xor (DST, SRC1, SRC2)
|
||||
#define bitset_symdiff_cmp(DST, SRC1, SRC2) bitset_xor_cmp (DST, SRC1, SRC2)
|
||||
#define bitset_symdiff(DST, SRC1, SRC2) bitset_xor (DST, SRC1, SRC2)
|
||||
#define bitset_symdiff_cmp(DST, SRC1, SRC2) bitset_xor_cmp (DST, SRC1, SRC2)
|
||||
|
||||
/* Union of difference. */
|
||||
#define bitset_diff_union(DST, SRC1, SRC2, SRC3) \
|
||||
bitset_andn_or (DST, SRC1, SRC2, SRC3)
|
||||
bitset_andn_or (DST, SRC1, SRC2, SRC3)
|
||||
#define bitset_diff_union_cmp(DST, SRC1, SRC2, SRC3) \
|
||||
bitset_andn_or_cmp (DST, SRC1, SRC2, SRC3)
|
||||
bitset_andn_or_cmp (DST, SRC1, SRC2, SRC3)
|
||||
|
||||
|
||||
|
||||
|
||||
+64
-206
@@ -14,7 +14,7 @@
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/* This file is a wrapper bitset implementation for the other bitset
|
||||
@@ -22,7 +22,7 @@
|
||||
statistics gathering without having to instrument the bitset
|
||||
implementations. When statistics gathering is enabled, the bitset
|
||||
operations get vectored through here and we then call the appropriate
|
||||
routines.
|
||||
routines.
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
@@ -103,61 +103,10 @@ struct bitset_stats_info_struct *bitset_stats_info;
|
||||
int bitset_stats_enabled = 0;
|
||||
|
||||
|
||||
static void bitset_stats_set PARAMS ((bitset, bitset_bindex));
|
||||
static void bitset_stats_reset PARAMS ((bitset, bitset_bindex));
|
||||
static int bitset_stats_toggle PARAMS ((bitset, bitset_bindex));
|
||||
static int bitset_stats_test PARAMS ((bitset, bitset_bindex));
|
||||
static bitset_bindex bitset_stats_size PARAMS ((bitset));
|
||||
static bitset_bindex bitset_stats_count PARAMS ((bitset));
|
||||
static int bitset_stats_empty_p PARAMS ((bitset));
|
||||
static void bitset_stats_ones PARAMS ((bitset));
|
||||
static void bitset_stats_zero PARAMS ((bitset));
|
||||
static void bitset_stats_copy PARAMS ((bitset, bitset));
|
||||
static int bitset_stats_disjoint_p PARAMS ((bitset, bitset));
|
||||
static int bitset_stats_equal_p PARAMS ((bitset, bitset));
|
||||
static void bitset_stats_not PARAMS ((bitset, bitset));
|
||||
static int bitset_stats_subset_p PARAMS ((bitset, bitset));
|
||||
static void bitset_stats_and PARAMS ((bitset, bitset, bitset));
|
||||
static int bitset_stats_and_cmp PARAMS ((bitset, bitset, bitset));
|
||||
static void bitset_stats_andn PARAMS ((bitset, bitset, bitset));
|
||||
static int bitset_stats_andn_cmp PARAMS ((bitset, bitset, bitset));
|
||||
static void bitset_stats_or PARAMS ((bitset, bitset, bitset));
|
||||
static int bitset_stats_or_cmp PARAMS ((bitset, bitset, bitset));
|
||||
static void bitset_stats_xor PARAMS ((bitset, bitset, bitset));
|
||||
static int bitset_stats_xor_cmp PARAMS ((bitset, bitset, bitset));
|
||||
static void bitset_stats_and_or PARAMS ((bitset, bitset, bitset, bitset));
|
||||
static int bitset_stats_and_or_cmp PARAMS ((bitset, bitset, bitset, bitset));
|
||||
static void bitset_stats_andn_or PARAMS ((bitset, bitset, bitset, bitset));
|
||||
static int bitset_stats_andn_or_cmp PARAMS ((bitset, bitset, bitset, bitset));
|
||||
static void bitset_stats_or_and PARAMS ((bitset, bitset, bitset, bitset));
|
||||
static int bitset_stats_or_and_cmp PARAMS ((bitset, bitset, bitset, bitset));
|
||||
static bitset_bindex bitset_stats_list PARAMS ((bitset, bitset_bindex *,
|
||||
bitset_bindex,
|
||||
bitset_bindex *));
|
||||
static bitset_bindex bitset_stats_list_reverse
|
||||
PARAMS ((bitset, bitset_bindex *, bitset_bindex, bitset_bindex *));
|
||||
static void bitset_stats_free PARAMS ((bitset));
|
||||
static void bitset_percent_histogram_print PARAMS ((FILE *, const char *,
|
||||
const char *,
|
||||
unsigned int,
|
||||
unsigned int *));
|
||||
static void bitset_log_histogram_print PARAMS ((FILE *, const char *,
|
||||
const char *,
|
||||
unsigned int,
|
||||
unsigned int *));
|
||||
static void bitset_stats_print_1
|
||||
PARAMS ((FILE *, const char *, struct bitset_type_info_struct *));
|
||||
static void bitset_stats_print PARAMS ((FILE *, int));
|
||||
|
||||
|
||||
/* Print a percentage histogram with message MSG to FILE. */
|
||||
static void
|
||||
bitset_percent_histogram_print (file, name, msg, n_bins, bins)
|
||||
FILE *file;
|
||||
const char *name;
|
||||
const char *msg;
|
||||
unsigned int n_bins;
|
||||
unsigned int *bins;
|
||||
bitset_percent_histogram_print (FILE *file, const char *name, const char *msg,
|
||||
unsigned int n_bins, unsigned int *bins)
|
||||
{
|
||||
unsigned int i;
|
||||
unsigned int total;
|
||||
@@ -180,12 +129,8 @@ bitset_percent_histogram_print (file, name, msg, n_bins, bins)
|
||||
|
||||
/* Print a log histogram with message MSG to FILE. */
|
||||
static void
|
||||
bitset_log_histogram_print (file, name, msg, n_bins, bins)
|
||||
FILE *file;
|
||||
const char *name;
|
||||
const char *msg;
|
||||
unsigned int n_bins;
|
||||
unsigned int *bins;
|
||||
bitset_log_histogram_print (FILE *file, const char *name, const char *msg,
|
||||
unsigned int n_bins, unsigned int *bins)
|
||||
{
|
||||
unsigned int i;
|
||||
unsigned int total;
|
||||
@@ -223,14 +168,12 @@ bitset_log_histogram_print (file, name, msg, n_bins, bins)
|
||||
|
||||
/* Print bitset statistics to FILE. */
|
||||
static void
|
||||
bitset_stats_print_1 (file, name, stats)
|
||||
FILE *file;
|
||||
const char *name;
|
||||
struct bitset_type_info_struct *stats;
|
||||
bitset_stats_print_1 (FILE *file, const char *name,
|
||||
struct bitset_type_info_struct *stats)
|
||||
{
|
||||
if (!stats)
|
||||
return;
|
||||
|
||||
|
||||
fprintf (file, "%s:\n", name);
|
||||
fprintf (file, _("%u bitset_allocs, %u freed (%.2f%%).\n"),
|
||||
stats->allocs, stats->frees,
|
||||
@@ -260,9 +203,7 @@ bitset_stats_print_1 (file, name, stats)
|
||||
|
||||
/* Print all bitset statistics to FILE. */
|
||||
static void
|
||||
bitset_stats_print (file, verbose)
|
||||
FILE *file;
|
||||
int verbose ATTRIBUTE_UNUSED;
|
||||
bitset_stats_print (FILE *file, int verbose ATTRIBUTE_UNUSED)
|
||||
{
|
||||
int i;
|
||||
|
||||
@@ -275,14 +216,14 @@ bitset_stats_print (file, verbose)
|
||||
fprintf (file, _("Accumulated runs = %u\n"), bitset_stats_info->runs);
|
||||
|
||||
for (i = 0; i < BITSET_TYPE_NUM; i++)
|
||||
bitset_stats_print_1 (file, bitset_type_names[i],
|
||||
bitset_stats_print_1 (file, bitset_type_names[i],
|
||||
&bitset_stats_info->types[i]);
|
||||
}
|
||||
|
||||
|
||||
/* Initialise bitset statistics logging. */
|
||||
void
|
||||
bitset_stats_enable ()
|
||||
bitset_stats_enable (void)
|
||||
{
|
||||
if (!bitset_stats_info)
|
||||
bitset_stats_info = &bitset_stats_info_data;
|
||||
@@ -291,7 +232,7 @@ bitset_stats_enable ()
|
||||
|
||||
|
||||
void
|
||||
bitset_stats_disable ()
|
||||
bitset_stats_disable (void)
|
||||
{
|
||||
bitset_stats_enabled = 0;
|
||||
}
|
||||
@@ -299,14 +240,13 @@ bitset_stats_disable ()
|
||||
|
||||
/* Read bitset statistics file. */
|
||||
void
|
||||
bitset_stats_read (filename)
|
||||
const char *filename;
|
||||
bitset_stats_read (const char *filename)
|
||||
{
|
||||
FILE *file;
|
||||
|
||||
if (!bitset_stats_info)
|
||||
return;
|
||||
|
||||
|
||||
if (!filename)
|
||||
filename = BITSET_STATS_FILE;
|
||||
|
||||
@@ -321,7 +261,8 @@ bitset_stats_read (filename)
|
||||
else
|
||||
fprintf (stderr, _("Bad stats file size.\n"));
|
||||
}
|
||||
fclose (file);
|
||||
if (fclose (file) != 0)
|
||||
perror (_("Could not read stats file."));
|
||||
}
|
||||
bitset_stats_info_data.runs++;
|
||||
}
|
||||
@@ -329,8 +270,7 @@ bitset_stats_read (filename)
|
||||
|
||||
/* Write bitset statistics file. */
|
||||
void
|
||||
bitset_stats_write (filename)
|
||||
const char *filename;
|
||||
bitset_stats_write (const char *filename)
|
||||
{
|
||||
FILE *file;
|
||||
|
||||
@@ -346,7 +286,8 @@ bitset_stats_write (filename)
|
||||
if (fwrite (&bitset_stats_info_data, sizeof (bitset_stats_info_data),
|
||||
1, file) != 1)
|
||||
perror (_("Could not write stats file."));
|
||||
fclose (file);
|
||||
if (fclose (file) != 0)
|
||||
perror (_("Could not write stats file."));
|
||||
}
|
||||
else
|
||||
perror (_("Could not open stats file for writing."));
|
||||
@@ -355,8 +296,7 @@ bitset_stats_write (filename)
|
||||
|
||||
/* Dump bitset statistics to FILE. */
|
||||
void
|
||||
bitset_stats_dump (file)
|
||||
FILE *file;
|
||||
bitset_stats_dump (FILE *file)
|
||||
{
|
||||
bitset_stats_print (file, 0);
|
||||
}
|
||||
@@ -371,14 +311,12 @@ debug_bitset_stats (void)
|
||||
|
||||
|
||||
static void
|
||||
bitset_stats_set (dst, bitno)
|
||||
bitset dst;
|
||||
bitset_bindex bitno;
|
||||
bitset_stats_set (bitset dst, bitset_bindex bitno)
|
||||
{
|
||||
bitset bset = dst->s.bset;
|
||||
bitset_windex wordno = bitno / BITSET_WORD_BITS;
|
||||
bitset_windex offset = wordno - bset->b.cindex;
|
||||
|
||||
|
||||
BITSET_STATS_SETS_INC (bset);
|
||||
|
||||
if (offset < bset->b.csize)
|
||||
@@ -392,14 +330,12 @@ bitset_stats_set (dst, bitno)
|
||||
|
||||
|
||||
static void
|
||||
bitset_stats_reset (dst, bitno)
|
||||
bitset dst;
|
||||
bitset_bindex bitno;
|
||||
bitset_stats_reset (bitset dst, bitset_bindex bitno)
|
||||
{
|
||||
bitset bset = dst->s.bset;
|
||||
bitset_windex wordno = bitno / BITSET_WORD_BITS;
|
||||
bitset_windex offset = wordno - bset->b.cindex;
|
||||
|
||||
|
||||
BITSET_STATS_RESETS_INC (bset);
|
||||
|
||||
if (offset < bset->b.csize)
|
||||
@@ -414,25 +350,21 @@ bitset_stats_reset (dst, bitno)
|
||||
|
||||
|
||||
static int
|
||||
bitset_stats_toggle (src, bitno)
|
||||
bitset src;
|
||||
bitset_bindex bitno;
|
||||
bitset_stats_toggle (bitset src, bitset_bindex bitno)
|
||||
{
|
||||
return BITSET_TOGGLE_ (src->s.bset, bitno);
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
bitset_stats_test (src, bitno)
|
||||
bitset src;
|
||||
bitset_bindex bitno;
|
||||
bitset_stats_test (bitset src, bitset_bindex bitno)
|
||||
{
|
||||
bitset bset = src->s.bset;
|
||||
bitset_windex wordno = bitno / BITSET_WORD_BITS;
|
||||
bitset_windex offset = wordno - bset->b.cindex;
|
||||
|
||||
BITSET_STATS_TESTS_INC (bset);
|
||||
|
||||
|
||||
if (offset < bset->b.csize)
|
||||
{
|
||||
BITSET_STATS_CACHE_TESTS_INC (bset);
|
||||
@@ -444,49 +376,42 @@ bitset_stats_test (src, bitno)
|
||||
|
||||
|
||||
static bitset_bindex
|
||||
bitset_stats_size (src)
|
||||
bitset src;
|
||||
bitset_stats_size (bitset src)
|
||||
{
|
||||
return BITSET_SIZE_ (src->s.bset);
|
||||
}
|
||||
|
||||
|
||||
static bitset_bindex
|
||||
bitset_stats_count (src)
|
||||
bitset src;
|
||||
bitset_stats_count (bitset src)
|
||||
{
|
||||
return BITSET_COUNT_ (src->s.bset);
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
bitset_stats_empty_p (dst)
|
||||
bitset dst;
|
||||
bitset_stats_empty_p (bitset dst)
|
||||
{
|
||||
return BITSET_EMPTY_P_ (dst->s.bset);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
bitset_stats_ones (dst)
|
||||
bitset dst;
|
||||
bitset_stats_ones (bitset dst)
|
||||
{
|
||||
BITSET_ONES_ (dst->s.bset);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
bitset_stats_zero (dst)
|
||||
bitset dst;
|
||||
bitset_stats_zero (bitset dst)
|
||||
{
|
||||
BITSET_ZERO_ (dst->s.bset);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
bitset_stats_copy (dst, src)
|
||||
bitset dst;
|
||||
bitset src;
|
||||
bitset_stats_copy (bitset dst, bitset src)
|
||||
{
|
||||
BITSET_CHECK2_ (dst, src);
|
||||
BITSET_COPY_ (dst->s.bset, src->s.bset);
|
||||
@@ -494,9 +419,7 @@ bitset_stats_copy (dst, src)
|
||||
|
||||
|
||||
static int
|
||||
bitset_stats_disjoint_p (dst, src)
|
||||
bitset dst;
|
||||
bitset src;
|
||||
bitset_stats_disjoint_p (bitset dst, bitset src)
|
||||
{
|
||||
BITSET_CHECK2_ (dst, src);
|
||||
return BITSET_DISJOINT_P_ (dst->s.bset, src->s.bset);
|
||||
@@ -504,9 +427,7 @@ bitset_stats_disjoint_p (dst, src)
|
||||
|
||||
|
||||
static int
|
||||
bitset_stats_equal_p (dst, src)
|
||||
bitset dst;
|
||||
bitset src;
|
||||
bitset_stats_equal_p (bitset dst, bitset src)
|
||||
{
|
||||
BITSET_CHECK2_ (dst, src);
|
||||
return BITSET_EQUAL_P_ (dst->s.bset, src->s.bset);
|
||||
@@ -514,9 +435,7 @@ bitset_stats_equal_p (dst, src)
|
||||
|
||||
|
||||
static void
|
||||
bitset_stats_not (dst, src)
|
||||
bitset dst;
|
||||
bitset src;
|
||||
bitset_stats_not (bitset dst, bitset src)
|
||||
{
|
||||
BITSET_CHECK2_ (dst, src);
|
||||
BITSET_NOT_ (dst->s.bset, src->s.bset);
|
||||
@@ -524,9 +443,7 @@ bitset_stats_not (dst, src)
|
||||
|
||||
|
||||
static int
|
||||
bitset_stats_subset_p (dst, src)
|
||||
bitset dst;
|
||||
bitset src;
|
||||
bitset_stats_subset_p (bitset dst, bitset src)
|
||||
{
|
||||
BITSET_CHECK2_ (dst, src);
|
||||
return BITSET_SUBSET_P_ (dst->s.bset, src->s.bset);
|
||||
@@ -534,10 +451,7 @@ bitset_stats_subset_p (dst, src)
|
||||
|
||||
|
||||
static void
|
||||
bitset_stats_and (dst, src1, src2)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
bitset_stats_and (bitset dst, bitset src1, bitset src2)
|
||||
{
|
||||
BITSET_CHECK3_ (dst, src1, src2);
|
||||
BITSET_AND_ (dst->s.bset, src1->s.bset, src2->s.bset);
|
||||
@@ -545,10 +459,7 @@ bitset_stats_and (dst, src1, src2)
|
||||
|
||||
|
||||
static int
|
||||
bitset_stats_and_cmp (dst, src1, src2)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
bitset_stats_and_cmp (bitset dst, bitset src1, bitset src2)
|
||||
{
|
||||
BITSET_CHECK3_ (dst, src1, src2);
|
||||
return BITSET_AND_CMP_ (dst->s.bset, src1->s.bset, src2->s.bset);
|
||||
@@ -556,10 +467,7 @@ bitset_stats_and_cmp (dst, src1, src2)
|
||||
|
||||
|
||||
static void
|
||||
bitset_stats_andn (dst, src1, src2)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
bitset_stats_andn (bitset dst, bitset src1, bitset src2)
|
||||
{
|
||||
BITSET_CHECK3_ (dst, src1, src2);
|
||||
BITSET_ANDN_ (dst->s.bset, src1->s.bset, src2->s.bset);
|
||||
@@ -567,10 +475,7 @@ bitset_stats_andn (dst, src1, src2)
|
||||
|
||||
|
||||
static int
|
||||
bitset_stats_andn_cmp (dst, src1, src2)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
bitset_stats_andn_cmp (bitset dst, bitset src1, bitset src2)
|
||||
{
|
||||
BITSET_CHECK3_ (dst, src1, src2);
|
||||
return BITSET_ANDN_CMP_ (dst->s.bset, src1->s.bset, src2->s.bset);
|
||||
@@ -578,10 +483,7 @@ bitset_stats_andn_cmp (dst, src1, src2)
|
||||
|
||||
|
||||
static void
|
||||
bitset_stats_or (dst, src1, src2)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
bitset_stats_or (bitset dst, bitset src1, bitset src2)
|
||||
{
|
||||
BITSET_CHECK3_ (dst, src1, src2);
|
||||
BITSET_OR_ (dst->s.bset, src1->s.bset, src2->s.bset);
|
||||
@@ -589,10 +491,7 @@ bitset_stats_or (dst, src1, src2)
|
||||
|
||||
|
||||
static int
|
||||
bitset_stats_or_cmp (dst, src1, src2)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
bitset_stats_or_cmp (bitset dst, bitset src1, bitset src2)
|
||||
{
|
||||
BITSET_CHECK3_ (dst, src1, src2);
|
||||
return BITSET_OR_CMP_ (dst->s.bset, src1->s.bset, src2->s.bset);
|
||||
@@ -600,10 +499,7 @@ bitset_stats_or_cmp (dst, src1, src2)
|
||||
|
||||
|
||||
static void
|
||||
bitset_stats_xor (dst, src1, src2)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
bitset_stats_xor (bitset dst, bitset src1, bitset src2)
|
||||
{
|
||||
BITSET_CHECK3_ (dst, src1, src2);
|
||||
BITSET_XOR_ (dst->s.bset, src1->s.bset, src2->s.bset);
|
||||
@@ -611,10 +507,7 @@ bitset_stats_xor (dst, src1, src2)
|
||||
|
||||
|
||||
static int
|
||||
bitset_stats_xor_cmp (dst, src1, src2)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
bitset_stats_xor_cmp (bitset dst, bitset src1, bitset src2)
|
||||
{
|
||||
BITSET_CHECK3_ (dst, src1, src2);
|
||||
return BITSET_XOR_CMP_ (dst->s.bset, src1->s.bset, src2->s.bset);
|
||||
@@ -622,11 +515,7 @@ bitset_stats_xor_cmp (dst, src1, src2)
|
||||
|
||||
|
||||
static void
|
||||
bitset_stats_and_or (dst, src1, src2, src3)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
bitset src3;
|
||||
bitset_stats_and_or (bitset dst, bitset src1, bitset src2, bitset src3)
|
||||
{
|
||||
BITSET_CHECK4_ (dst, src1, src2, src3);
|
||||
|
||||
@@ -635,11 +524,7 @@ bitset_stats_and_or (dst, src1, src2, src3)
|
||||
|
||||
|
||||
static int
|
||||
bitset_stats_and_or_cmp (dst, src1, src2, src3)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
bitset src3;
|
||||
bitset_stats_and_or_cmp (bitset dst, bitset src1, bitset src2, bitset src3)
|
||||
{
|
||||
BITSET_CHECK4_ (dst, src1, src2, src3);
|
||||
|
||||
@@ -648,11 +533,7 @@ bitset_stats_and_or_cmp (dst, src1, src2, src3)
|
||||
|
||||
|
||||
static void
|
||||
bitset_stats_andn_or (dst, src1, src2, src3)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
bitset src3;
|
||||
bitset_stats_andn_or (bitset dst, bitset src1, bitset src2, bitset src3)
|
||||
{
|
||||
BITSET_CHECK4_ (dst, src1, src2, src3);
|
||||
|
||||
@@ -661,11 +542,7 @@ bitset_stats_andn_or (dst, src1, src2, src3)
|
||||
|
||||
|
||||
static int
|
||||
bitset_stats_andn_or_cmp (dst, src1, src2, src3)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
bitset src3;
|
||||
bitset_stats_andn_or_cmp (bitset dst, bitset src1, bitset src2, bitset src3)
|
||||
{
|
||||
BITSET_CHECK4_ (dst, src1, src2, src3);
|
||||
|
||||
@@ -674,11 +551,7 @@ bitset_stats_andn_or_cmp (dst, src1, src2, src3)
|
||||
|
||||
|
||||
static void
|
||||
bitset_stats_or_and (dst, src1, src2, src3)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
bitset src3;
|
||||
bitset_stats_or_and (bitset dst, bitset src1, bitset src2, bitset src3)
|
||||
{
|
||||
BITSET_CHECK4_ (dst, src1, src2, src3);
|
||||
|
||||
@@ -687,11 +560,7 @@ bitset_stats_or_and (dst, src1, src2, src3)
|
||||
|
||||
|
||||
static int
|
||||
bitset_stats_or_and_cmp (dst, src1, src2, src3)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
bitset src3;
|
||||
bitset_stats_or_and_cmp (bitset dst, bitset src1, bitset src2, bitset src3)
|
||||
{
|
||||
BITSET_CHECK4_ (dst, src1, src2, src3);
|
||||
|
||||
@@ -700,11 +569,8 @@ bitset_stats_or_and_cmp (dst, src1, src2, src3)
|
||||
|
||||
|
||||
static bitset_bindex
|
||||
bitset_stats_list (bset, list, num, next)
|
||||
bitset bset;
|
||||
bitset_bindex *list;
|
||||
bitset_bindex num;
|
||||
bitset_bindex *next;
|
||||
bitset_stats_list (bitset bset, bitset_bindex *list,
|
||||
bitset_bindex num, bitset_bindex *next)
|
||||
{
|
||||
bitset_bindex count;
|
||||
bitset_bindex tmp;
|
||||
@@ -713,17 +579,17 @@ bitset_stats_list (bset, list, num, next)
|
||||
enum bitset_type type;
|
||||
|
||||
count = BITSET_LIST_ (bset->s.bset, list, num, next);
|
||||
|
||||
|
||||
type = BITSET_TYPE_ (bset->s.bset);
|
||||
BITSET_STATS_LISTS_INC (bset->s.bset);
|
||||
|
||||
|
||||
/* Log histogram of number of set bits. */
|
||||
for (i = 0, tmp = count; tmp; tmp >>= 1, i++)
|
||||
continue;
|
||||
if (i >= BITSET_LOG_COUNT_BINS)
|
||||
i = BITSET_LOG_COUNT_BINS - 1;
|
||||
BITSET_STATS_LIST_COUNTS_INC (bset->s.bset, i);
|
||||
|
||||
|
||||
/* Log histogram of number of bits in set. */
|
||||
size = BITSET_SIZE_ (bset->s.bset);
|
||||
for (i = 0, tmp = size; tmp; tmp >>= 1, i++)
|
||||
@@ -731,7 +597,7 @@ bitset_stats_list (bset, list, num, next)
|
||||
if (i >= BITSET_LOG_SIZE_BINS)
|
||||
i = BITSET_LOG_SIZE_BINS - 1;
|
||||
BITSET_STATS_LIST_SIZES_INC (bset->s.bset, i);
|
||||
|
||||
|
||||
/* Histogram of fraction of bits set. */
|
||||
i = size ? (count * BITSET_DENSITY_BINS) / size : 0;
|
||||
if (i >= BITSET_DENSITY_BINS)
|
||||
@@ -742,19 +608,15 @@ bitset_stats_list (bset, list, num, next)
|
||||
|
||||
|
||||
static bitset_bindex
|
||||
bitset_stats_list_reverse (bset, list, num, next)
|
||||
bitset bset;
|
||||
bitset_bindex *list;
|
||||
bitset_bindex num;
|
||||
bitset_bindex *next;
|
||||
bitset_stats_list_reverse (bitset bset, bitset_bindex *list,
|
||||
bitset_bindex num, bitset_bindex *next)
|
||||
{
|
||||
return BITSET_LIST_REVERSE_ (bset->s.bset, list, num, next);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
bitset_stats_free (bset)
|
||||
bitset bset;
|
||||
bitset_stats_free (bitset bset)
|
||||
{
|
||||
BITSET_STATS_FREES_INC (bset->s.bset);
|
||||
BITSET_FREE_ (bset->s.bset);
|
||||
@@ -799,8 +661,7 @@ struct bitset_vtable bitset_stats_vtable = {
|
||||
|
||||
/* Return enclosed bitset type. */
|
||||
enum bitset_type
|
||||
bitset_stats_type_get (bset)
|
||||
bitset bset;
|
||||
bitset_stats_type_get (bitset bset)
|
||||
{
|
||||
return BITSET_TYPE_ (bset->s.bset);
|
||||
}
|
||||
@@ -814,10 +675,7 @@ bitset_stats_bytes (void)
|
||||
|
||||
|
||||
bitset
|
||||
bitset_stats_init (bset, n_bits, type)
|
||||
bitset bset;
|
||||
bitset_bindex n_bits;
|
||||
enum_bitset_type type;
|
||||
bitset_stats_init (bitset bset, bitset_bindex n_bits, enum bitset_type type)
|
||||
{
|
||||
size_t bytes;
|
||||
bitset sbset;
|
||||
@@ -858,6 +716,6 @@ bitset_stats_init (bset, n_bits, type)
|
||||
bset->s.bset = sbset;
|
||||
|
||||
BITSET_STATS_ALLOCS_INC (type);
|
||||
|
||||
|
||||
return bset;
|
||||
}
|
||||
|
||||
+3
-3
@@ -17,7 +17,7 @@ along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
#ifndef _BITSET_STATS_H
|
||||
#define _BITSET_STATS_H
|
||||
#define _BITSET_STATS_H
|
||||
|
||||
#include "bbitset.h"
|
||||
|
||||
@@ -27,7 +27,7 @@ extern enum bitset_type bitset_stats_type_get PARAMS ((bitset));
|
||||
|
||||
extern size_t bitset_stats_bytes PARAMS ((void));
|
||||
|
||||
extern bitset bitset_stats_init PARAMS ((bitset, bitset_bindex,
|
||||
enum_bitset_type));
|
||||
extern bitset bitset_stats_init PARAMS ((bitset, bitset_bindex,
|
||||
enum bitset_type));
|
||||
|
||||
#endif
|
||||
|
||||
+24
-36
@@ -29,35 +29,33 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
||||
/* Create a vector of N_VECS bitsets, each of N_BITS, and of
|
||||
type TYPE. */
|
||||
bitset *
|
||||
bitsetv_alloc (n_vecs, n_bits, type)
|
||||
bitset_bindex n_vecs;
|
||||
bitset_bindex n_bits;
|
||||
enum_bitset_type type;
|
||||
bitsetv_alloc (bitset_bindex n_vecs, bitset_bindex n_bits,
|
||||
enum bitset_type type)
|
||||
{
|
||||
size_t vector_bytes;
|
||||
size_t bytes;
|
||||
bitset *bsetv;
|
||||
bitset_bindex i;
|
||||
|
||||
|
||||
/* Determine number of bytes for each set. */
|
||||
bytes = bitset_bytes (type, n_bits);
|
||||
|
||||
/* If size calculation overflows, memory is exhausted. */
|
||||
if (BITSET_SIZE_MAX / (sizeof (bitset) + bytes) <= n_vecs)
|
||||
xalloc_die ();
|
||||
|
||||
|
||||
/* Allocate vector table at head of bitset array. */
|
||||
vector_bytes = (n_vecs + 1) * sizeof (bitset) + bytes - 1;
|
||||
vector_bytes -= vector_bytes % bytes;
|
||||
bsetv = (bitset *) xcalloc (1, vector_bytes + bytes * n_vecs);
|
||||
|
||||
|
||||
for (i = 0; i < n_vecs; i++)
|
||||
{
|
||||
bsetv[i] = (bitset) (void *) ((char *) bsetv + vector_bytes + i * bytes);
|
||||
|
||||
|
||||
bitset_init (bsetv[i], n_bits, type);
|
||||
}
|
||||
|
||||
|
||||
/* Null terminate table. */
|
||||
bsetv[i] = 0;
|
||||
return bsetv;
|
||||
@@ -67,13 +65,10 @@ bitsetv_alloc (n_vecs, n_bits, type)
|
||||
/* Create a vector of N_VECS bitsets, each of N_BITS, and with
|
||||
attribute hints specified by ATTR. */
|
||||
bitset *
|
||||
bitsetv_create (n_vecs, n_bits, attr)
|
||||
bitset_bindex n_vecs;
|
||||
bitset_bindex n_bits;
|
||||
unsigned int attr;
|
||||
bitsetv_create (bitset_bindex n_vecs, bitset_bindex n_bits, unsigned int attr)
|
||||
{
|
||||
enum bitset_type type;
|
||||
|
||||
|
||||
type = bitset_type_choose (n_bits, attr);
|
||||
return bitsetv_alloc (n_vecs, n_bits, type);
|
||||
}
|
||||
@@ -81,8 +76,7 @@ bitsetv_create (n_vecs, n_bits, attr)
|
||||
|
||||
/* Free bitset vector BSETV. */
|
||||
void
|
||||
bitsetv_free (bsetv)
|
||||
bitset *bsetv;
|
||||
bitsetv_free (bitsetv bsetv)
|
||||
{
|
||||
bitset_bindex i;
|
||||
|
||||
@@ -94,11 +88,10 @@ bitsetv_free (bsetv)
|
||||
|
||||
/* Zero a vector of bitsets. */
|
||||
void
|
||||
bitsetv_zero (bsetv)
|
||||
bitsetv bsetv;
|
||||
bitsetv_zero (bitsetv bsetv)
|
||||
{
|
||||
bitset_bindex i;
|
||||
|
||||
|
||||
for (i = 0; bsetv[i]; i++)
|
||||
bitset_zero (bsetv[i]);
|
||||
}
|
||||
@@ -106,11 +99,10 @@ bitsetv_zero (bsetv)
|
||||
|
||||
/* Set a vector of bitsets to ones. */
|
||||
void
|
||||
bitsetv_ones (bsetv)
|
||||
bitset *bsetv;
|
||||
bitsetv_ones (bitsetv bsetv)
|
||||
{
|
||||
bitset_bindex i;
|
||||
|
||||
|
||||
for (i = 0; bsetv[i]; i++)
|
||||
bitset_ones (bsetv[i]);
|
||||
}
|
||||
@@ -119,8 +111,7 @@ bitsetv_ones (bsetv)
|
||||
/* Given a vector BSETV of N bitsets of size N, modify its contents to
|
||||
be the transitive closure of what was given. */
|
||||
void
|
||||
bitsetv_transitive_closure (bsetv)
|
||||
bitset *bsetv;
|
||||
bitsetv_transitive_closure (bitsetv bsetv)
|
||||
{
|
||||
bitset_bindex i;
|
||||
bitset_bindex j;
|
||||
@@ -128,12 +119,12 @@ bitsetv_transitive_closure (bsetv)
|
||||
for (i = 0; bsetv[i]; i++)
|
||||
for (j = 0; bsetv[j]; j++)
|
||||
if (bitset_test (bsetv[j], i))
|
||||
bitset_or (bsetv[j], bsetv[j], bsetv[i]);
|
||||
bitset_or (bsetv[j], bsetv[j], bsetv[i]);
|
||||
}
|
||||
|
||||
|
||||
/* Given a vector BSETV of N bitsets of size N, modify its contents to
|
||||
be the reflexive transitive closure of what was given. This is
|
||||
be the reflexive transitive closure of what was given. This is
|
||||
the same as transitive closure but with all bits on the diagonal
|
||||
of the bit matrix set. */
|
||||
void
|
||||
@@ -150,35 +141,32 @@ bitsetv_reflexive_transitive_closure (bitsetv bsetv)
|
||||
/* Dump the contents of a bitset vector BSETV with N_VECS elements to
|
||||
FILE. */
|
||||
void
|
||||
bitsetv_dump (file, title, subtitle, bsetv)
|
||||
FILE *file;
|
||||
const char *title, *subtitle;
|
||||
bitset *bsetv;
|
||||
bitsetv_dump (FILE *file, char const *title, char const *subtitle,
|
||||
bitsetv bsetv)
|
||||
{
|
||||
bitset_windex i;
|
||||
|
||||
|
||||
fprintf (file, "%s\n", title);
|
||||
for (i = 0; bsetv[i]; i++)
|
||||
{
|
||||
fprintf (file, "%s %lu\n", subtitle, (unsigned long) i);
|
||||
bitset_dump (file, bsetv[i]);
|
||||
}
|
||||
|
||||
|
||||
fprintf (file, "\n");
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
debug_bitsetv (bsetv)
|
||||
bitset *bsetv;
|
||||
debug_bitsetv (bitsetv bsetv)
|
||||
{
|
||||
bitset_windex i;
|
||||
|
||||
|
||||
for (i = 0; bsetv[i]; i++)
|
||||
{
|
||||
fprintf (stderr, "%lu: ", (unsigned long) i);
|
||||
debug_bitset (bsetv[i]);
|
||||
}
|
||||
|
||||
|
||||
fprintf (stderr, "\n");
|
||||
}
|
||||
|
||||
+2
-2
@@ -26,7 +26,7 @@ typedef bitset * bitsetv;
|
||||
/* Create a vector of N_VECS bitsets, each of N_BITS, and of
|
||||
type TYPE. */
|
||||
extern bitsetv bitsetv_alloc PARAMS ((bitset_bindex, bitset_bindex,
|
||||
enum_bitset_type));
|
||||
enum bitset_type));
|
||||
|
||||
/* Create a vector of N_VECS bitsets, each of N_BITS, and with
|
||||
attribute hints specified by ATTR. */
|
||||
@@ -47,7 +47,7 @@ extern void bitsetv_ones PARAMS ((bitsetv));
|
||||
extern void bitsetv_transitive_closure PARAMS ((bitsetv));
|
||||
|
||||
/* Given a vector BSETV of N bitsets of size N, modify its contents to
|
||||
be the reflexive transitive closure of what was given. This is
|
||||
be the reflexive transitive closure of what was given. This is
|
||||
the same as transitive closure but with all bits on the diagonal
|
||||
of the bit matrix set. */
|
||||
extern void bitsetv_reflexive_transitive_closure PARAMS ((bitsetv));
|
||||
|
||||
+78
-195
@@ -14,7 +14,7 @@
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
@@ -37,12 +37,12 @@
|
||||
Bitsets are commonly empty so we need to ensure that this special
|
||||
case is fast. A zero bitset is indicated when cdata is 0. This is
|
||||
conservative since cdata may be non zero and the bitset may still
|
||||
be zero.
|
||||
be zero.
|
||||
|
||||
The bitset cache can be disabled either by setting cindex to
|
||||
BITSET_WINDEX_MAX or by setting csize to 0. Here
|
||||
BITSET_WINDEX_MAX or by setting csize to 0. Here
|
||||
we use the former approach since cindex needs to be updated whenever
|
||||
cdata is changed.
|
||||
cdata is changed.
|
||||
*/
|
||||
|
||||
|
||||
@@ -83,7 +83,6 @@ typedef ebitset_elt *ebitset_elts;
|
||||
|
||||
enum ebitset_find_mode
|
||||
{ EBITSET_FIND, EBITSET_CREATE, EBITSET_SUBST };
|
||||
typedef int enum_ebitset_find_mode;
|
||||
|
||||
static ebitset_elt ebitset_zero_elts[1]; /* Elements of all zero bits. */
|
||||
|
||||
@@ -92,47 +91,6 @@ static struct obstack ebitset_obstack;
|
||||
static int ebitset_obstack_init = 0;
|
||||
static ebitset_elt *ebitset_free_list; /* Free list of bitset elements. */
|
||||
|
||||
static void ebitset_elts_grow PARAMS ((bitset, bitset_windex));
|
||||
static ebitset_elt *ebitset_elt_alloc PARAMS ((void));
|
||||
static ebitset_elt *ebitset_elt_calloc PARAMS ((void));
|
||||
static void ebitset_elt_add PARAMS ((bitset, ebitset_elt *, bitset_windex));
|
||||
static void ebitset_elt_remove PARAMS ((bitset, bitset_windex));
|
||||
static void ebitset_elt_free PARAMS ((ebitset_elt *));
|
||||
static ebitset_elt *ebitset_elt_find PARAMS ((bitset, bitset_windex,
|
||||
enum_ebitset_find_mode));
|
||||
static ebitset_elt *ebitset_elt_last PARAMS ((bitset));
|
||||
static int ebitset_elt_zero_p PARAMS ((ebitset_elt *));
|
||||
|
||||
static bitset_windex ebitset_weed PARAMS ((bitset));
|
||||
static void ebitset_zero PARAMS ((bitset));
|
||||
static void ebitset_copy_ PARAMS ((bitset, bitset));
|
||||
static int ebitset_copy_cmp PARAMS ((bitset, bitset));
|
||||
static void ebitset_set PARAMS ((bitset, bitset_bindex));
|
||||
static void ebitset_reset PARAMS ((bitset, bitset_bindex));
|
||||
static int ebitset_test PARAMS ((bitset, bitset_bindex));
|
||||
static bitset_bindex ebitset_size PARAMS ((bitset));
|
||||
static int ebitset_disjoint_p PARAMS ((bitset, bitset));
|
||||
static int ebitset_equal_p PARAMS ((bitset, bitset));
|
||||
static void ebitset_not PARAMS ((bitset, bitset));
|
||||
static int ebitset_subset_p PARAMS ((bitset, bitset));
|
||||
static int ebitset_op3_cmp PARAMS ((bitset, bitset, bitset, enum_bitset_ops));
|
||||
static void ebitset_and PARAMS ((bitset, bitset, bitset));
|
||||
static int ebitset_and_cmp PARAMS ((bitset, bitset, bitset));
|
||||
static void ebitset_andn PARAMS ((bitset, bitset, bitset));
|
||||
static int ebitset_andn_cmp PARAMS ((bitset, bitset, bitset));
|
||||
static void ebitset_or PARAMS ((bitset, bitset, bitset));
|
||||
static int ebitset_or_cmp PARAMS ((bitset, bitset, bitset));
|
||||
static void ebitset_xor PARAMS ((bitset, bitset, bitset));
|
||||
static int ebitset_xor_cmp PARAMS ((bitset, bitset, bitset));
|
||||
static void ebitset_copy PARAMS ((bitset, bitset));
|
||||
static bitset_bindex ebitset_list PARAMS ((bitset, bitset_bindex *,
|
||||
bitset_bindex, bitset_bindex *));
|
||||
static bitset_bindex ebitset_list_reverse
|
||||
PARAMS ((bitset, bitset_bindex *, bitset_bindex, bitset_bindex *));
|
||||
static void ebitset_ones PARAMS ((bitset));
|
||||
static int ebitset_empty_p PARAMS ((bitset));
|
||||
static void ebitset_free PARAMS ((bitset));
|
||||
|
||||
#define EBITSET_ELTS(BSET) ((BSET)->e.elts)
|
||||
#define EBITSET_SIZE(BSET) ((BSET)->e.size)
|
||||
|
||||
@@ -141,7 +99,7 @@ static void ebitset_free PARAMS ((bitset));
|
||||
|
||||
/* Disable bitset cache and mark BSET as being zero. */
|
||||
#define EBITSET_ZERO_SET(BSET) ((BSET)->b.cindex = BITSET_WINDEX_MAX, \
|
||||
(BSET)->b.cdata = 0)
|
||||
(BSET)->b.cdata = 0)
|
||||
|
||||
#define EBITSET_CACHE_DISABLE(BSET) ((BSET)->b.cindex = BITSET_WINDEX_MAX)
|
||||
|
||||
@@ -153,7 +111,7 @@ static void ebitset_free PARAMS ((bitset));
|
||||
This is non-zero only if we know for sure that the bitset is zero. */
|
||||
#define EBITSET_ZERO_P(BSET) ((BSET)->b.cdata == 0)
|
||||
|
||||
/* Enable cache to point to element with table index EINDEX.
|
||||
/* Enable cache to point to element with table index EINDEX.
|
||||
The element must exist. */
|
||||
#define EBITSET_CACHE_SET(BSET, EINDEX) \
|
||||
((BSET)->b.cindex = (EINDEX) * EBITSET_ELT_WORDS, \
|
||||
@@ -162,9 +120,7 @@ static void ebitset_free PARAMS ((bitset));
|
||||
|
||||
/* Grow the expandable table for BSET by SIZE elements. */
|
||||
static void
|
||||
ebitset_elts_grow (bset, size)
|
||||
bitset bset;
|
||||
bitset_windex size;
|
||||
ebitset_elts_grow (bitset bset, bitset_windex size)
|
||||
{
|
||||
bitset_windex oldsize;
|
||||
bitset_windex newsize;
|
||||
@@ -185,7 +141,7 @@ ebitset_elts_grow (bset, size)
|
||||
|
||||
/* Allocate a ebitset element. The bits are not cleared. */
|
||||
static inline ebitset_elt *
|
||||
ebitset_elt_alloc ()
|
||||
ebitset_elt_alloc (void)
|
||||
{
|
||||
ebitset_elt *elt;
|
||||
|
||||
@@ -240,7 +196,7 @@ ebitset_elt_alloc ()
|
||||
|
||||
/* Allocate a ebitset element. The bits are cleared. */
|
||||
static inline ebitset_elt *
|
||||
ebitset_elt_calloc ()
|
||||
ebitset_elt_calloc (void)
|
||||
{
|
||||
ebitset_elt *elt;
|
||||
|
||||
@@ -251,8 +207,7 @@ ebitset_elt_calloc ()
|
||||
|
||||
|
||||
static inline void
|
||||
ebitset_elt_free (elt)
|
||||
ebitset_elt *elt;
|
||||
ebitset_elt_free (ebitset_elt *elt)
|
||||
{
|
||||
EBITSET_NEXT (elt) = ebitset_free_list;
|
||||
ebitset_free_list = elt;
|
||||
@@ -261,9 +216,7 @@ ebitset_elt_free (elt)
|
||||
|
||||
/* Remove element with index EINDEX from bitset BSET. */
|
||||
static inline void
|
||||
ebitset_elt_remove (bset, eindex)
|
||||
bitset bset;
|
||||
bitset_windex eindex;
|
||||
ebitset_elt_remove (bitset bset, bitset_windex eindex)
|
||||
{
|
||||
ebitset_elts *elts;
|
||||
ebitset_elt *elt;
|
||||
@@ -279,10 +232,7 @@ ebitset_elt_remove (bset, eindex)
|
||||
|
||||
/* Add ELT into elts at index EINDEX of bitset BSET. */
|
||||
static inline void
|
||||
ebitset_elt_add (bset, elt, eindex)
|
||||
bitset bset;
|
||||
ebitset_elt *elt;
|
||||
bitset_windex eindex;
|
||||
ebitset_elt_add (bitset bset, ebitset_elt *elt, bitset_windex eindex)
|
||||
{
|
||||
ebitset_elts *elts;
|
||||
|
||||
@@ -294,8 +244,7 @@ ebitset_elt_add (bset, elt, eindex)
|
||||
|
||||
/* Return nonzero if all bits in an element are zero. */
|
||||
static inline int
|
||||
ebitset_elt_zero_p (elt)
|
||||
ebitset_elt *elt;
|
||||
ebitset_elt_zero_p (ebitset_elt *elt)
|
||||
{
|
||||
int i;
|
||||
|
||||
@@ -308,10 +257,8 @@ ebitset_elt_zero_p (elt)
|
||||
|
||||
|
||||
static ebitset_elt *
|
||||
ebitset_elt_find (bset, windex, mode)
|
||||
bitset bset;
|
||||
bitset_windex windex;
|
||||
enum_ebitset_find_mode mode;
|
||||
ebitset_elt_find (bitset bset, bitset_windex windex,
|
||||
enum ebitset_find_mode mode)
|
||||
{
|
||||
ebitset_elt *elt;
|
||||
bitset_windex size;
|
||||
@@ -376,8 +323,7 @@ ebitset_elt_find (bset, windex, mode)
|
||||
|
||||
|
||||
static inline ebitset_elt *
|
||||
ebitset_elt_last (bset)
|
||||
bitset bset;
|
||||
ebitset_elt_last (bitset bset)
|
||||
{
|
||||
ebitset_elts *elts;
|
||||
|
||||
@@ -390,8 +336,7 @@ ebitset_elt_last (bset)
|
||||
|
||||
/* Weed out the zero elements from the elts. */
|
||||
static inline bitset_windex
|
||||
ebitset_weed (bset)
|
||||
bitset bset;
|
||||
ebitset_weed (bitset bset)
|
||||
{
|
||||
ebitset_elts *elts;
|
||||
bitset_windex j;
|
||||
@@ -421,7 +366,7 @@ ebitset_weed (bset)
|
||||
count = j - count;
|
||||
if (!count)
|
||||
{
|
||||
/* All the bits are zero. We could shrink the elts.
|
||||
/* All the bits are zero. We could shrink the elts.
|
||||
For now just mark BSET as known to be zero. */
|
||||
EBITSET_ZERO_SET (bset);
|
||||
}
|
||||
@@ -434,8 +379,7 @@ ebitset_weed (bset)
|
||||
|
||||
/* Set all bits in the bitset to zero. */
|
||||
static inline void
|
||||
ebitset_zero (bset)
|
||||
bitset bset;
|
||||
ebitset_zero (bitset bset)
|
||||
{
|
||||
ebitset_elts *elts;
|
||||
bitset_windex j;
|
||||
@@ -452,16 +396,14 @@ ebitset_zero (bset)
|
||||
ebitset_elt_remove (bset, j);
|
||||
}
|
||||
|
||||
/* All the bits are zero. We could shrink the elts.
|
||||
/* All the bits are zero. We could shrink the elts.
|
||||
For now just mark BSET as known to be zero. */
|
||||
EBITSET_ZERO_SET (bset);
|
||||
}
|
||||
|
||||
|
||||
static inline int
|
||||
ebitset_equal_p (dst, src)
|
||||
bitset dst;
|
||||
bitset src;
|
||||
ebitset_equal_p (bitset dst, bitset src)
|
||||
{
|
||||
ebitset_elts *selts;
|
||||
ebitset_elts *delts;
|
||||
@@ -500,9 +442,7 @@ ebitset_equal_p (dst, src)
|
||||
|
||||
/* Copy bits from bitset SRC to bitset DST. */
|
||||
static inline void
|
||||
ebitset_copy_ (dst, src)
|
||||
bitset dst;
|
||||
bitset src;
|
||||
ebitset_copy_ (bitset dst, bitset src)
|
||||
{
|
||||
ebitset_elts *selts;
|
||||
ebitset_elts *delts;
|
||||
@@ -539,9 +479,7 @@ ebitset_copy_ (dst, src)
|
||||
/* Copy bits from bitset SRC to bitset DST. Return non-zero if
|
||||
bitsets different. */
|
||||
static inline int
|
||||
ebitset_copy_cmp (dst, src)
|
||||
bitset dst;
|
||||
bitset src;
|
||||
ebitset_copy_cmp (bitset dst, bitset src)
|
||||
{
|
||||
if (src == dst)
|
||||
return 0;
|
||||
@@ -562,8 +500,7 @@ ebitset_copy_cmp (dst, src)
|
||||
|
||||
/* Return size in bits of bitset SRC. */
|
||||
static bitset_bindex
|
||||
ebitset_size (src)
|
||||
bitset src;
|
||||
ebitset_size (bitset src)
|
||||
{
|
||||
/* Return current size of bitset in bits. */
|
||||
return EBITSET_SIZE (src) * EBITSET_ELT_BITS;
|
||||
@@ -572,9 +509,7 @@ ebitset_size (src)
|
||||
|
||||
/* Set bit BITNO in bitset DST. */
|
||||
static void
|
||||
ebitset_set (dst, bitno)
|
||||
bitset dst;
|
||||
bitset_bindex bitno;
|
||||
ebitset_set (bitset dst, bitset_bindex bitno)
|
||||
{
|
||||
bitset_windex windex = bitno / BITSET_WORD_BITS;
|
||||
|
||||
@@ -587,9 +522,7 @@ ebitset_set (dst, bitno)
|
||||
|
||||
/* Reset bit BITNO in bitset DST. */
|
||||
static void
|
||||
ebitset_reset (dst, bitno)
|
||||
bitset dst;
|
||||
bitset_bindex bitno;
|
||||
ebitset_reset (bitset dst, bitset_bindex bitno)
|
||||
{
|
||||
bitset_windex windex = bitno / BITSET_WORD_BITS;
|
||||
|
||||
@@ -599,7 +532,7 @@ ebitset_reset (dst, bitno)
|
||||
dst->b.cdata[windex - dst->b.cindex] &=
|
||||
~((bitset_word) 1 << (bitno % BITSET_WORD_BITS));
|
||||
|
||||
/* If all the data is zero, perhaps we should remove it now...
|
||||
/* If all the data is zero, perhaps we should remove it now...
|
||||
However, there is a good chance that the element will be needed
|
||||
again soon. */
|
||||
}
|
||||
@@ -607,9 +540,7 @@ ebitset_reset (dst, bitno)
|
||||
|
||||
/* Test bit BITNO in bitset SRC. */
|
||||
static int
|
||||
ebitset_test (src, bitno)
|
||||
bitset src;
|
||||
bitset_bindex bitno;
|
||||
ebitset_test (bitset src, bitset_bindex bitno)
|
||||
{
|
||||
bitset_windex windex = bitno / BITSET_WORD_BITS;
|
||||
|
||||
@@ -622,8 +553,7 @@ ebitset_test (src, bitno)
|
||||
|
||||
|
||||
static void
|
||||
ebitset_free (bset)
|
||||
bitset bset;
|
||||
ebitset_free (bitset bset)
|
||||
{
|
||||
ebitset_zero (bset);
|
||||
free (EBITSET_ELTS (bset));
|
||||
@@ -634,11 +564,8 @@ ebitset_free (bset)
|
||||
*NEXT and store in array LIST. Return with actual number of bits
|
||||
found and with *NEXT indicating where search stopped. */
|
||||
static bitset_bindex
|
||||
ebitset_list_reverse (bset, list, num, next)
|
||||
bitset bset;
|
||||
bitset_bindex *list;
|
||||
bitset_bindex num;
|
||||
bitset_bindex *next;
|
||||
ebitset_list_reverse (bitset bset, bitset_bindex *list,
|
||||
bitset_bindex num, bitset_bindex *next)
|
||||
{
|
||||
bitset_bindex n_bits;
|
||||
bitset_bindex bitno;
|
||||
@@ -681,18 +608,18 @@ ebitset_list_reverse (bset, list, num, next)
|
||||
{
|
||||
ebitset_elt *elt;
|
||||
bitset_word *srcp;
|
||||
|
||||
|
||||
elt = elts[eindex];
|
||||
if (elt)
|
||||
{
|
||||
{
|
||||
srcp = EBITSET_WORDS (elt);
|
||||
|
||||
|
||||
do
|
||||
{
|
||||
bitset_word word;
|
||||
|
||||
|
||||
word = srcp[woffset] << (BITSET_WORD_BITS - 1 - bcount);
|
||||
|
||||
|
||||
for (; word; bcount--)
|
||||
{
|
||||
if (word & BITSET_MSB)
|
||||
@@ -707,7 +634,7 @@ ebitset_list_reverse (bset, list, num, next)
|
||||
word <<= 1;
|
||||
}
|
||||
boffset -= BITSET_WORD_BITS;
|
||||
bcount = BITSET_WORD_BITS - 1;
|
||||
bcount = BITSET_WORD_BITS - 1;
|
||||
}
|
||||
while (woffset--);
|
||||
}
|
||||
@@ -726,11 +653,8 @@ ebitset_list_reverse (bset, list, num, next)
|
||||
*NEXT and store in array LIST. Return with actual number of bits
|
||||
found and with *NEXT indicating where search stopped. */
|
||||
static bitset_bindex
|
||||
ebitset_list (bset, list, num, next)
|
||||
bitset bset;
|
||||
bitset_bindex *list;
|
||||
bitset_bindex num;
|
||||
bitset_bindex *next;
|
||||
ebitset_list (bitset bset, bitset_bindex *list,
|
||||
bitset_bindex num, bitset_bindex *next)
|
||||
{
|
||||
bitset_bindex bitno;
|
||||
bitset_windex windex;
|
||||
@@ -866,8 +790,7 @@ ebitset_list (bset, list, num, next)
|
||||
|
||||
|
||||
static void
|
||||
ebitset_ones (dst)
|
||||
bitset dst;
|
||||
ebitset_ones (bitset dst)
|
||||
{
|
||||
bitset_windex j;
|
||||
ebitset_elt *elt;
|
||||
@@ -886,17 +809,14 @@ ebitset_ones (dst)
|
||||
|
||||
|
||||
static int
|
||||
ebitset_empty_p (dst)
|
||||
bitset dst;
|
||||
ebitset_empty_p (bitset dst)
|
||||
{
|
||||
return !ebitset_weed (dst);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
ebitset_not (dst, src)
|
||||
bitset dst;
|
||||
bitset src;
|
||||
ebitset_not (bitset dst, bitset src)
|
||||
{
|
||||
unsigned int i;
|
||||
ebitset_elt *selt;
|
||||
@@ -916,27 +836,25 @@ ebitset_not (dst, src)
|
||||
EBITSET_WORDS (delt)[i] = ~EBITSET_WORDS (selt)[i];
|
||||
}
|
||||
EBITSET_NONZERO_SET (dst);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Return 1 if DST == DST | SRC. */
|
||||
static int
|
||||
ebitset_subset_p (dst, src)
|
||||
bitset dst;
|
||||
bitset src;
|
||||
ebitset_subset_p (bitset dst, bitset src)
|
||||
{
|
||||
bitset_windex j;
|
||||
ebitset_elts *selts;
|
||||
ebitset_elts *delts;
|
||||
bitset_windex ssize;
|
||||
bitset_windex dsize;
|
||||
|
||||
|
||||
selts = EBITSET_ELTS (src);
|
||||
delts = EBITSET_ELTS (dst);
|
||||
|
||||
|
||||
ssize = EBITSET_SIZE (src);
|
||||
dsize = EBITSET_SIZE (dst);
|
||||
|
||||
|
||||
for (j = 0; j < ssize; j++)
|
||||
{
|
||||
unsigned int i;
|
||||
@@ -945,15 +863,15 @@ ebitset_subset_p (dst, src)
|
||||
|
||||
selt = j < ssize ? selts[j] : 0;
|
||||
delt = j < dsize ? delts[j] : 0;
|
||||
|
||||
|
||||
if (!selt && !delt)
|
||||
continue;
|
||||
|
||||
|
||||
if (!selt)
|
||||
selt = &ebitset_zero_elts[0];
|
||||
if (!delt)
|
||||
delt = &ebitset_zero_elts[0];
|
||||
|
||||
|
||||
for (i = 0; i < EBITSET_ELT_WORDS; i++)
|
||||
if (EBITSET_WORDS (delt)[i]
|
||||
!= (EBITSET_WORDS (selt)[i] | EBITSET_WORDS (delt)[i]))
|
||||
@@ -965,22 +883,20 @@ ebitset_subset_p (dst, src)
|
||||
|
||||
/* Return 1 if DST & SRC == 0. */
|
||||
static int
|
||||
ebitset_disjoint_p (dst, src)
|
||||
bitset dst;
|
||||
bitset src;
|
||||
ebitset_disjoint_p (bitset dst, bitset src)
|
||||
{
|
||||
bitset_windex j;
|
||||
ebitset_elts *selts;
|
||||
ebitset_elts *delts;
|
||||
bitset_windex ssize;
|
||||
bitset_windex dsize;
|
||||
|
||||
|
||||
selts = EBITSET_ELTS (src);
|
||||
delts = EBITSET_ELTS (dst);
|
||||
|
||||
|
||||
ssize = EBITSET_SIZE (src);
|
||||
dsize = EBITSET_SIZE (dst);
|
||||
|
||||
|
||||
for (j = 0; j < ssize; j++)
|
||||
{
|
||||
unsigned int i;
|
||||
@@ -989,10 +905,10 @@ ebitset_disjoint_p (dst, src)
|
||||
|
||||
selt = j < ssize ? selts[j] : 0;
|
||||
delt = j < dsize ? delts[j] : 0;
|
||||
|
||||
|
||||
if (!selt || !delt)
|
||||
continue;
|
||||
|
||||
|
||||
for (i = 0; i < EBITSET_ELT_WORDS; i++)
|
||||
if ((EBITSET_WORDS (selt)[i] & EBITSET_WORDS (delt)[i]))
|
||||
return 0;
|
||||
@@ -1003,11 +919,7 @@ ebitset_disjoint_p (dst, src)
|
||||
|
||||
|
||||
static int
|
||||
ebitset_op3_cmp (dst, src1, src2, op)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
enum_bitset_ops op;
|
||||
ebitset_op3_cmp (bitset dst, bitset src1, bitset src2, enum bitset_ops op)
|
||||
{
|
||||
bitset_windex ssize1;
|
||||
bitset_windex ssize2;
|
||||
@@ -1155,21 +1067,8 @@ ebitset_op3_cmp (dst, src1, src2, op)
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
ebitset_and (dst, src1, src2)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
{
|
||||
ebitset_and_cmp (dst, src1, src2);
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
ebitset_and_cmp (dst, src1, src2)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
ebitset_and_cmp (bitset dst, bitset src1, bitset src2)
|
||||
{
|
||||
int changed;
|
||||
|
||||
@@ -1192,20 +1091,14 @@ ebitset_and_cmp (dst, src1, src2)
|
||||
|
||||
|
||||
static void
|
||||
ebitset_andn (dst, src1, src2)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
ebitset_and (bitset dst, bitset src1, bitset src2)
|
||||
{
|
||||
ebitset_andn_cmp (dst, src1, src2);
|
||||
ebitset_and_cmp (dst, src1, src2);
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
ebitset_andn_cmp (dst, src1, src2)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
ebitset_andn_cmp (bitset dst, bitset src1, bitset src2)
|
||||
{
|
||||
int changed;
|
||||
|
||||
@@ -1225,20 +1118,14 @@ ebitset_andn_cmp (dst, src1, src2)
|
||||
|
||||
|
||||
static void
|
||||
ebitset_or (dst, src1, src2)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
ebitset_andn (bitset dst, bitset src1, bitset src2)
|
||||
{
|
||||
ebitset_or_cmp (dst, src1, src2);
|
||||
ebitset_andn_cmp (dst, src1, src2);
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
ebitset_or_cmp (dst, src1, src2)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
ebitset_or_cmp (bitset dst, bitset src1, bitset src2)
|
||||
{
|
||||
if (EBITSET_ZERO_P (src2))
|
||||
{
|
||||
@@ -1253,20 +1140,14 @@ ebitset_or_cmp (dst, src1, src2)
|
||||
|
||||
|
||||
static void
|
||||
ebitset_xor (dst, src1, src2)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
ebitset_or (bitset dst, bitset src1, bitset src2)
|
||||
{
|
||||
ebitset_xor_cmp (dst, src1, src2);
|
||||
ebitset_or_cmp (dst, src1, src2);
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
ebitset_xor_cmp (dst, src1, src2)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
ebitset_xor_cmp (bitset dst, bitset src1, bitset src2)
|
||||
{
|
||||
if (EBITSET_ZERO_P (src2))
|
||||
{
|
||||
@@ -1281,9 +1162,14 @@ ebitset_xor_cmp (dst, src1, src2)
|
||||
|
||||
|
||||
static void
|
||||
ebitset_copy (dst, src)
|
||||
bitset dst;
|
||||
bitset src;
|
||||
ebitset_xor (bitset dst, bitset src1, bitset src2)
|
||||
{
|
||||
ebitset_xor_cmp (dst, src1, src2);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
ebitset_copy (bitset dst, bitset src)
|
||||
{
|
||||
if (BITSET_COMPATIBLE_ (dst, src))
|
||||
ebitset_copy_ (dst, src);
|
||||
@@ -1331,8 +1217,7 @@ struct bitset_vtable ebitset_vtable = {
|
||||
|
||||
/* Return size of initial structure. */
|
||||
size_t
|
||||
ebitset_bytes (n_bits)
|
||||
bitset_bindex n_bits ATTRIBUTE_UNUSED;
|
||||
ebitset_bytes (bitset_bindex n_bits ATTRIBUTE_UNUSED)
|
||||
{
|
||||
return sizeof (struct ebitset_struct);
|
||||
}
|
||||
@@ -1341,9 +1226,7 @@ ebitset_bytes (n_bits)
|
||||
/* Initialize a bitset. */
|
||||
|
||||
bitset
|
||||
ebitset_init (bset, n_bits)
|
||||
bitset bset;
|
||||
bitset_bindex n_bits;
|
||||
ebitset_init (bitset bset, bitset_bindex n_bits)
|
||||
{
|
||||
bitset_windex size;
|
||||
|
||||
@@ -1365,7 +1248,7 @@ ebitset_init (bset, n_bits)
|
||||
|
||||
|
||||
void
|
||||
ebitset_release_memory ()
|
||||
ebitset_release_memory (void)
|
||||
{
|
||||
ebitset_free_list = 0;
|
||||
if (ebitset_obstack_init)
|
||||
|
||||
+16
-9
@@ -1,8 +1,5 @@
|
||||
/* Error handler for noninteractive utilities
|
||||
Copyright (C) 1990-1998, 2000, 2001 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library. Its master source is NOT part of
|
||||
the C library, however. The master source lives in /gd/gnu/lib.
|
||||
|
||||
Copyright (C) 1990-1998, 2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
@@ -13,8 +10,8 @@
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software Foundation,
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation,
|
||||
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
/* Written by David MacKenzie <[email protected]>. */
|
||||
@@ -24,9 +21,13 @@
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#if HAVE_LIBINTL_H
|
||||
|
||||
#ifdef _LIBC
|
||||
# include <libintl.h>
|
||||
#else
|
||||
# include "gettext.h"
|
||||
#endif
|
||||
|
||||
#ifdef _LIBC
|
||||
# include <wchar.h>
|
||||
# define mbsrtowcs __mbsrtowcs
|
||||
@@ -53,7 +54,10 @@ void exit ();
|
||||
#endif
|
||||
|
||||
#include "error.h"
|
||||
#include "unlocked-io.h"
|
||||
|
||||
#if !_LIBC
|
||||
# include "unlocked-io.h"
|
||||
#endif
|
||||
|
||||
#ifndef _
|
||||
# define _(String) String
|
||||
@@ -76,6 +80,7 @@ unsigned int error_message_count;
|
||||
|
||||
# define program_name program_invocation_name
|
||||
# include <errno.h>
|
||||
# include <libio/libioP.h>
|
||||
|
||||
/* In GNU libc we want do not want to use the common name `error' directly.
|
||||
Instead make it a weak alias. */
|
||||
@@ -90,7 +95,9 @@ extern void __error_at_line (int status, int errnum, const char *file_name,
|
||||
|
||||
# ifdef USE_IN_LIBIO
|
||||
# include <libio/iolibio.h>
|
||||
# define fflush(s) _IO_fflush (s)
|
||||
# define fflush(s) INTUSE(_IO_fflush) (s)
|
||||
# undef putc
|
||||
# define putc(c, fp) INTUSE(_IO_putc) (c, fp)
|
||||
# endif
|
||||
|
||||
#else /* not _LIBC */
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
/* get-errno.h - get and set errno.
|
||||
|
||||
Copyright (C) 2002 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software Foundation,
|
||||
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
/* Written by Paul Eggert. */
|
||||
|
||||
#if HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#include <errno.h>
|
||||
|
||||
#include "get-errno.h"
|
||||
|
||||
/* Get and set errno. A source file that needs to set or get errno,
|
||||
but doesn't need to test for specific errno values, can use these
|
||||
functions to avoid namespace pollution. For example, a file that
|
||||
defines EQUAL should not include <errno.h>, since <errno.h> might
|
||||
define EQUAL; such a file can include <get-errno.h> instead. */
|
||||
|
||||
int
|
||||
get_errno (void)
|
||||
{
|
||||
return errno;
|
||||
}
|
||||
|
||||
void
|
||||
set_errno (int e)
|
||||
{
|
||||
errno = e;
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
/* get-errno.h - get and set errno.
|
||||
|
||||
Copyright (C) 2002 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software Foundation,
|
||||
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
extern int get_errno (void);
|
||||
extern void set_errno (int);
|
||||
+318
-81
@@ -16,8 +16,8 @@
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software Foundation,
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation,
|
||||
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
/* This tells Alpha OSF/1 not to define a getopt prototype in <stdio.h>.
|
||||
@@ -30,6 +30,14 @@
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#if !defined __STDC__ || !__STDC__
|
||||
/* This is a separate conditional since some stdc systems
|
||||
reject `defined (const)'. */
|
||||
# ifndef const
|
||||
# define const
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
/* Comment out all this code if we are using the GNU C Library, and are not
|
||||
@@ -51,12 +59,14 @@
|
||||
#ifndef ELIDE_CODE
|
||||
|
||||
|
||||
#if HAVE_STDLIB_H || defined __GNU_LIBRARY__
|
||||
/* This needs to come after some library #include
|
||||
to get __GNU_LIBRARY__ defined. */
|
||||
#ifdef __GNU_LIBRARY__
|
||||
/* Don't include stdlib.h for non-GNU C libraries because some of them
|
||||
contain conflicting prototypes for getopt. */
|
||||
# include <stdlib.h>
|
||||
#endif
|
||||
#if HAVE_UNISTD_H || defined __GNU_LIBRARY__
|
||||
# include <unistd.h>
|
||||
#endif
|
||||
#endif /* GNU C library. */
|
||||
|
||||
#ifdef VMS
|
||||
# include <unixlib.h>
|
||||
@@ -65,16 +75,20 @@
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef _
|
||||
#ifdef _LIBC
|
||||
# include <libintl.h>
|
||||
#else
|
||||
/* This is for other GNU distributions with internationalized messages. */
|
||||
# if (HAVE_LIBINTL_H && ENABLE_NLS) || defined _LIBC
|
||||
# include <libintl.h>
|
||||
# ifndef _
|
||||
# define _(msgid) gettext (msgid)
|
||||
# endif
|
||||
# else
|
||||
# define _(msgid) (msgid)
|
||||
# endif
|
||||
# include "gettext.h"
|
||||
#endif
|
||||
#define _(msgid) gettext (msgid)
|
||||
|
||||
#if defined _LIBC && defined USE_IN_LIBIO
|
||||
# include <wchar.h>
|
||||
#endif
|
||||
|
||||
#ifndef attribute_hidden
|
||||
# define attribute_hidden
|
||||
#endif
|
||||
|
||||
/* This version of `getopt' appears to the caller like standard Unix `getopt'
|
||||
@@ -120,7 +134,7 @@ int optind = 1;
|
||||
causes problems with re-calling getopt as programs generally don't
|
||||
know that. */
|
||||
|
||||
int __getopt_initialized;
|
||||
int __getopt_initialized attribute_hidden;
|
||||
|
||||
/* The next char to be scanned in the option-element
|
||||
in which the last option character we returned was found.
|
||||
@@ -179,18 +193,30 @@ static enum
|
||||
/* Value of POSIXLY_CORRECT environment variable. */
|
||||
static char *posixly_correct;
|
||||
|
||||
#if HAVE_STRING_H || defined __GNU_LIBRARY__
|
||||
#ifdef __GNU_LIBRARY__
|
||||
/* We want to avoid inclusion of string.h with non-GNU libraries
|
||||
because there are many ways it can cause trouble.
|
||||
On some systems, it contains special magic macros that don't work
|
||||
in GCC. */
|
||||
# include <string.h>
|
||||
# define my_index strchr
|
||||
#else
|
||||
# if HAVE_STRINGS_H
|
||||
|
||||
# if HAVE_STRING_H
|
||||
# include <string.h>
|
||||
# else
|
||||
# include <strings.h>
|
||||
# endif
|
||||
|
||||
/* Avoid depending on library functions or files
|
||||
whose names are inconsistent. */
|
||||
|
||||
#ifndef getenv
|
||||
extern char *getenv ();
|
||||
#endif
|
||||
|
||||
#if !HAVE_STRCHR && !defined strchr && !defined __GNU_LIBRARY__
|
||||
# define strchr my_strchr
|
||||
static char *
|
||||
strchr (str, chr)
|
||||
my_index (str, chr)
|
||||
const char *str;
|
||||
int chr;
|
||||
{
|
||||
@@ -202,11 +228,20 @@ strchr (str, chr)
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if !HAVE_DECL_GETENV && !defined getenv && !defined __GNU_LIBRARY__
|
||||
char *getenv ();
|
||||
#endif
|
||||
/* If using GCC, we can safely declare strlen this way.
|
||||
If not using GCC, it is ok not to declare it. */
|
||||
#ifdef __GNUC__
|
||||
/* Note that Motorola Delta 68k R3V7 comes with GCC but not stddef.h.
|
||||
That was relevant to code that was here before. */
|
||||
# if (!defined __STDC__ || !__STDC__) && !defined strlen
|
||||
/* gcc with -traditional declares the built-in strlen to return int,
|
||||
and has done so at least since version 2.4.5. -- rms. */
|
||||
extern int strlen (const char *);
|
||||
# endif /* not __STDC__ */
|
||||
#endif /* __GNUC__ */
|
||||
|
||||
#endif /* not __GNU_LIBRARY__ */
|
||||
|
||||
/* Handle permutation of arguments. */
|
||||
|
||||
@@ -218,35 +253,22 @@ static int first_nonopt;
|
||||
static int last_nonopt;
|
||||
|
||||
#ifdef _LIBC
|
||||
/* Stored original parameters.
|
||||
XXX This is no good solution. We should rather copy the args so
|
||||
that we can compare them later. But we must not use malloc(3). */
|
||||
extern int __libc_argc;
|
||||
extern char **__libc_argv;
|
||||
|
||||
/* Bash 2.0 gives us an environment variable containing flags
|
||||
indicating ARGV elements that should not be considered arguments. */
|
||||
|
||||
#ifdef USE_NONOPTION_FLAGS
|
||||
# ifdef USE_NONOPTION_FLAGS
|
||||
/* Defined in getopt_init.c */
|
||||
extern char *__getopt_nonoption_flags;
|
||||
|
||||
static int nonoption_flags_max_len;
|
||||
static int nonoption_flags_len;
|
||||
#endif
|
||||
|
||||
static int original_argc;
|
||||
static char *const *original_argv;
|
||||
|
||||
/* Make sure the environment variable bash 2.0 puts in the environment
|
||||
is valid for the getopt call we must make sure that the ARGV passed
|
||||
to getopt is that one passed to the process. */
|
||||
static void
|
||||
__attribute__ ((unused))
|
||||
store_args_and_env (int argc, char *const *argv)
|
||||
{
|
||||
/* XXX This is no good solution. We should rather copy the args so
|
||||
that we can compare them later. But we must not use malloc(3). */
|
||||
original_argc = argc;
|
||||
original_argv = argv;
|
||||
}
|
||||
# ifdef text_set_element
|
||||
text_set_element (__libc_subinit, store_args_and_env);
|
||||
# endif /* text_set_element */
|
||||
# endif
|
||||
|
||||
# ifdef USE_NONOPTION_FLAGS
|
||||
# define SWAP_FLAGS(ch1, ch2) \
|
||||
@@ -396,7 +418,7 @@ _getopt_initialize (argc, argv, optstring)
|
||||
|
||||
#if defined _LIBC && defined USE_NONOPTION_FLAGS
|
||||
if (posixly_correct == NULL
|
||||
&& argc == original_argc && argv == original_argv)
|
||||
&& argc == __libc_argc && argv == __libc_argv)
|
||||
{
|
||||
if (nonoption_flags_max_len == 0)
|
||||
{
|
||||
@@ -615,7 +637,7 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
|
||||
|
||||
if (longopts != NULL
|
||||
&& (argv[optind][1] == '-'
|
||||
|| (long_only && (argv[optind][2] || !strchr (optstring, argv[optind][1])))))
|
||||
|| (long_only && (argv[optind][2] || !my_index (optstring, argv[optind][1])))))
|
||||
{
|
||||
char *nameend;
|
||||
const struct option *p;
|
||||
@@ -659,8 +681,26 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
|
||||
if (ambig && !exact)
|
||||
{
|
||||
if (print_errors)
|
||||
fprintf (stderr, _("%s: option `%s' is ambiguous\n"),
|
||||
argv[0], argv[optind]);
|
||||
{
|
||||
#if defined _LIBC && defined USE_IN_LIBIO
|
||||
char *buf;
|
||||
|
||||
if (__asprintf (&buf, _("%s: option `%s' is ambiguous\n"),
|
||||
argv[0], argv[optind]) >= 0)
|
||||
{
|
||||
|
||||
if (_IO_fwide (stderr, 0) > 0)
|
||||
__fwprintf (stderr, L"%s", buf);
|
||||
else
|
||||
fputs (buf, stderr);
|
||||
|
||||
free (buf);
|
||||
}
|
||||
#else
|
||||
fprintf (stderr, _("%s: option `%s' is ambiguous\n"),
|
||||
argv[0], argv[optind]);
|
||||
#endif
|
||||
}
|
||||
nextchar += strlen (nextchar);
|
||||
optind++;
|
||||
optopt = 0;
|
||||
@@ -681,16 +721,50 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
|
||||
{
|
||||
if (print_errors)
|
||||
{
|
||||
#if defined _LIBC && defined USE_IN_LIBIO
|
||||
char *buf;
|
||||
int n;
|
||||
#endif
|
||||
|
||||
if (argv[optind - 1][1] == '-')
|
||||
/* --option */
|
||||
fprintf (stderr,
|
||||
_("%s: option `--%s' doesn't allow an argument\n"),
|
||||
argv[0], pfound->name);
|
||||
{
|
||||
/* --option */
|
||||
#if defined _LIBC && defined USE_IN_LIBIO
|
||||
n = __asprintf (&buf, _("\
|
||||
%s: option `--%s' doesn't allow an argument\n"),
|
||||
argv[0], pfound->name);
|
||||
#else
|
||||
fprintf (stderr, _("\
|
||||
%s: option `--%s' doesn't allow an argument\n"),
|
||||
argv[0], pfound->name);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
/* +option or -option */
|
||||
fprintf (stderr,
|
||||
_("%s: option `%c%s' doesn't allow an argument\n"),
|
||||
argv[0], argv[optind - 1][0], pfound->name);
|
||||
{
|
||||
/* +option or -option */
|
||||
#if defined _LIBC && defined USE_IN_LIBIO
|
||||
n = __asprintf (&buf, _("\
|
||||
%s: option `%c%s' doesn't allow an argument\n"),
|
||||
argv[0], argv[optind - 1][0],
|
||||
pfound->name);
|
||||
#else
|
||||
fprintf (stderr, _("\
|
||||
%s: option `%c%s' doesn't allow an argument\n"),
|
||||
argv[0], argv[optind - 1][0], pfound->name);
|
||||
#endif
|
||||
}
|
||||
|
||||
#if defined _LIBC && defined USE_IN_LIBIO
|
||||
if (n >= 0)
|
||||
{
|
||||
if (_IO_fwide (stderr, 0) > 0)
|
||||
__fwprintf (stderr, L"%s", buf);
|
||||
else
|
||||
fputs (buf, stderr);
|
||||
|
||||
free (buf);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
nextchar += strlen (nextchar);
|
||||
@@ -706,9 +780,27 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
|
||||
else
|
||||
{
|
||||
if (print_errors)
|
||||
fprintf (stderr,
|
||||
_("%s: option `%s' requires an argument\n"),
|
||||
argv[0], argv[optind - 1]);
|
||||
{
|
||||
#if defined _LIBC && defined USE_IN_LIBIO
|
||||
char *buf;
|
||||
|
||||
if (__asprintf (&buf, _("\
|
||||
%s: option `%s' requires an argument\n"),
|
||||
argv[0], argv[optind - 1]) >= 0)
|
||||
{
|
||||
if (_IO_fwide (stderr, 0) > 0)
|
||||
__fwprintf (stderr, L"%s", buf);
|
||||
else
|
||||
fputs (buf, stderr);
|
||||
|
||||
free (buf);
|
||||
}
|
||||
#else
|
||||
fprintf (stderr,
|
||||
_("%s: option `%s' requires an argument\n"),
|
||||
argv[0], argv[optind - 1]);
|
||||
#endif
|
||||
}
|
||||
nextchar += strlen (nextchar);
|
||||
optopt = pfound->val;
|
||||
return optstring[0] == ':' ? ':' : '?';
|
||||
@@ -730,18 +822,49 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
|
||||
option, then it's an error.
|
||||
Otherwise interpret it as a short option. */
|
||||
if (!long_only || argv[optind][1] == '-'
|
||||
|| strchr (optstring, *nextchar) == NULL)
|
||||
|| my_index (optstring, *nextchar) == NULL)
|
||||
{
|
||||
if (print_errors)
|
||||
{
|
||||
#if defined _LIBC && defined USE_IN_LIBIO
|
||||
char *buf;
|
||||
int n;
|
||||
#endif
|
||||
|
||||
if (argv[optind][1] == '-')
|
||||
/* --option */
|
||||
fprintf (stderr, _("%s: unrecognized option `--%s'\n"),
|
||||
argv[0], nextchar);
|
||||
{
|
||||
/* --option */
|
||||
#if defined _LIBC && defined USE_IN_LIBIO
|
||||
n = __asprintf (&buf, _("%s: unrecognized option `--%s'\n"),
|
||||
argv[0], nextchar);
|
||||
#else
|
||||
fprintf (stderr, _("%s: unrecognized option `--%s'\n"),
|
||||
argv[0], nextchar);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
/* +option or -option */
|
||||
fprintf (stderr, _("%s: unrecognized option `%c%s'\n"),
|
||||
argv[0], argv[optind][0], nextchar);
|
||||
{
|
||||
/* +option or -option */
|
||||
#if defined _LIBC && defined USE_IN_LIBIO
|
||||
n = __asprintf (&buf, _("%s: unrecognized option `%c%s'\n"),
|
||||
argv[0], argv[optind][0], nextchar);
|
||||
#else
|
||||
fprintf (stderr, _("%s: unrecognized option `%c%s'\n"),
|
||||
argv[0], argv[optind][0], nextchar);
|
||||
#endif
|
||||
}
|
||||
|
||||
#if defined _LIBC && defined USE_IN_LIBIO
|
||||
if (n >= 0)
|
||||
{
|
||||
if (_IO_fwide (stderr, 0) > 0)
|
||||
__fwprintf (stderr, L"%s", buf);
|
||||
else
|
||||
fputs (buf, stderr);
|
||||
|
||||
free (buf);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
nextchar = (char *) "";
|
||||
optind++;
|
||||
@@ -754,7 +877,7 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
|
||||
|
||||
{
|
||||
char c = *nextchar++;
|
||||
char *temp = strchr (optstring, c);
|
||||
char *temp = my_index (optstring, c);
|
||||
|
||||
/* Increment `optind' when we start to process its last character. */
|
||||
if (*nextchar == '\0')
|
||||
@@ -764,13 +887,42 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
|
||||
{
|
||||
if (print_errors)
|
||||
{
|
||||
#if defined _LIBC && defined USE_IN_LIBIO
|
||||
char *buf;
|
||||
int n;
|
||||
#endif
|
||||
|
||||
if (posixly_correct)
|
||||
/* 1003.2 specifies the format of this message. */
|
||||
fprintf (stderr, _("%s: illegal option -- %c\n"),
|
||||
argv[0], c);
|
||||
{
|
||||
/* 1003.2 specifies the format of this message. */
|
||||
#if defined _LIBC && defined USE_IN_LIBIO
|
||||
n = __asprintf (&buf, _("%s: illegal option -- %c\n"),
|
||||
argv[0], c);
|
||||
#else
|
||||
fprintf (stderr, _("%s: illegal option -- %c\n"), argv[0], c);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
fprintf (stderr, _("%s: invalid option -- %c\n"),
|
||||
argv[0], c);
|
||||
{
|
||||
#if defined _LIBC && defined USE_IN_LIBIO
|
||||
n = __asprintf (&buf, _("%s: invalid option -- %c\n"),
|
||||
argv[0], c);
|
||||
#else
|
||||
fprintf (stderr, _("%s: invalid option -- %c\n"), argv[0], c);
|
||||
#endif
|
||||
}
|
||||
|
||||
#if defined _LIBC && defined USE_IN_LIBIO
|
||||
if (n >= 0)
|
||||
{
|
||||
if (_IO_fwide (stderr, 0) > 0)
|
||||
__fwprintf (stderr, L"%s", buf);
|
||||
else
|
||||
fputs (buf, stderr);
|
||||
|
||||
free (buf);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
optopt = c;
|
||||
return '?';
|
||||
@@ -799,8 +951,24 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
|
||||
if (print_errors)
|
||||
{
|
||||
/* 1003.2 specifies the format of this message. */
|
||||
#if defined _LIBC && defined USE_IN_LIBIO
|
||||
char *buf;
|
||||
|
||||
if (__asprintf (&buf,
|
||||
_("%s: option requires an argument -- %c\n"),
|
||||
argv[0], c) >= 0)
|
||||
{
|
||||
if (_IO_fwide (stderr, 0) > 0)
|
||||
__fwprintf (stderr, L"%s", buf);
|
||||
else
|
||||
fputs (buf, stderr);
|
||||
|
||||
free (buf);
|
||||
}
|
||||
#else
|
||||
fprintf (stderr, _("%s: option requires an argument -- %c\n"),
|
||||
argv[0], c);
|
||||
#endif
|
||||
}
|
||||
optopt = c;
|
||||
if (optstring[0] == ':')
|
||||
@@ -846,8 +1014,25 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
|
||||
if (ambig && !exact)
|
||||
{
|
||||
if (print_errors)
|
||||
fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"),
|
||||
argv[0], argv[optind]);
|
||||
{
|
||||
#if defined _LIBC && defined USE_IN_LIBIO
|
||||
char *buf;
|
||||
|
||||
if (__asprintf (&buf, _("%s: option `-W %s' is ambiguous\n"),
|
||||
argv[0], argv[optind]) >= 0)
|
||||
{
|
||||
if (_IO_fwide (stderr, 0) > 0)
|
||||
__fwprintf (stderr, L"%s", buf);
|
||||
else
|
||||
fputs (buf, stderr);
|
||||
|
||||
free (buf);
|
||||
}
|
||||
#else
|
||||
fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"),
|
||||
argv[0], argv[optind]);
|
||||
#endif
|
||||
}
|
||||
nextchar += strlen (nextchar);
|
||||
optind++;
|
||||
return '?';
|
||||
@@ -864,9 +1049,27 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
|
||||
else
|
||||
{
|
||||
if (print_errors)
|
||||
fprintf (stderr, _("\
|
||||
{
|
||||
#if defined _LIBC && defined USE_IN_LIBIO
|
||||
char *buf;
|
||||
|
||||
if (__asprintf (&buf, _("\
|
||||
%s: option `-W %s' doesn't allow an argument\n"),
|
||||
argv[0], pfound->name);
|
||||
argv[0], pfound->name) >= 0)
|
||||
{
|
||||
if (_IO_fwide (stderr, 0) > 0)
|
||||
__fwprintf (stderr, L"%s", buf);
|
||||
else
|
||||
fputs (buf, stderr);
|
||||
|
||||
free (buf);
|
||||
}
|
||||
#else
|
||||
fprintf (stderr, _("\
|
||||
%s: option `-W %s' doesn't allow an argument\n"),
|
||||
argv[0], pfound->name);
|
||||
#endif
|
||||
}
|
||||
|
||||
nextchar += strlen (nextchar);
|
||||
return '?';
|
||||
@@ -879,9 +1082,27 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
|
||||
else
|
||||
{
|
||||
if (print_errors)
|
||||
fprintf (stderr,
|
||||
_("%s: option `%s' requires an argument\n"),
|
||||
argv[0], argv[optind - 1]);
|
||||
{
|
||||
#if defined _LIBC && defined USE_IN_LIBIO
|
||||
char *buf;
|
||||
|
||||
if (__asprintf (&buf, _("\
|
||||
%s: option `%s' requires an argument\n"),
|
||||
argv[0], argv[optind - 1]) >= 0)
|
||||
{
|
||||
if (_IO_fwide (stderr, 0) > 0)
|
||||
__fwprintf (stderr, L"%s", buf);
|
||||
else
|
||||
fputs (buf, stderr);
|
||||
|
||||
free (buf);
|
||||
}
|
||||
#else
|
||||
fprintf (stderr,
|
||||
_("%s: option `%s' requires an argument\n"),
|
||||
argv[0], argv[optind - 1]);
|
||||
#endif
|
||||
}
|
||||
nextchar += strlen (nextchar);
|
||||
return optstring[0] == ':' ? ':' : '?';
|
||||
}
|
||||
@@ -928,9 +1149,25 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
|
||||
if (print_errors)
|
||||
{
|
||||
/* 1003.2 specifies the format of this message. */
|
||||
#if defined _LIBC && defined USE_IN_LIBIO
|
||||
char *buf;
|
||||
|
||||
if (__asprintf (&buf, _("\
|
||||
%s: option requires an argument -- %c\n"),
|
||||
argv[0], c) >= 0)
|
||||
{
|
||||
if (_IO_fwide (stderr, 0) > 0)
|
||||
__fwprintf (stderr, L"%s", buf);
|
||||
else
|
||||
fputs (buf, stderr);
|
||||
|
||||
free (buf);
|
||||
}
|
||||
#else
|
||||
fprintf (stderr,
|
||||
_("%s: option requires an argument -- %c\n"),
|
||||
argv[0], c);
|
||||
#endif
|
||||
}
|
||||
optopt = c;
|
||||
if (optstring[0] == ':')
|
||||
|
||||
+14
-23
@@ -1,8 +1,5 @@
|
||||
/* Declarations for getopt.
|
||||
|
||||
Copyright (C) 1989-1994, 1996-1999, 2001, 2002 Free Software Foundation,
|
||||
Inc.
|
||||
|
||||
Copyright (C) 1989-1994, 1996-1999, 2001 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
@@ -15,8 +12,8 @@
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software Foundation,
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation,
|
||||
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
#ifndef _GETOPT_H
|
||||
@@ -29,16 +26,11 @@
|
||||
standalone, or this is the first header included in the source file.
|
||||
If we are being used with glibc, we need to include <features.h>, but
|
||||
that does not exist if we are standalone. So: if __GNU_LIBRARY__ is
|
||||
not defined, include <stdlib.h>, which will pull in <features.h> for us
|
||||
if it's from glibc (and will declare getopt). Fall back on <ctype.h> if
|
||||
<stdlib.h> might not exist. (Why ctype.h? It's guaranteed to exist and it
|
||||
not defined, include <ctype.h>, which will pull in <features.h> for us
|
||||
if it's from glibc. (Why ctype.h? It's guaranteed to exist and it
|
||||
doesn't flood the namespace with stuff the way some other headers do.) */
|
||||
#if !defined __GNU_LIBRARY__
|
||||
# if HAVE_STDLIB_H || STDC_HEADERS
|
||||
# include <stdlib.h>
|
||||
# else
|
||||
# include <ctype.h>
|
||||
# endif
|
||||
# include <ctype.h>
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
@@ -145,26 +137,25 @@ struct option
|
||||
`getopt'. */
|
||||
|
||||
#if (defined __STDC__ && __STDC__) || defined __cplusplus
|
||||
# if defined HAVE_DECL_GETOPT && !HAVE_DECL_GETOPT
|
||||
# ifdef __GNU_LIBRARY__
|
||||
# ifdef __GNU_LIBRARY__
|
||||
/* Many other libraries have conflicting prototypes for getopt, with
|
||||
differences in the consts, in stdlib.h. To avoid compilation
|
||||
errors, only prototype getopt for the GNU C library. */
|
||||
extern int getopt (int __argc, char *const *__argv, const char *__shortopts);
|
||||
# else /* not __GNU_LIBRARY__ */
|
||||
extern int getopt (int ___argc, char *const *___argv, const char *__shortopts);
|
||||
# else /* not __GNU_LIBRARY__ */
|
||||
extern int getopt ();
|
||||
# endif /* __GNU_LIBRARY__ */
|
||||
# endif /* defined HAVE_DECL_GETOPT && !HAVE_DECL_GETOPT */
|
||||
# endif /* __GNU_LIBRARY__ */
|
||||
|
||||
# ifndef __need_getopt
|
||||
extern int getopt_long (int __argc, char *const *__argv, const char *__shortopts,
|
||||
extern int getopt_long (int ___argc, char *const *___argv,
|
||||
const char *__shortopts,
|
||||
const struct option *__longopts, int *__longind);
|
||||
extern int getopt_long_only (int __argc, char *const *__argv,
|
||||
extern int getopt_long_only (int ___argc, char *const *___argv,
|
||||
const char *__shortopts,
|
||||
const struct option *__longopts, int *__longind);
|
||||
|
||||
/* Internal only. Users should not call this directly. */
|
||||
extern int _getopt_internal (int __argc, char *const *__argv,
|
||||
extern int _getopt_internal (int ___argc, char *const *___argv,
|
||||
const char *__shortopts,
|
||||
const struct option *__longopts, int *__longind,
|
||||
int __long_only);
|
||||
|
||||
+21
-4
@@ -1,5 +1,5 @@
|
||||
/* getopt_long and getopt_long_only entry points for GNU getopt.
|
||||
Copyright (C) 1987,88,89,90,91,92,93,94,96,97,98, 2002
|
||||
Copyright (C) 1987,88,89,90,91,92,93,94,96,97,98
|
||||
Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
@@ -13,15 +13,28 @@
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software Foundation,
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation,
|
||||
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include "getopt.h"
|
||||
#ifdef _LIBC
|
||||
# include <getopt.h>
|
||||
#else
|
||||
# include "getopt.h"
|
||||
#endif
|
||||
|
||||
#if !defined __STDC__ || !__STDC__
|
||||
/* This is a separate conditional since some stdc systems
|
||||
reject `defined (const)'. */
|
||||
#ifndef const
|
||||
#define const
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
/* Comment out all this code if we are using the GNU C Library, and are not
|
||||
@@ -80,6 +93,10 @@ getopt_long_only (argc, argv, options, long_options, opt_index)
|
||||
return _getopt_internal (argc, argv, options, long_options, opt_index, 1);
|
||||
}
|
||||
|
||||
# ifdef _LIBC
|
||||
libc_hidden_def (getopt_long)
|
||||
libc_hidden_def (getopt_long_only)
|
||||
# endif
|
||||
|
||||
#endif /* Not ELIDE_CODE. */
|
||||
|
||||
|
||||
+9
-8
@@ -1,19 +1,20 @@
|
||||
/* Convenience header for conditional use of GNU <libintl.h>.
|
||||
Copyright (C) 1995-1998, 2000-2002 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
by the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software Foundation,
|
||||
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA. */
|
||||
|
||||
#ifndef _LIBGETTEXT_H
|
||||
#define _LIBGETTEXT_H 1
|
||||
|
||||
+18
-12
@@ -1,5 +1,5 @@
|
||||
/* hash - hashing table processing.
|
||||
Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
|
||||
Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
Written by Jim Meyering, 1992.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
@@ -33,7 +33,6 @@
|
||||
typedef enum {false = 0, true = 1} bool;
|
||||
#endif
|
||||
#include <stdio.h>
|
||||
#include <assert.h>
|
||||
|
||||
#ifndef HAVE_DECL_FREE
|
||||
"this configure-time declaration test was not run"
|
||||
@@ -263,7 +262,8 @@ hash_lookup (const Hash_table *table, const void *entry)
|
||||
= table->bucket + table->hasher (entry, table->n_buckets);
|
||||
struct hash_entry *cursor;
|
||||
|
||||
assert (bucket < table->bucket_limit);
|
||||
if (! (bucket < table->bucket_limit))
|
||||
abort ();
|
||||
|
||||
if (bucket->data == NULL)
|
||||
return NULL;
|
||||
@@ -292,12 +292,11 @@ hash_get_first (const Hash_table *table)
|
||||
if (table->n_entries == 0)
|
||||
return NULL;
|
||||
|
||||
for (bucket = table->bucket; bucket < table->bucket_limit; bucket++)
|
||||
if (bucket->data)
|
||||
for (bucket = table->bucket; ; bucket++)
|
||||
if (! (bucket < table->bucket_limit))
|
||||
abort ();
|
||||
else if (bucket->data)
|
||||
return bucket->data;
|
||||
|
||||
assert (0);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Return the user data for the entry following ENTRY, where ENTRY has been
|
||||
@@ -311,7 +310,8 @@ hash_get_next (const Hash_table *table, const void *entry)
|
||||
= table->bucket + table->hasher (entry, table->n_buckets);
|
||||
struct hash_entry *cursor;
|
||||
|
||||
assert (bucket < table->bucket_limit);
|
||||
if (! (bucket < table->bucket_limit))
|
||||
abort ();
|
||||
|
||||
/* Find next entry in the same bucket. */
|
||||
for (cursor = bucket; cursor; cursor = cursor->next)
|
||||
@@ -754,7 +754,9 @@ hash_find_entry (Hash_table *table, const void *entry,
|
||||
= table->bucket + table->hasher (entry, table->n_buckets);
|
||||
struct hash_entry *cursor;
|
||||
|
||||
assert (bucket < table->bucket_limit);
|
||||
if (! (bucket < table->bucket_limit))
|
||||
abort ();
|
||||
|
||||
*bucket_head = bucket;
|
||||
|
||||
/* Test for empty bucket. */
|
||||
@@ -848,7 +850,9 @@ hash_rehash (Hash_table *table, unsigned candidate)
|
||||
= (new_table->bucket
|
||||
+ new_table->hasher (data, new_table->n_buckets));
|
||||
|
||||
assert (new_bucket < new_table->bucket_limit);
|
||||
if (! (new_bucket < new_table->bucket_limit))
|
||||
abort ();
|
||||
|
||||
next = cursor->next;
|
||||
|
||||
if (new_bucket->data)
|
||||
@@ -912,7 +916,9 @@ hash_insert (Hash_table *table, const void *entry)
|
||||
void *data;
|
||||
struct hash_entry *bucket;
|
||||
|
||||
assert (entry); /* cannot insert a NULL entry */
|
||||
/* The caller cannot insert a NULL entry. */
|
||||
if (! entry)
|
||||
abort ();
|
||||
|
||||
/* If there's a matching entry already in the table, return that. */
|
||||
if ((data = hash_find_entry (table, entry, &bucket, false)) != NULL)
|
||||
|
||||
+59
-170
@@ -66,7 +66,6 @@ lbitset_elt;
|
||||
|
||||
enum lbitset_find_mode
|
||||
{ LBITSET_FIND, LBITSET_CREATE, LBITSET_SUBST };
|
||||
typedef int enum_lbitset_find_mode;
|
||||
|
||||
static lbitset_elt lbitset_zero_elts[3]; /* Elements of all zero bits. */
|
||||
|
||||
@@ -75,44 +74,6 @@ static struct obstack lbitset_obstack;
|
||||
static int lbitset_obstack_init = 0;
|
||||
static lbitset_elt *lbitset_free_list; /* Free list of bitset elements. */
|
||||
|
||||
static lbitset_elt *lbitset_elt_alloc PARAMS ((void));
|
||||
static lbitset_elt *lbitset_elt_calloc PARAMS ((void));
|
||||
static void lbitset_elt_link PARAMS ((bitset, lbitset_elt *));
|
||||
static void lbitset_elt_unlink PARAMS ((bitset, lbitset_elt *));
|
||||
static void lbitset_elt_free PARAMS ((lbitset_elt *));
|
||||
static lbitset_elt *lbitset_elt_find PARAMS ((bitset, bitset_windex,
|
||||
enum_lbitset_find_mode));
|
||||
static int lbitset_elt_zero_p PARAMS ((lbitset_elt *));
|
||||
|
||||
static void lbitset_prune PARAMS ((bitset, lbitset_elt *));
|
||||
static void lbitset_weed PARAMS ((bitset));
|
||||
static void lbitset_zero PARAMS ((bitset));
|
||||
static int lbitset_equal_p PARAMS ((bitset, bitset));
|
||||
static void lbitset_copy PARAMS ((bitset, bitset));
|
||||
static int lbitset_copy_cmp PARAMS ((bitset, bitset));
|
||||
static void lbitset_set PARAMS ((bitset, bitset_bindex));
|
||||
static void lbitset_reset PARAMS ((bitset, bitset_bindex));
|
||||
static int lbitset_test PARAMS ((bitset, bitset_bindex));
|
||||
static bitset_bindex lbitset_size PARAMS ((bitset));
|
||||
static int lbitset_op3_cmp PARAMS ((bitset, bitset, bitset, enum_bitset_ops));
|
||||
static void lbitset_and PARAMS ((bitset, bitset, bitset));
|
||||
static int lbitset_and_cmp PARAMS ((bitset, bitset, bitset));
|
||||
static void lbitset_andn PARAMS ((bitset, bitset, bitset));
|
||||
static int lbitset_andn_cmp PARAMS ((bitset, bitset, bitset));
|
||||
static void lbitset_or PARAMS ((bitset, bitset, bitset));
|
||||
static int lbitset_or_cmp PARAMS ((bitset, bitset, bitset));
|
||||
static void lbitset_xor PARAMS ((bitset, bitset, bitset));
|
||||
static int lbitset_xor_cmp PARAMS ((bitset, bitset, bitset));
|
||||
static bitset_bindex lbitset_list PARAMS ((bitset, bitset_bindex *,
|
||||
bitset_bindex, bitset_bindex *));
|
||||
static bitset_bindex lbitset_list_reverse
|
||||
PARAMS ((bitset, bitset_bindex *, bitset_bindex, bitset_bindex *));
|
||||
static int lbitset_empty_p PARAMS ((bitset));
|
||||
static void lbitset_ones PARAMS ((bitset));
|
||||
static void lbitset_not PARAMS ((bitset, bitset));
|
||||
static int lbitset_subset_p PARAMS ((bitset, bitset));
|
||||
static int lbitset_disjoint_p PARAMS ((bitset, bitset));
|
||||
static void lbitset_free PARAMS ((bitset));
|
||||
extern void debug_lbitset PARAMS ((bitset));
|
||||
|
||||
#define LBITSET_CURRENT1(X) \
|
||||
@@ -125,7 +86,7 @@ extern void debug_lbitset PARAMS ((bitset));
|
||||
|
||||
/* Allocate a lbitset element. The bits are not cleared. */
|
||||
static inline lbitset_elt *
|
||||
lbitset_elt_alloc ()
|
||||
lbitset_elt_alloc (void)
|
||||
{
|
||||
lbitset_elt *elt;
|
||||
|
||||
@@ -180,7 +141,7 @@ lbitset_elt_alloc ()
|
||||
|
||||
/* Allocate a lbitset element. The bits are cleared. */
|
||||
static inline lbitset_elt *
|
||||
lbitset_elt_calloc ()
|
||||
lbitset_elt_calloc (void)
|
||||
{
|
||||
lbitset_elt *elt;
|
||||
|
||||
@@ -191,8 +152,7 @@ lbitset_elt_calloc ()
|
||||
|
||||
|
||||
static inline void
|
||||
lbitset_elt_free (elt)
|
||||
lbitset_elt *elt;
|
||||
lbitset_elt_free (lbitset_elt *elt)
|
||||
{
|
||||
elt->next = lbitset_free_list;
|
||||
lbitset_free_list = elt;
|
||||
@@ -201,9 +161,7 @@ lbitset_elt_free (elt)
|
||||
|
||||
/* Unlink element ELT from bitset BSET. */
|
||||
static inline void
|
||||
lbitset_elt_unlink (bset, elt)
|
||||
bitset bset;
|
||||
lbitset_elt *elt;
|
||||
lbitset_elt_unlink (bitset bset, lbitset_elt *elt)
|
||||
{
|
||||
lbitset_elt *next = elt->next;
|
||||
lbitset_elt *prev = elt->prev;
|
||||
@@ -248,9 +206,7 @@ lbitset_elt_unlink (bset, elt)
|
||||
/* Cut the chain of bitset BSET before element ELT and free the
|
||||
elements. */
|
||||
static inline void
|
||||
lbitset_prune (bset, elt)
|
||||
bitset bset;
|
||||
lbitset_elt *elt;
|
||||
lbitset_prune (bitset bset, lbitset_elt *elt)
|
||||
{
|
||||
lbitset_elt *next;
|
||||
|
||||
@@ -282,8 +238,7 @@ lbitset_prune (bset, elt)
|
||||
|
||||
/* Return nonzero if all bits in an element are zero. */
|
||||
static inline int
|
||||
lbitset_elt_zero_p (elt)
|
||||
lbitset_elt *elt;
|
||||
lbitset_elt_zero_p (lbitset_elt *elt)
|
||||
{
|
||||
int i;
|
||||
|
||||
@@ -297,9 +252,7 @@ lbitset_elt_zero_p (elt)
|
||||
|
||||
/* Link the bitset element into the current bitset linked list. */
|
||||
static inline void
|
||||
lbitset_elt_link (bset, elt)
|
||||
bitset bset;
|
||||
lbitset_elt *elt;
|
||||
lbitset_elt_link (bitset bset, lbitset_elt *elt)
|
||||
{
|
||||
bitset_windex windex = elt->index;
|
||||
lbitset_elt *ptr;
|
||||
@@ -361,10 +314,8 @@ lbitset_elt_link (bset, elt)
|
||||
|
||||
|
||||
static lbitset_elt *
|
||||
lbitset_elt_find (bset, windex, mode)
|
||||
bitset bset;
|
||||
bitset_windex windex;
|
||||
enum_lbitset_find_mode mode;
|
||||
lbitset_elt_find (bitset bset, bitset_windex windex,
|
||||
enum lbitset_find_mode mode)
|
||||
{
|
||||
lbitset_elt *elt;
|
||||
lbitset_elt *current;
|
||||
@@ -432,8 +383,7 @@ lbitset_elt_find (bset, windex, mode)
|
||||
|
||||
/* Weed out the zero elements from the list. */
|
||||
static inline void
|
||||
lbitset_weed (bset)
|
||||
bitset bset;
|
||||
lbitset_weed (bitset bset)
|
||||
{
|
||||
lbitset_elt *elt;
|
||||
lbitset_elt *next;
|
||||
@@ -449,8 +399,7 @@ lbitset_weed (bset)
|
||||
|
||||
/* Set all bits in the bitset to zero. */
|
||||
static void
|
||||
lbitset_zero (bset)
|
||||
bitset bset;
|
||||
lbitset_zero (bitset bset)
|
||||
{
|
||||
lbitset_elt *head;
|
||||
|
||||
@@ -465,9 +414,7 @@ lbitset_zero (bset)
|
||||
|
||||
/* Return 1 if DST == SRC. */
|
||||
static inline int
|
||||
lbitset_equal_p (dst, src)
|
||||
bitset dst;
|
||||
bitset src;
|
||||
lbitset_equal_p (bitset dst, bitset src)
|
||||
{
|
||||
lbitset_elt *selt;
|
||||
lbitset_elt *delt;
|
||||
@@ -494,9 +441,7 @@ lbitset_equal_p (dst, src)
|
||||
|
||||
/* Copy bits from bitset SRC to bitset DST. */
|
||||
static inline void
|
||||
lbitset_copy (dst, src)
|
||||
bitset dst;
|
||||
bitset src;
|
||||
lbitset_copy (bitset dst, bitset src)
|
||||
{
|
||||
lbitset_elt *elt;
|
||||
lbitset_elt *head;
|
||||
@@ -538,9 +483,7 @@ lbitset_copy (dst, src)
|
||||
/* Copy bits from bitset SRC to bitset DST. Return non-zero if
|
||||
bitsets different. */
|
||||
static inline int
|
||||
lbitset_copy_cmp (dst, src)
|
||||
bitset dst;
|
||||
bitset src;
|
||||
lbitset_copy_cmp (bitset dst, bitset src)
|
||||
{
|
||||
if (src == dst)
|
||||
return 0;
|
||||
@@ -561,8 +504,7 @@ lbitset_copy_cmp (dst, src)
|
||||
|
||||
/* Return size in bits of bitset SRC. */
|
||||
static bitset_bindex
|
||||
lbitset_size (src)
|
||||
bitset src;
|
||||
lbitset_size (bitset src)
|
||||
{
|
||||
lbitset_elt *elt;
|
||||
|
||||
@@ -577,9 +519,7 @@ lbitset_size (src)
|
||||
|
||||
/* Set bit BITNO in bitset DST. */
|
||||
static void
|
||||
lbitset_set (dst, bitno)
|
||||
bitset dst;
|
||||
bitset_bindex bitno;
|
||||
lbitset_set (bitset dst, bitset_bindex bitno)
|
||||
{
|
||||
bitset_windex windex = bitno / BITSET_WORD_BITS;
|
||||
|
||||
@@ -592,9 +532,7 @@ lbitset_set (dst, bitno)
|
||||
|
||||
/* Reset bit BITNO in bitset DST. */
|
||||
static void
|
||||
lbitset_reset (dst, bitno)
|
||||
bitset dst;
|
||||
bitset_bindex bitno;
|
||||
lbitset_reset (bitset dst, bitset_bindex bitno)
|
||||
{
|
||||
bitset_windex windex = bitno / BITSET_WORD_BITS;
|
||||
|
||||
@@ -610,23 +548,20 @@ lbitset_reset (dst, bitno)
|
||||
|
||||
/* Test bit BITNO in bitset SRC. */
|
||||
static int
|
||||
lbitset_test (src, bitno)
|
||||
bitset src;
|
||||
bitset_bindex bitno;
|
||||
lbitset_test (bitset src, bitset_bindex bitno)
|
||||
{
|
||||
bitset_windex windex = bitno / BITSET_WORD_BITS;
|
||||
|
||||
if (!lbitset_elt_find (src, windex, LBITSET_FIND))
|
||||
return 0;
|
||||
|
||||
return (src->b.cdata[windex - src->b.cindex]
|
||||
return (src->b.cdata[windex - src->b.cindex]
|
||||
>> (bitno % BITSET_WORD_BITS)) & 1;
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
lbitset_free (bset)
|
||||
bitset bset;
|
||||
lbitset_free (bitset bset)
|
||||
{
|
||||
lbitset_zero (bset);
|
||||
}
|
||||
@@ -636,11 +571,8 @@ lbitset_free (bset)
|
||||
*NEXT and store in array LIST. Return with actual number of bits
|
||||
found and with *NEXT indicating where search stopped. */
|
||||
static bitset_bindex
|
||||
lbitset_list_reverse (bset, list, num, next)
|
||||
bitset bset;
|
||||
bitset_bindex *list;
|
||||
bitset_bindex num;
|
||||
bitset_bindex *next;
|
||||
lbitset_list_reverse (bitset bset, bitset_bindex *list,
|
||||
bitset_bindex num, bitset_bindex *next)
|
||||
{
|
||||
bitset_bindex rbitno;
|
||||
bitset_bindex bitno;
|
||||
@@ -734,11 +666,8 @@ lbitset_list_reverse (bset, list, num, next)
|
||||
*NEXT and store in array LIST. Return with actual number of bits
|
||||
found and with *NEXT indicating where search stopped. */
|
||||
static bitset_bindex
|
||||
lbitset_list (bset, list, num, next)
|
||||
bitset bset;
|
||||
bitset_bindex *list;
|
||||
bitset_bindex num;
|
||||
bitset_bindex *next;
|
||||
lbitset_list (bitset bset, bitset_bindex *list,
|
||||
bitset_bindex num, bitset_bindex *next)
|
||||
{
|
||||
bitset_bindex bitno;
|
||||
bitset_windex windex;
|
||||
@@ -937,8 +866,7 @@ lbitset_list (bset, list, num, next)
|
||||
|
||||
|
||||
static int
|
||||
lbitset_empty_p (dst)
|
||||
bitset dst;
|
||||
lbitset_empty_p (bitset dst)
|
||||
{
|
||||
lbitset_weed (dst);
|
||||
if (LBITSET_HEAD (dst))
|
||||
@@ -948,8 +876,7 @@ lbitset_empty_p (dst)
|
||||
|
||||
|
||||
static void
|
||||
lbitset_ones (dst)
|
||||
bitset dst;
|
||||
lbitset_ones (bitset dst)
|
||||
{
|
||||
bitset_windex i;
|
||||
bitset_windex windex;
|
||||
@@ -963,7 +890,7 @@ lbitset_ones (dst)
|
||||
/* Ignore empty set. */
|
||||
if (!elt)
|
||||
return;
|
||||
|
||||
|
||||
windex = elt->index;
|
||||
for (i = 0; i < windex; i += LBITSET_ELT_WORDS)
|
||||
{
|
||||
@@ -975,9 +902,7 @@ lbitset_ones (dst)
|
||||
|
||||
|
||||
static void
|
||||
lbitset_not (dst, src)
|
||||
bitset dst;
|
||||
bitset src;
|
||||
lbitset_not (bitset dst, bitset src)
|
||||
{
|
||||
lbitset_elt *elt;
|
||||
lbitset_elt *selt;
|
||||
@@ -992,7 +917,7 @@ lbitset_not (dst, src)
|
||||
/* Ignore empty set. */
|
||||
if (!elt)
|
||||
return;
|
||||
|
||||
|
||||
windex = elt->index;
|
||||
for (i = 0; i < windex; i += LBITSET_ELT_WORDS)
|
||||
{
|
||||
@@ -1000,7 +925,7 @@ lbitset_not (dst, src)
|
||||
or substitute zero elements if src elements not found. */
|
||||
selt = lbitset_elt_find (src, i, LBITSET_SUBST);
|
||||
delt = lbitset_elt_find (dst, i, LBITSET_CREATE);
|
||||
|
||||
|
||||
for (j = 0; j < LBITSET_ELT_WORDS; j++)
|
||||
delt->words[j] = ~selt->words[j];
|
||||
}
|
||||
@@ -1011,9 +936,7 @@ lbitset_not (dst, src)
|
||||
|
||||
/* Return 1 if DST == DST | SRC. */
|
||||
static int
|
||||
lbitset_subset_p (dst, src)
|
||||
bitset dst;
|
||||
bitset src;
|
||||
lbitset_subset_p (bitset dst, bitset src)
|
||||
{
|
||||
lbitset_elt *selt;
|
||||
lbitset_elt *delt;
|
||||
@@ -1039,7 +962,7 @@ lbitset_subset_p (dst, src)
|
||||
selt = &lbitset_zero_elts[1];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
for (j = 0; j < LBITSET_ELT_WORDS; j++)
|
||||
if (delt->words[j] != (selt->words[j] | delt->words[j]))
|
||||
return 0;
|
||||
@@ -1050,9 +973,7 @@ lbitset_subset_p (dst, src)
|
||||
|
||||
/* Return 1 if DST & SRC == 0. */
|
||||
static int
|
||||
lbitset_disjoint_p (dst, src)
|
||||
bitset dst;
|
||||
bitset src;
|
||||
lbitset_disjoint_p (bitset dst, bitset src)
|
||||
{
|
||||
lbitset_elt *selt;
|
||||
lbitset_elt *delt;
|
||||
@@ -1077,7 +998,7 @@ lbitset_disjoint_p (dst, src)
|
||||
intersection of these elements. */
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
for (j = 0; j < LBITSET_ELT_WORDS; j++)
|
||||
if (selt->words[j] & delt->words[j])
|
||||
return 0;
|
||||
@@ -1087,11 +1008,7 @@ lbitset_disjoint_p (dst, src)
|
||||
|
||||
|
||||
static int
|
||||
lbitset_op3_cmp (dst, src1, src2, op)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
enum_bitset_ops op;
|
||||
lbitset_op3_cmp (bitset dst, bitset src1, bitset src2, enum bitset_ops op)
|
||||
{
|
||||
lbitset_elt *selt1 = LBITSET_HEAD (src1);
|
||||
lbitset_elt *selt2 = LBITSET_HEAD (src2);
|
||||
@@ -1248,21 +1165,8 @@ lbitset_op3_cmp (dst, src1, src2, op)
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
lbitset_and (dst, src1, src2)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
{
|
||||
lbitset_and_cmp (dst, src1, src2);
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
lbitset_and_cmp (dst, src1, src2)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
lbitset_and_cmp (bitset dst, bitset src1, bitset src2)
|
||||
{
|
||||
lbitset_elt *selt1 = LBITSET_HEAD (src1);
|
||||
lbitset_elt *selt2 = LBITSET_HEAD (src2);
|
||||
@@ -1287,20 +1191,14 @@ lbitset_and_cmp (dst, src1, src2)
|
||||
|
||||
|
||||
static void
|
||||
lbitset_andn (dst, src1, src2)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
lbitset_and (bitset dst, bitset src1, bitset src2)
|
||||
{
|
||||
lbitset_andn_cmp (dst, src1, src2);
|
||||
lbitset_and_cmp (dst, src1, src2);
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
lbitset_andn_cmp (dst, src1, src2)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
lbitset_andn_cmp (bitset dst, bitset src1, bitset src2)
|
||||
{
|
||||
lbitset_elt *selt1 = LBITSET_HEAD (src1);
|
||||
lbitset_elt *selt2 = LBITSET_HEAD (src2);
|
||||
@@ -1322,20 +1220,14 @@ lbitset_andn_cmp (dst, src1, src2)
|
||||
|
||||
|
||||
static void
|
||||
lbitset_or (dst, src1, src2)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
lbitset_andn (bitset dst, bitset src1, bitset src2)
|
||||
{
|
||||
lbitset_or_cmp (dst, src1, src2);
|
||||
lbitset_andn_cmp (dst, src1, src2);
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
lbitset_or_cmp (dst, src1, src2)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
lbitset_or_cmp (bitset dst, bitset src1, bitset src2)
|
||||
{
|
||||
lbitset_elt *selt1 = LBITSET_HEAD (src1);
|
||||
lbitset_elt *selt2 = LBITSET_HEAD (src2);
|
||||
@@ -1353,20 +1245,14 @@ lbitset_or_cmp (dst, src1, src2)
|
||||
|
||||
|
||||
static void
|
||||
lbitset_xor (dst, src1, src2)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
lbitset_or (bitset dst, bitset src1, bitset src2)
|
||||
{
|
||||
lbitset_xor_cmp (dst, src1, src2);
|
||||
lbitset_or_cmp (dst, src1, src2);
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
lbitset_xor_cmp (dst, src1, src2)
|
||||
bitset dst;
|
||||
bitset src1;
|
||||
bitset src2;
|
||||
lbitset_xor_cmp (bitset dst, bitset src1, bitset src2)
|
||||
{
|
||||
lbitset_elt *selt1 = LBITSET_HEAD (src1);
|
||||
lbitset_elt *selt2 = LBITSET_HEAD (src2);
|
||||
@@ -1383,6 +1269,13 @@ lbitset_xor_cmp (dst, src1, src2)
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
lbitset_xor (bitset dst, bitset src1, bitset src2)
|
||||
{
|
||||
lbitset_xor_cmp (dst, src1, src2);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Vector of operations for linked-list bitsets. */
|
||||
struct bitset_vtable lbitset_vtable = {
|
||||
@@ -1423,8 +1316,7 @@ struct bitset_vtable lbitset_vtable = {
|
||||
|
||||
/* Return size of initial structure. */
|
||||
size_t
|
||||
lbitset_bytes (n_bits)
|
||||
bitset_bindex n_bits ATTRIBUTE_UNUSED;
|
||||
lbitset_bytes (bitset_bindex n_bits ATTRIBUTE_UNUSED)
|
||||
{
|
||||
return sizeof (struct lbitset_struct);
|
||||
}
|
||||
@@ -1432,9 +1324,7 @@ lbitset_bytes (n_bits)
|
||||
|
||||
/* Initialize a bitset. */
|
||||
bitset
|
||||
lbitset_init (bset, n_bits)
|
||||
bitset bset;
|
||||
bitset_bindex n_bits ATTRIBUTE_UNUSED;
|
||||
lbitset_init (bitset bset, bitset_bindex n_bits ATTRIBUTE_UNUSED)
|
||||
{
|
||||
bset->b.vtable = &lbitset_vtable;
|
||||
return bset;
|
||||
@@ -1442,7 +1332,7 @@ lbitset_init (bset, n_bits)
|
||||
|
||||
|
||||
void
|
||||
lbitset_release_memory ()
|
||||
lbitset_release_memory (void)
|
||||
{
|
||||
lbitset_free_list = 0;
|
||||
if (lbitset_obstack_init)
|
||||
@@ -1455,15 +1345,14 @@ lbitset_release_memory ()
|
||||
|
||||
/* Function to be called from debugger to debug lbitset. */
|
||||
void
|
||||
debug_lbitset (bset)
|
||||
bitset bset;
|
||||
debug_lbitset (bitset bset)
|
||||
{
|
||||
lbitset_elt *elt;
|
||||
unsigned int i;
|
||||
|
||||
if (!bset)
|
||||
return;
|
||||
|
||||
|
||||
for (elt = LBITSET_HEAD (bset); elt; elt = elt->next)
|
||||
{
|
||||
fprintf (stderr, "Elt %lu\n", (unsigned long) elt->index);
|
||||
@@ -1471,9 +1360,9 @@ debug_lbitset (bset)
|
||||
{
|
||||
unsigned int j;
|
||||
bitset_word word;
|
||||
|
||||
|
||||
word = elt->words[i];
|
||||
|
||||
|
||||
fprintf (stderr, " Word %u:", i);
|
||||
for (j = 0; j < LBITSET_WORD_BITS; j++)
|
||||
if ((word & ((bitset_word) 1 << j)))
|
||||
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
/* Yacc library main function.
|
||||
|
||||
Copyright (C) 2002 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of Bison, the GNU Compiler Compiler.
|
||||
|
||||
Bison is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
Bison is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Bison; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#if HAVE_LOCALE_H
|
||||
# include <locale.h>
|
||||
#endif
|
||||
#if ! HAVE_SETLOCALE
|
||||
# define setlocale(Category, Locale)
|
||||
#endif
|
||||
|
||||
int yyparse (void);
|
||||
|
||||
int
|
||||
main (void)
|
||||
{
|
||||
setlocale (LC_ALL, "");
|
||||
return yyparse ();
|
||||
}
|
||||
+213
@@ -0,0 +1,213 @@
|
||||
/* Determine the number of screen columns needed for a string.
|
||||
Copyright (C) 2000-2002 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software Foundation,
|
||||
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
/* Written by Bruno Haible <[email protected]>. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
/* Specification. */
|
||||
#include "mbswidth.h"
|
||||
|
||||
/* Get MB_CUR_MAX. */
|
||||
#include <stdlib.h>
|
||||
|
||||
#include <string.h>
|
||||
|
||||
/* Get isprint(). */
|
||||
#include <ctype.h>
|
||||
|
||||
/* Get mbstate_t, mbrtowc(), mbsinit(), wcwidth(). */
|
||||
#if HAVE_WCHAR_H
|
||||
# include <wchar.h>
|
||||
#endif
|
||||
|
||||
/* Get iswprint(), iswcntrl(). */
|
||||
#if HAVE_WCTYPE_H
|
||||
# include <wctype.h>
|
||||
#endif
|
||||
#if !defined iswprint && !HAVE_ISWPRINT
|
||||
# define iswprint(wc) 1
|
||||
#endif
|
||||
#if !defined iswcntrl && !HAVE_ISWCNTRL
|
||||
# define iswcntrl(wc) 0
|
||||
#endif
|
||||
|
||||
#ifndef mbsinit
|
||||
# if !HAVE_MBSINIT
|
||||
# define mbsinit(ps) 1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_DECL_WCWIDTH
|
||||
"this configure-time declaration test was not run"
|
||||
#endif
|
||||
#if !HAVE_DECL_WCWIDTH
|
||||
int wcwidth ();
|
||||
#endif
|
||||
|
||||
#ifndef wcwidth
|
||||
# if !HAVE_WCWIDTH
|
||||
/* wcwidth doesn't exist, so assume all printable characters have
|
||||
width 1. */
|
||||
# define wcwidth(wc) ((wc) == 0 ? 0 : iswprint (wc) ? 1 : -1)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Get ISPRINT. */
|
||||
#if defined (STDC_HEADERS) || (!defined (isascii) && !defined (HAVE_ISASCII))
|
||||
# define IN_CTYPE_DOMAIN(c) 1
|
||||
#else
|
||||
# define IN_CTYPE_DOMAIN(c) isascii(c)
|
||||
#endif
|
||||
/* Undefine to protect against the definition in wctype.h of solaris2.6. */
|
||||
#undef ISPRINT
|
||||
#define ISPRINT(c) (IN_CTYPE_DOMAIN (c) && isprint (c))
|
||||
#undef ISCNTRL
|
||||
#define ISCNTRL(c) (IN_CTYPE_DOMAIN (c) && iscntrl (c))
|
||||
|
||||
/* Returns the number of columns needed to represent the multibyte
|
||||
character string pointed to by STRING. If a non-printable character
|
||||
occurs, and MBSW_REJECT_UNPRINTABLE is specified, -1 is returned.
|
||||
With flags = MBSW_REJECT_INVALID | MBSW_REJECT_UNPRINTABLE, this is
|
||||
the multibyte analogon of the wcswidth function. */
|
||||
int
|
||||
mbswidth (const char *string, int flags)
|
||||
{
|
||||
return mbsnwidth (string, strlen (string), flags);
|
||||
}
|
||||
|
||||
/* Returns the number of columns needed to represent the multibyte
|
||||
character string pointed to by STRING of length NBYTES. If a
|
||||
non-printable character occurs, and MBSW_REJECT_UNPRINTABLE is
|
||||
specified, -1 is returned. */
|
||||
int
|
||||
mbsnwidth (const char *string, size_t nbytes, int flags)
|
||||
{
|
||||
const char *p = string;
|
||||
const char *plimit = p + nbytes;
|
||||
int width;
|
||||
|
||||
width = 0;
|
||||
#if HAVE_MBRTOWC
|
||||
if (MB_CUR_MAX > 1)
|
||||
{
|
||||
while (p < plimit)
|
||||
switch (*p)
|
||||
{
|
||||
case ' ': case '!': case '"': case '#': case '%':
|
||||
case '&': case '\'': case '(': case ')': case '*':
|
||||
case '+': case ',': case '-': case '.': case '/':
|
||||
case '0': case '1': case '2': case '3': case '4':
|
||||
case '5': case '6': case '7': case '8': case '9':
|
||||
case ':': case ';': case '<': case '=': case '>':
|
||||
case '?':
|
||||
case 'A': case 'B': case 'C': case 'D': case 'E':
|
||||
case 'F': case 'G': case 'H': case 'I': case 'J':
|
||||
case 'K': case 'L': case 'M': case 'N': case 'O':
|
||||
case 'P': case 'Q': case 'R': case 'S': case 'T':
|
||||
case 'U': case 'V': case 'W': case 'X': case 'Y':
|
||||
case 'Z':
|
||||
case '[': case '\\': case ']': case '^': case '_':
|
||||
case 'a': case 'b': case 'c': case 'd': case 'e':
|
||||
case 'f': case 'g': case 'h': case 'i': case 'j':
|
||||
case 'k': case 'l': case 'm': case 'n': case 'o':
|
||||
case 'p': case 'q': case 'r': case 's': case 't':
|
||||
case 'u': case 'v': case 'w': case 'x': case 'y':
|
||||
case 'z': case '{': case '|': case '}': case '~':
|
||||
/* These characters are printable ASCII characters. */
|
||||
p++;
|
||||
width++;
|
||||
break;
|
||||
default:
|
||||
/* If we have a multibyte sequence, scan it up to its end. */
|
||||
{
|
||||
mbstate_t mbstate;
|
||||
memset (&mbstate, 0, sizeof mbstate);
|
||||
do
|
||||
{
|
||||
wchar_t wc;
|
||||
size_t bytes;
|
||||
int w;
|
||||
|
||||
bytes = mbrtowc (&wc, p, plimit - p, &mbstate);
|
||||
|
||||
if (bytes == (size_t) -1)
|
||||
/* An invalid multibyte sequence was encountered. */
|
||||
{
|
||||
if (!(flags & MBSW_REJECT_INVALID))
|
||||
{
|
||||
p++;
|
||||
width++;
|
||||
break;
|
||||
}
|
||||
else
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (bytes == (size_t) -2)
|
||||
/* An incomplete multibyte character at the end. */
|
||||
{
|
||||
if (!(flags & MBSW_REJECT_INVALID))
|
||||
{
|
||||
p = plimit;
|
||||
width++;
|
||||
break;
|
||||
}
|
||||
else
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (bytes == 0)
|
||||
/* A null wide character was encountered. */
|
||||
bytes = 1;
|
||||
|
||||
w = wcwidth (wc);
|
||||
if (w >= 0)
|
||||
/* A printable multibyte character. */
|
||||
width += w;
|
||||
else
|
||||
/* An unprintable multibyte character. */
|
||||
if (!(flags & MBSW_REJECT_UNPRINTABLE))
|
||||
width += (iswcntrl (wc) ? 0 : 1);
|
||||
else
|
||||
return -1;
|
||||
|
||||
p += bytes;
|
||||
}
|
||||
while (! mbsinit (&mbstate));
|
||||
}
|
||||
break;
|
||||
}
|
||||
return width;
|
||||
}
|
||||
#endif
|
||||
|
||||
while (p < plimit)
|
||||
{
|
||||
unsigned char c = (unsigned char) *p++;
|
||||
|
||||
if (ISPRINT (c))
|
||||
width++;
|
||||
else if (!(flags & MBSW_REJECT_UNPRINTABLE))
|
||||
width += (ISCNTRL (c) ? 0 : 1);
|
||||
else
|
||||
return -1;
|
||||
}
|
||||
return width;
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
/* Determine the number of screen columns needed for a string.
|
||||
Copyright (C) 2000-2002 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software Foundation,
|
||||
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
/* Optional flags to influence mbswidth/mbsnwidth behavior. */
|
||||
|
||||
/* If this bit is set, return -1 upon finding an invalid or incomplete
|
||||
character. Otherwise, assume invalid characters have width 1. */
|
||||
#define MBSW_REJECT_INVALID 1
|
||||
|
||||
/* If this bit is set, return -1 upon finding a non-printable character.
|
||||
Otherwise, assume unprintable characters have width 0 if they are
|
||||
control characters and 1 otherwise. */
|
||||
#define MBSW_REJECT_UNPRINTABLE 2
|
||||
|
||||
/* Returns the number of screen columns needed for STRING. */
|
||||
#define mbswidth gnu_mbswidth /* avoid clash with UnixWare 7.1.1 function */
|
||||
extern int mbswidth (const char *string, int flags);
|
||||
|
||||
/* Returns the number of screen columns needed for the NBYTES bytes
|
||||
starting at BUF. */
|
||||
extern int mbsnwidth (const char *buf, size_t nbytes, int flags);
|
||||
+11
-10
@@ -6,19 +6,20 @@
|
||||
adaptation to memchr suggested by Dick Karpinski (dick@cca.ucsf.edu),
|
||||
and implemented by Roland McGrath (roland@ai.mit.edu).
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software Foundation,
|
||||
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
/* Copyright (C) 1998, 1999, 2001 Free Software Foundation, Inc.
|
||||
This file is derived from the one in the GNU C Library.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software Foundation,
|
||||
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
/* Disable the definition of mkstemp to rpl_mkstemp (from config.h) in this
|
||||
file. Otherwise, we'd get conflicting prototypes for rpl_mkstemp on
|
||||
most systems. */
|
||||
#undef mkstemp
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#ifndef __GT_FILE
|
||||
# define __GT_FILE 0
|
||||
#endif
|
||||
|
||||
int __gen_tempname ();
|
||||
|
||||
/* Generate a unique temporary file name from TEMPLATE.
|
||||
The last six characters of TEMPLATE must be "XXXXXX";
|
||||
they are replaced with a string that makes the filename unique.
|
||||
Then open the file and return a fd. */
|
||||
int
|
||||
rpl_mkstemp (char *template)
|
||||
{
|
||||
return __gen_tempname (template, __GT_FILE);
|
||||
}
|
||||
+19
-28
@@ -1,11 +1,5 @@
|
||||
/* obstack.c - subroutines used implicitly by object stack macros
|
||||
|
||||
Copyright (C) 1988-1994, 1996, 1997, 1998, 1999, 2000, 2001, 2002
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of the GNU C Library. Its master source is NOT part of
|
||||
the C library, however. The master source lives in /gd/gnu/lib.
|
||||
|
||||
Copyright (C) 1988-1994, 1996-1999, 2000-2002 Free Software Foundation, Inc.
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
@@ -16,8 +10,8 @@
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software Foundation,
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation,
|
||||
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
@@ -55,7 +49,7 @@
|
||||
#ifndef ELIDE_CODE
|
||||
|
||||
|
||||
# ifdef __STDC__
|
||||
# if defined __STDC__ && __STDC__
|
||||
# define POINTER void *
|
||||
# else
|
||||
# define POINTER char *
|
||||
@@ -86,7 +80,7 @@ union fooround {long x; double d;};
|
||||
abort gracefully or use longjump - but shouldn't return. This
|
||||
variable by default points to the internal function
|
||||
`print_and_abort'. */
|
||||
# if PROTOTYPES || (defined __STDC__ && __STDC__)
|
||||
# if defined __STDC__ && __STDC__
|
||||
static void print_and_abort (void);
|
||||
void (*obstack_alloc_failed_handler) (void) = print_and_abort;
|
||||
# else
|
||||
@@ -114,7 +108,7 @@ struct obstack *_obstack;
|
||||
For free, do not use ?:, since some compilers, like the MIPS compilers,
|
||||
do not allow (expr) ? void : void. */
|
||||
|
||||
# if PROTOTYPES || (defined __STDC__ && __STDC__)
|
||||
# if defined __STDC__ && __STDC__
|
||||
# define CALL_CHUNKFUN(h, size) \
|
||||
(((h) -> use_extra_arg) \
|
||||
? (*(h)->chunkfun) ((h)->extra_arg, (size)) \
|
||||
@@ -156,7 +150,7 @@ _obstack_begin (h, size, alignment, chunkfun, freefun)
|
||||
struct obstack *h;
|
||||
int size;
|
||||
int alignment;
|
||||
# if PROTOTYPES || (defined __STDC__ && __STDC__)
|
||||
# if defined __STDC__ && __STDC__
|
||||
POINTER (*chunkfun) (long);
|
||||
void (*freefun) (void *);
|
||||
# else
|
||||
@@ -185,7 +179,7 @@ _obstack_begin (h, size, alignment, chunkfun, freefun)
|
||||
size = 4096 - extra;
|
||||
}
|
||||
|
||||
# if PROTOTYPES || (defined __STDC__ && __STDC__)
|
||||
# if defined __STDC__ && __STDC__
|
||||
h->chunkfun = (struct _obstack_chunk * (*)(void *, long)) chunkfun;
|
||||
h->freefun = (void (*) (void *, struct _obstack_chunk *)) freefun;
|
||||
# else
|
||||
@@ -214,7 +208,7 @@ _obstack_begin_1 (h, size, alignment, chunkfun, freefun, arg)
|
||||
struct obstack *h;
|
||||
int size;
|
||||
int alignment;
|
||||
# if PROTOTYPES || (defined __STDC__ && __STDC__)
|
||||
# if defined __STDC__ && __STDC__
|
||||
POINTER (*chunkfun) (POINTER, long);
|
||||
void (*freefun) (POINTER, POINTER);
|
||||
# else
|
||||
@@ -244,7 +238,7 @@ _obstack_begin_1 (h, size, alignment, chunkfun, freefun, arg)
|
||||
size = 4096 - extra;
|
||||
}
|
||||
|
||||
# if PROTOTYPES || (defined __STDC__ && __STDC__)
|
||||
# if defined __STDC__ && __STDC__
|
||||
h->chunkfun = (struct _obstack_chunk * (*)(void *,long)) chunkfun;
|
||||
h->freefun = (void (*) (void *, struct _obstack_chunk *)) freefun;
|
||||
# else
|
||||
@@ -345,7 +339,7 @@ _obstack_newchunk (h, length)
|
||||
This is here for debugging.
|
||||
If you use it in a program, you are probably losing. */
|
||||
|
||||
# if PROTOTYPES || (defined __STDC__ && __STDC__)
|
||||
# if defined __STDC__ && __STDC__
|
||||
/* Suppress -Wmissing-prototypes warning. We don't want to declare this in
|
||||
obstack.h because it is just for debugging. */
|
||||
int _obstack_allocated_p (struct obstack *h, POINTER obj);
|
||||
@@ -460,16 +454,13 @@ _obstack_memory_used (h)
|
||||
}
|
||||
|
||||
/* Define the error handler. */
|
||||
# ifndef _
|
||||
# if (HAVE_LIBINTL_H && ENABLE_NLS) || defined _LIBC
|
||||
# include <libintl.h>
|
||||
# ifndef _
|
||||
# define _(Str) gettext (Str)
|
||||
# endif
|
||||
# else
|
||||
# define _(Str) (Str)
|
||||
# endif
|
||||
# ifdef _LIBC
|
||||
# include <libintl.h>
|
||||
# else
|
||||
# include "gettext.h"
|
||||
# endif
|
||||
# define _(msgid) gettext (msgid)
|
||||
|
||||
# if defined _LIBC && defined USE_IN_LIBIO
|
||||
# include <libio/iolibio.h>
|
||||
# define fputs(s, f) _IO_fputs (s, f)
|
||||
@@ -507,7 +498,7 @@ print_and_abort ()
|
||||
/* Now define the functional versions of the obstack macros.
|
||||
Define them to simply use the corresponding macros to do the job. */
|
||||
|
||||
# if PROTOTYPES || (defined __STDC__ && __STDC__)
|
||||
# if defined __STDC__ && __STDC__
|
||||
/* These function definitions do not work with non-ANSI preprocessors;
|
||||
they won't pass through the macro names in parentheses. */
|
||||
|
||||
@@ -618,7 +609,7 @@ POINTER (obstack_copy0) (obstack, address, length)
|
||||
return obstack_copy0 (obstack, address, length);
|
||||
}
|
||||
|
||||
# endif /* PROTOTYPES || (defined __STDC__ && __STDC__) */
|
||||
# endif /* __STDC__ */
|
||||
|
||||
# endif /* 0 */
|
||||
|
||||
|
||||
+19
-24
@@ -1,7 +1,5 @@
|
||||
/* obstack.h - object stack macros
|
||||
|
||||
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1996, 1997,
|
||||
1998, 1999, 2002 Free Software Foundation, Inc.
|
||||
Copyright (C) 1988,89,90,91,92,93,94,96,97,98,99 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of the GNU C Library. Its master source is NOT part of
|
||||
the C library, however. The master source lives in /gd/gnu/lib.
|
||||
@@ -9,19 +7,20 @@
|
||||
NOTE: The canonical source of this file is maintained with the GNU C Library.
|
||||
Bugs can be reported to bug-glibc@gnu.org.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by the
|
||||
Free Software Foundation; either version 2, or (at your option) any
|
||||
later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software Foundation,
|
||||
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA. */
|
||||
|
||||
/* Summary:
|
||||
|
||||
@@ -124,11 +123,7 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
#ifndef __INT_TO_PTR
|
||||
# ifdef __STDC__
|
||||
# define __INT_TO_PTR(P) ((void *) ((P) + (char *) 0))
|
||||
# else
|
||||
# define __INT_TO_PTR(P) ((P) + (char *) 0)
|
||||
# endif
|
||||
# define __INT_TO_PTR(P) ((P) + (char *) 0)
|
||||
#endif
|
||||
|
||||
/* We need the type of the resulting object. If __PTRDIFF_TYPE__ is
|
||||
@@ -175,7 +170,7 @@ struct obstack /* control current object in current chunk */
|
||||
char *chunk_limit; /* address of char after current chunk */
|
||||
PTR_INT_TYPE temp; /* Temporary for some macros. */
|
||||
int alignment_mask; /* Mask of alignment for each object. */
|
||||
#if PROTOTYPES || (defined __STDC__ && __STDC__)
|
||||
#if defined __STDC__ && __STDC__
|
||||
/* These prototypes vary based on `use_extra_arg', and we use
|
||||
casts to the prototypeless function type in all assignments,
|
||||
but having prototypes here quiets -Wstrict-prototypes. */
|
||||
@@ -199,7 +194,7 @@ struct obstack /* control current object in current chunk */
|
||||
|
||||
/* Declare the external functions we use; they are in obstack.c. */
|
||||
|
||||
#if PROTOTYPES || (defined __STDC__ && __STDC__)
|
||||
#if defined __STDC__ && __STDC__
|
||||
extern void _obstack_newchunk (struct obstack *, int);
|
||||
extern void _obstack_free (struct obstack *, void *);
|
||||
extern int _obstack_begin (struct obstack *, int, int,
|
||||
@@ -216,7 +211,7 @@ extern int _obstack_begin_1 ();
|
||||
extern int _obstack_memory_used ();
|
||||
#endif
|
||||
|
||||
#if PROTOTYPES || (defined __STDC__ && __STDC__)
|
||||
#if defined __STDC__ && __STDC__
|
||||
|
||||
/* Do the function-declarations after the structs
|
||||
but before defining the macros. */
|
||||
@@ -256,7 +251,7 @@ int obstack_alignment_mask (struct obstack *obstack);
|
||||
int obstack_chunk_size (struct obstack *obstack);
|
||||
int obstack_memory_used (struct obstack *obstack);
|
||||
|
||||
#endif /* PROTOTYPES || (defined __STDC__ && __STDC__) */
|
||||
#endif /* __STDC__ */
|
||||
|
||||
/* Non-ANSI C cannot really support alternative functions for these macros,
|
||||
so we do not declare them. */
|
||||
@@ -265,7 +260,7 @@ int obstack_memory_used (struct obstack *obstack);
|
||||
more memory. This can be set to a user defined function which
|
||||
should either abort gracefully or use longjump - but shouldn't
|
||||
return. The default action is to print a message and abort. */
|
||||
#if PROTOTYPES || (defined __STDC__ && __STDC__)
|
||||
#if defined __STDC__ && __STDC__
|
||||
extern void (*obstack_alloc_failed_handler) (void);
|
||||
#else
|
||||
extern void (*obstack_alloc_failed_handler) ();
|
||||
@@ -294,7 +289,7 @@ extern int obstack_exit_failure;
|
||||
|
||||
/* To prevent prototype warnings provide complete argument list in
|
||||
standard C version. */
|
||||
#if PROTOYPES || (defined __STDC__ && __STDC__)
|
||||
#if defined __STDC__ && __STDC__
|
||||
|
||||
# define obstack_init(h) \
|
||||
_obstack_begin ((h), 0, 0, \
|
||||
@@ -589,7 +584,7 @@ __extension__ \
|
||||
(h)->object_base = (h)->next_free, \
|
||||
__INT_TO_PTR ((h)->temp))
|
||||
|
||||
# if PROTOTYPES || (defined __STDC__ && __STDC__)
|
||||
# if defined __STDC__ && __STDC__
|
||||
# define obstack_free(h,obj) \
|
||||
( (h)->temp = (char *) (obj) - (char *) (h)->chunk, \
|
||||
(((h)->temp > 0 && (h)->temp < (h)->chunk_limit - (char *) (h)->chunk)\
|
||||
|
||||
+33
-65
@@ -21,52 +21,19 @@
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#if HAVE_STDDEF_H
|
||||
# include <stddef.h> /* For the definition of size_t on windows w/MSVC. */
|
||||
#endif
|
||||
#include <sys/types.h>
|
||||
#include "quotearg.h"
|
||||
|
||||
#include "xalloc.h"
|
||||
|
||||
#include <ctype.h>
|
||||
#include <errno.h>
|
||||
#include <limits.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#if ENABLE_NLS
|
||||
# include <libintl.h>
|
||||
# define _(text) gettext (text)
|
||||
#else
|
||||
# define _(text) text
|
||||
#endif
|
||||
#define N_(text) text
|
||||
|
||||
#if HAVE_LIMITS_H
|
||||
# include <limits.h>
|
||||
#endif
|
||||
#ifndef CHAR_BIT
|
||||
# define CHAR_BIT 8
|
||||
#endif
|
||||
#ifndef SIZE_MAX
|
||||
# define SIZE_MAX ((size_t) -1)
|
||||
#endif
|
||||
#ifndef UCHAR_MAX
|
||||
# define UCHAR_MAX ((unsigned char) -1)
|
||||
#endif
|
||||
#ifndef UINT_MAX
|
||||
# define UINT_MAX ((unsigned int) -1)
|
||||
#endif
|
||||
|
||||
#if HAVE_C_BACKSLASH_A
|
||||
# define ALERT_CHAR '\a'
|
||||
#else
|
||||
# define ALERT_CHAR '\7'
|
||||
#endif
|
||||
|
||||
#if HAVE_STDLIB_H
|
||||
# include <stdlib.h>
|
||||
#endif
|
||||
|
||||
#if HAVE_STRING_H
|
||||
# include <string.h>
|
||||
#endif
|
||||
#include "gettext.h"
|
||||
#define _(msgid) gettext (msgid)
|
||||
#define N_(msgid) msgid
|
||||
|
||||
#if HAVE_WCHAR_H
|
||||
|
||||
@@ -84,7 +51,7 @@
|
||||
# undef MB_CUR_MAX
|
||||
# define MB_CUR_MAX 1
|
||||
# define mbrtowc(pwc, s, n, ps) ((*(pwc) = *(s)) != 0)
|
||||
# define iswprint(wc) ISPRINT ((unsigned char) (wc))
|
||||
# define iswprint(wc) isprint ((unsigned char) (wc))
|
||||
# undef HAVE_MBSINIT
|
||||
#endif
|
||||
|
||||
@@ -101,17 +68,11 @@
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#define INT_BITS (sizeof (int) * CHAR_BIT)
|
||||
|
||||
#if defined (STDC_HEADERS) || (!defined (isascii) && !defined (HAVE_ISASCII))
|
||||
# define IN_CTYPE_DOMAIN(c) 1
|
||||
#else
|
||||
# define IN_CTYPE_DOMAIN(c) isascii(c)
|
||||
#ifndef SIZE_MAX
|
||||
# define SIZE_MAX ((size_t) -1)
|
||||
#endif
|
||||
|
||||
/* Undefine to protect against the definition in wctype.h of solaris2.6. */
|
||||
#undef ISPRINT
|
||||
#define ISPRINT(c) (IN_CTYPE_DOMAIN (c) && isprint (c))
|
||||
#define INT_BITS (sizeof (int) * CHAR_BIT)
|
||||
|
||||
struct quoting_options
|
||||
{
|
||||
@@ -157,9 +118,10 @@ static struct quoting_options default_quoting_options;
|
||||
struct quoting_options *
|
||||
clone_quoting_options (struct quoting_options *o)
|
||||
{
|
||||
struct quoting_options *p
|
||||
= (struct quoting_options *) xmalloc (sizeof (struct quoting_options));
|
||||
int e = errno;
|
||||
struct quoting_options *p = xmalloc (sizeof *p);
|
||||
*p = *(o ? o : &default_quoting_options);
|
||||
errno = e;
|
||||
return p;
|
||||
}
|
||||
|
||||
@@ -291,7 +253,7 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize,
|
||||
break;
|
||||
}
|
||||
|
||||
for (i = 0; ! (argsize == (size_t) -1 ? arg[i] == '\0' : i == argsize); i++)
|
||||
for (i = 0; ! (argsize == SIZE_MAX ? arg[i] == '\0' : i == argsize); i++)
|
||||
{
|
||||
unsigned char c;
|
||||
unsigned char esc;
|
||||
@@ -330,8 +292,8 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize,
|
||||
case '<': case '=': case '>':
|
||||
/* Escape the second '?' in what would otherwise be
|
||||
a trigraph. */
|
||||
i += 2;
|
||||
c = arg[i + 2];
|
||||
i += 2;
|
||||
STORE ('?');
|
||||
STORE ('\\');
|
||||
STORE ('?');
|
||||
@@ -344,7 +306,7 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize,
|
||||
}
|
||||
break;
|
||||
|
||||
case ALERT_CHAR: esc = 'a'; goto c_escape;
|
||||
case '\a': esc = 'a'; goto c_escape;
|
||||
case '\b': esc = 'b'; goto c_escape;
|
||||
case '\f': esc = 'f'; goto c_escape;
|
||||
case '\n': esc = 'n'; goto c_and_shell_escape;
|
||||
@@ -432,7 +394,7 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize,
|
||||
if (unibyte_locale)
|
||||
{
|
||||
m = 1;
|
||||
printable = ISPRINT (c);
|
||||
printable = isprint (c);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -441,7 +403,7 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize,
|
||||
|
||||
m = 0;
|
||||
printable = 1;
|
||||
if (argsize == (size_t) -1)
|
||||
if (argsize == SIZE_MAX)
|
||||
argsize = strlen (arg);
|
||||
|
||||
do
|
||||
@@ -537,8 +499,11 @@ quotearg_buffer (char *buffer, size_t buffersize,
|
||||
struct quoting_options const *o)
|
||||
{
|
||||
struct quoting_options const *p = o ? o : &default_quoting_options;
|
||||
return quotearg_buffer_restyled (buffer, buffersize, arg, argsize,
|
||||
p->style, p);
|
||||
int e = errno;
|
||||
size_t r = quotearg_buffer_restyled (buffer, buffersize, arg, argsize,
|
||||
p->style, p);
|
||||
errno = e;
|
||||
return r;
|
||||
}
|
||||
|
||||
/* Use storage slot N to return a quoted version of argument ARG.
|
||||
@@ -552,6 +517,8 @@ static char *
|
||||
quotearg_n_options (int n, char const *arg, size_t argsize,
|
||||
struct quoting_options const *options)
|
||||
{
|
||||
int e = errno;
|
||||
|
||||
/* Preallocate a slot 0 buffer, so that the caller can always quote
|
||||
one small component of a "memory exhausted" message in slot 0. */
|
||||
static char slot0[256];
|
||||
@@ -579,10 +546,10 @@ quotearg_n_options (int n, char const *arg, size_t argsize,
|
||||
|
||||
if (slotvec == &slotvec0)
|
||||
{
|
||||
slotvec = (struct slotvec *) xmalloc (sizeof *slotvec);
|
||||
slotvec = xmalloc (sizeof *slotvec);
|
||||
*slotvec = slotvec0;
|
||||
}
|
||||
slotvec = (struct slotvec *) xrealloc (slotvec, s);
|
||||
slotvec = xrealloc (slotvec, s);
|
||||
memset (slotvec + nslots, 0, (n1 - nslots) * sizeof *slotvec);
|
||||
nslots = n1;
|
||||
}
|
||||
@@ -599,6 +566,7 @@ quotearg_n_options (int n, char const *arg, size_t argsize,
|
||||
quotearg_buffer (val, size, arg, argsize, options);
|
||||
}
|
||||
|
||||
errno = e;
|
||||
return val;
|
||||
}
|
||||
}
|
||||
@@ -606,7 +574,7 @@ quotearg_n_options (int n, char const *arg, size_t argsize,
|
||||
char *
|
||||
quotearg_n (int n, char const *arg)
|
||||
{
|
||||
return quotearg_n_options (n, arg, (size_t) -1, &default_quoting_options);
|
||||
return quotearg_n_options (n, arg, SIZE_MAX, &default_quoting_options);
|
||||
}
|
||||
|
||||
char *
|
||||
@@ -629,7 +597,7 @@ char *
|
||||
quotearg_n_style (int n, enum quoting_style s, char const *arg)
|
||||
{
|
||||
struct quoting_options const o = quoting_options_from_style (s);
|
||||
return quotearg_n_options (n, arg, (size_t) -1, &o);
|
||||
return quotearg_n_options (n, arg, SIZE_MAX, &o);
|
||||
}
|
||||
|
||||
char *
|
||||
@@ -652,7 +620,7 @@ quotearg_char (char const *arg, char ch)
|
||||
struct quoting_options options;
|
||||
options = default_quoting_options;
|
||||
set_char_quoting (&options, ch, 1);
|
||||
return quotearg_n_options (0, arg, (size_t) -1, &options);
|
||||
return quotearg_n_options (0, arg, SIZE_MAX, &options);
|
||||
}
|
||||
|
||||
char *
|
||||
|
||||
+17
-25
@@ -22,6 +22,8 @@
|
||||
#ifndef QUOTEARG_H_
|
||||
# define QUOTEARG_H_ 1
|
||||
|
||||
# include <stddef.h>
|
||||
|
||||
/* Basic quoting styles. */
|
||||
enum quoting_style
|
||||
{
|
||||
@@ -45,37 +47,27 @@ extern enum quoting_style const quoting_style_vals[];
|
||||
|
||||
struct quoting_options;
|
||||
|
||||
# ifndef PARAMS
|
||||
# if defined PROTOTYPES || defined __STDC__
|
||||
# define PARAMS(Args) Args
|
||||
# else
|
||||
# define PARAMS(Args) ()
|
||||
# endif
|
||||
# endif
|
||||
|
||||
/* The functions listed below set and use a hidden variable
|
||||
that contains the default quoting style options. */
|
||||
|
||||
/* Allocate a new set of quoting options, with contents initially identical
|
||||
to O if O is not null, or to the default if O is null.
|
||||
It is the caller's responsibility to free the result. */
|
||||
struct quoting_options *clone_quoting_options
|
||||
PARAMS ((struct quoting_options *o));
|
||||
struct quoting_options *clone_quoting_options (struct quoting_options *o);
|
||||
|
||||
/* Get the value of O's quoting style. If O is null, use the default. */
|
||||
enum quoting_style get_quoting_style PARAMS ((struct quoting_options *o));
|
||||
enum quoting_style get_quoting_style (struct quoting_options *o);
|
||||
|
||||
/* In O (or in the default if O is null),
|
||||
set the value of the quoting style to S. */
|
||||
void set_quoting_style PARAMS ((struct quoting_options *o,
|
||||
enum quoting_style s));
|
||||
void set_quoting_style (struct quoting_options *o, enum quoting_style s);
|
||||
|
||||
/* In O (or in the default if O is null),
|
||||
set the value of the quoting options for character C to I.
|
||||
Return the old value. Currently, the only values defined for I are
|
||||
0 (the default) and 1 (which means to quote the character even if
|
||||
it would not otherwise be quoted). */
|
||||
int set_char_quoting PARAMS ((struct quoting_options *o, char c, int i));
|
||||
int set_char_quoting (struct quoting_options *o, char c, int i);
|
||||
|
||||
/* Place into buffer BUFFER (of size BUFFERSIZE) a quoted version of
|
||||
argument ARG (of size ARGSIZE), using O to control quoting.
|
||||
@@ -85,38 +77,38 @@ int set_char_quoting PARAMS ((struct quoting_options *o, char c, int i));
|
||||
If BUFFERSIZE is too small to store the output string, return the
|
||||
value that would have been returned had BUFFERSIZE been large enough.
|
||||
If ARGSIZE is -1, use the string length of the argument for ARGSIZE. */
|
||||
size_t quotearg_buffer PARAMS ((char *buffer, size_t buffersize,
|
||||
char const *arg, size_t argsize,
|
||||
struct quoting_options const *o));
|
||||
size_t quotearg_buffer (char *buffer, size_t buffersize,
|
||||
char const *arg, size_t argsize,
|
||||
struct quoting_options const *o);
|
||||
|
||||
/* Use storage slot N to return a quoted version of the string ARG.
|
||||
Use the default quoting options.
|
||||
The returned value points to static storage that can be
|
||||
reused by the next call to this function with the same value of N.
|
||||
N must be nonnegative. */
|
||||
char *quotearg_n PARAMS ((int n, char const *arg));
|
||||
char *quotearg_n (int n, char const *arg);
|
||||
|
||||
/* Equivalent to quotearg_n (0, ARG). */
|
||||
char *quotearg PARAMS ((char const *arg));
|
||||
char *quotearg (char const *arg);
|
||||
|
||||
/* Use style S and storage slot N to return a quoted version of the string ARG.
|
||||
This is like quotearg_n (N, ARG), except that it uses S with no other
|
||||
options to specify the quoting method. */
|
||||
char *quotearg_n_style PARAMS ((int n, enum quoting_style s, char const *arg));
|
||||
char *quotearg_n_style (int n, enum quoting_style s, char const *arg);
|
||||
|
||||
/* Use style S and storage slot N to return a quoted version of the
|
||||
argument ARG of size ARGSIZE. This is like quotearg_n_style
|
||||
(N, S, ARG), except it can quote null bytes. */
|
||||
char *quotearg_n_style_mem PARAMS ((int n, enum quoting_style s,
|
||||
char const *arg, size_t argsize));
|
||||
char *quotearg_n_style_mem (int n, enum quoting_style s,
|
||||
char const *arg, size_t argsize);
|
||||
|
||||
/* Equivalent to quotearg_n_style (0, S, ARG). */
|
||||
char *quotearg_style PARAMS ((enum quoting_style s, char const *arg));
|
||||
char *quotearg_style (enum quoting_style s, char const *arg);
|
||||
|
||||
/* Like quotearg (ARG), except also quote any instances of CH. */
|
||||
char *quotearg_char PARAMS ((char const *arg, char ch));
|
||||
char *quotearg_char (char const *arg, char ch);
|
||||
|
||||
/* Equivalent to quotearg_char (ARG, ':'). */
|
||||
char *quotearg_colon PARAMS ((char const *arg));
|
||||
char *quotearg_colon (char const *arg);
|
||||
|
||||
#endif /* !QUOTEARG_H_ */
|
||||
|
||||
@@ -1,96 +0,0 @@
|
||||
/* Open a pipe to read from a program without intermediary sh.
|
||||
Copyright (C) 1992, 1997 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software Foundation,
|
||||
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
/* Written by David MacKenzie. */
|
||||
|
||||
#if HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#if __STDC__
|
||||
#include <stdarg.h>
|
||||
#else
|
||||
#include <varargs.h>
|
||||
#endif
|
||||
|
||||
#if HAVE_UNISTD_H
|
||||
# include <unistd.h>
|
||||
#endif
|
||||
|
||||
/* Open a pipe to read from a program without intermediary sh. Checks
|
||||
PATH. Sample use:
|
||||
|
||||
stream = readpipe ("progname", "arg1", "arg2", (char *) 0);
|
||||
|
||||
Return 0 on error. */
|
||||
|
||||
#if __STDC__
|
||||
FILE *
|
||||
readpipe (char *progname, ...)
|
||||
#else
|
||||
FILE *
|
||||
readpipe (va_alist)
|
||||
#endif
|
||||
{
|
||||
#if ! __STDC__
|
||||
char *progname;
|
||||
#endif
|
||||
int fds[2];
|
||||
va_list ap;
|
||||
char *args[100];
|
||||
int argno = 0;
|
||||
|
||||
/* Copy arguments into `args'. */
|
||||
#if __STDC__
|
||||
va_start (ap, progname);
|
||||
#else
|
||||
va_start (ap);
|
||||
progname = va_arg (ap, char *);
|
||||
#endif
|
||||
args[argno++] = progname;
|
||||
while ((args[argno++] = va_arg (ap, char *)) != NULL)
|
||||
;
|
||||
va_end (ap);
|
||||
|
||||
if (pipe (fds) == -1)
|
||||
return 0;
|
||||
|
||||
switch (fork ())
|
||||
{
|
||||
case 0: /* Child. Write to pipe. */
|
||||
close (fds[0]); /* Not needed. */
|
||||
if (fds[1] != 1) /* Redirect 1 (stdout) only if needed. */
|
||||
{
|
||||
close (1); /* We don't want the old stdout. */
|
||||
if (dup (fds[1]) == 0)/* Maybe stdin was closed. */
|
||||
{
|
||||
dup (fds[1]); /* Guaranteed to dup to 1 (stdout). */
|
||||
close (0);
|
||||
}
|
||||
close (fds[1]); /* No longer needed. */
|
||||
}
|
||||
execvp (args[0], args);
|
||||
_exit (2); /* 2 for `cmp'. */
|
||||
case -1: /* Error. */
|
||||
return 0;
|
||||
default: /* Parent. Read from pipe. */
|
||||
close (fds[1]); /* Not needed. */
|
||||
return fdopen (fds[0], "r");
|
||||
}
|
||||
}
|
||||
+11
-10
@@ -2,19 +2,20 @@
|
||||
Copyright (C) 1996, 1997, 1998, 2000-2002 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software Foundation,
|
||||
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
#if HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
/* Copyright (C) 1991, 1999, 2001 Free Software Foundation, Inc.
|
||||
|
||||
NOTE: The canonical source of this file is maintained with the GNU C Library.
|
||||
Bugs can be reported to bug-glibc@prep.ai.mit.edu.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by the
|
||||
Free Software Foundation; either version 2, or (at your option) any
|
||||
later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software Foundation,
|
||||
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
#define UNSIGNED 1
|
||||
|
||||
#include "strtol.c"
|
||||
+196
@@ -0,0 +1,196 @@
|
||||
/* Subprocesses with pipes.
|
||||
|
||||
Copyright (C) 2002 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software Foundation,
|
||||
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
/* Written by Paul Eggert <[email protected]>
|
||||
and Florian Krohm <florian@edamail.fishkill.ibm.com>. */
|
||||
|
||||
#if HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#if HAVE_SYS_TYPES_H
|
||||
# include <sys/types.h>
|
||||
#endif
|
||||
|
||||
#include <errno.h>
|
||||
#ifndef errno
|
||||
extern int errno;
|
||||
#endif
|
||||
|
||||
#include <signal.h>
|
||||
#if ! defined SIGCHLD && defined SIGCLD
|
||||
# define SIGCHLD SIGCLD
|
||||
#endif
|
||||
|
||||
#if HAVE_STDLIB_H
|
||||
# include <stdlib.h>
|
||||
#endif
|
||||
/* The following test is to work around the gross typo in
|
||||
systems like Sony NEWS-OS Release 4.0C, whereby EXIT_FAILURE
|
||||
is defined to 0, not 1. */
|
||||
#if ! EXIT_FAILURE
|
||||
# undef EXIT_FAILURE
|
||||
# define EXIT_FAILURE 1
|
||||
#endif
|
||||
|
||||
#if HAVE_UNISTD_H
|
||||
# include <unistd.h>
|
||||
#endif
|
||||
#ifndef STDIN_FILENO
|
||||
# define STDIN_FILENO 0
|
||||
#endif
|
||||
#ifndef STDOUT_FILENO
|
||||
# define STDOUT_FILENO 1
|
||||
#endif
|
||||
#if ! HAVE_DUP2 && ! defined dup2
|
||||
# if HAVE_FCNTL_H
|
||||
# include <fcntl.h>
|
||||
# endif
|
||||
# define dup2(f, t) (close (t), fcntl (f, F_DUPFD, t))
|
||||
#endif
|
||||
|
||||
#if HAVE_SYS_WAIT_H
|
||||
# include <sys/wait.h>
|
||||
#endif
|
||||
#ifndef WEXITSTATUS
|
||||
# define WEXITSTATUS(stat_val) ((unsigned int) (stat_val) >> 8)
|
||||
#endif
|
||||
#ifndef WIFEXITED
|
||||
# define WIFEXITED(stat_val) (((stat_val) & 255) == 0)
|
||||
#endif
|
||||
|
||||
#if HAVE_VFORK_H
|
||||
# include <vfork.h>
|
||||
#endif
|
||||
#if ! HAVE_WORKING_VFORK
|
||||
# define vfork fork
|
||||
#endif
|
||||
|
||||
#include "error.h"
|
||||
|
||||
#include "gettext.h"
|
||||
#define _(Msgid) gettext (Msgid)
|
||||
|
||||
#include "subpipe.h"
|
||||
|
||||
|
||||
/* Initialize this module. */
|
||||
|
||||
void
|
||||
init_subpipe (void)
|
||||
{
|
||||
#ifdef SIGCHLD
|
||||
/* System V fork+wait does not work if SIGCHLD is ignored. */
|
||||
signal (SIGCHLD, SIG_DFL);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
/* Create a subprocess that is run as a filter. ARGV is the
|
||||
NULL-terminated argument vector for the subprocess. Store read and
|
||||
write file descriptors for communication with the subprocess into
|
||||
FD[0] and FD[1]: input meant for the process can be written into
|
||||
FD[0], and output from the process can be read from FD[1]. Return
|
||||
the subprocess id.
|
||||
|
||||
To avoid deadlock, the invoker must not let incoming data pile up
|
||||
in FD[1] while writing data to FD[0]. */
|
||||
|
||||
pid_t
|
||||
create_subpipe (char const * const *argv, int fd[2])
|
||||
{
|
||||
int pipe_fd[2];
|
||||
int from_in_fd;
|
||||
int from_out_fd;
|
||||
int to_in_fd;
|
||||
int to_out_fd;
|
||||
pid_t pid;
|
||||
|
||||
if (pipe (pipe_fd) != 0)
|
||||
error (EXIT_FAILURE, errno, "pipe");
|
||||
to_in_fd = pipe_fd[0];
|
||||
to_out_fd = pipe_fd[1];
|
||||
|
||||
if (pipe (pipe_fd) != 0)
|
||||
error (EXIT_FAILURE, errno, "pipe");
|
||||
from_in_fd = pipe_fd[0];
|
||||
from_out_fd = pipe_fd[1];
|
||||
|
||||
pid = vfork ();
|
||||
if (pid < 0)
|
||||
error (EXIT_FAILURE, errno, "fork");
|
||||
|
||||
if (! pid)
|
||||
{
|
||||
/* Child. */
|
||||
close (to_out_fd);
|
||||
close (from_in_fd);
|
||||
|
||||
if (to_in_fd != STDIN_FILENO)
|
||||
{
|
||||
dup2 (to_in_fd, STDIN_FILENO);
|
||||
close (to_in_fd);
|
||||
}
|
||||
if (from_out_fd != STDOUT_FILENO)
|
||||
{
|
||||
dup2 (from_out_fd, STDOUT_FILENO);
|
||||
close (from_out_fd);
|
||||
}
|
||||
|
||||
/* The cast to (char **) rather than (char * const *) is needed
|
||||
for portability to older hosts with a nonstandard prototype
|
||||
for execvp. */
|
||||
execvp (argv[0], (char **) argv);
|
||||
|
||||
_exit (errno == ENOENT ? 127 : 126);
|
||||
}
|
||||
|
||||
/* Parent. */
|
||||
close (to_in_fd);
|
||||
close (from_out_fd);
|
||||
fd[0] = to_out_fd;
|
||||
fd[1] = from_in_fd;
|
||||
return pid;
|
||||
}
|
||||
|
||||
|
||||
/* Wait for the subprocess to exit. */
|
||||
|
||||
void
|
||||
reap_subpipe (pid_t pid, char const *program)
|
||||
{
|
||||
#if HAVE_WAITPID || defined waitpid
|
||||
int wstatus;
|
||||
if (waitpid (pid, &wstatus, 0) < 0)
|
||||
error (EXIT_FAILURE, errno, "waitpid");
|
||||
else
|
||||
{
|
||||
int status = WIFEXITED (wstatus) ? WEXITSTATUS (wstatus) : -1;
|
||||
if (status)
|
||||
error (EXIT_FAILURE, 0,
|
||||
_(status == 126
|
||||
? "subsidiary program `%s' could not be invoked"
|
||||
: status == 127
|
||||
? "subsidiary program `%s' not found"
|
||||
: status < 0
|
||||
? "subsidiary program `%s' failed"
|
||||
: "subsidiary program `%s' failed (exit status %d)"),
|
||||
program, status);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
/* Subprocesses with pipes.
|
||||
Copyright (C) 2002 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of Bison, the GNU Compiler Compiler.
|
||||
|
||||
Bison is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
Bison is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
|
||||
License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Bison; see the file COPYING. If not, write to the Free
|
||||
Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
||||
02111-1307, USA. */
|
||||
|
||||
/* Written by Paul Eggert <[email protected]>
|
||||
and Florian Krohm <florian@edamail.fishkill.ibm.com>. */
|
||||
|
||||
void init_subpipe (void);
|
||||
pid_t create_subpipe (char const * const *, int[2]);
|
||||
void reap_subpipe (pid_t, char const *);
|
||||
-342
@@ -1,342 +0,0 @@
|
||||
/* Copyright (C) 1991-1999, 2000, 2001 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software Foundation,
|
||||
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
#if HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <assert.h>
|
||||
|
||||
#include <errno.h>
|
||||
#ifndef __set_errno
|
||||
# define __set_errno(Val) errno = (Val)
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#ifndef P_tmpdir
|
||||
# define P_tmpdir "/tmp"
|
||||
#endif
|
||||
#ifndef TMP_MAX
|
||||
# define TMP_MAX 238328
|
||||
#endif
|
||||
#ifndef __GT_FILE
|
||||
# define __GT_FILE 0
|
||||
# define __GT_BIGFILE 1
|
||||
# define __GT_DIR 2
|
||||
# define __GT_NOCREATE 3
|
||||
#endif
|
||||
|
||||
#if STDC_HEADERS || _LIBC
|
||||
# include <stddef.h>
|
||||
# include <string.h>
|
||||
#endif
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
#if HAVE_FCNTL_H || _LIBC
|
||||
# include <fcntl.h>
|
||||
#endif
|
||||
|
||||
#if HAVE_SYS_TIME_H || _LIBC
|
||||
# include <sys/time.h>
|
||||
#endif
|
||||
|
||||
#if HAVE_STDINT_H || _LIBC
|
||||
# include <stdint.h>
|
||||
#endif
|
||||
|
||||
#if HAVE_UNISTD_H || _LIBC
|
||||
# include <unistd.h>
|
||||
#endif
|
||||
|
||||
#include <sys/stat.h>
|
||||
#if STAT_MACROS_BROKEN
|
||||
# undef S_ISDIR
|
||||
#endif
|
||||
#if !defined S_ISDIR && defined S_IFDIR
|
||||
# define S_ISDIR(mode) (((mode) & S_IFMT) == S_IFDIR)
|
||||
#endif
|
||||
#if !S_IRUSR && S_IREAD
|
||||
# define S_IRUSR S_IREAD
|
||||
#endif
|
||||
#if !S_IRUSR
|
||||
# define S_IRUSR 00400
|
||||
#endif
|
||||
#if !S_IWUSR && S_IWRITE
|
||||
# define S_IWUSR S_IWRITE
|
||||
#endif
|
||||
#if !S_IWUSR
|
||||
# define S_IWUSR 00200
|
||||
#endif
|
||||
#if !S_IXUSR && S_IEXEC
|
||||
# define S_IXUSR S_IEXEC
|
||||
#endif
|
||||
#if !S_IXUSR
|
||||
# define S_IXUSR 00100
|
||||
#endif
|
||||
|
||||
#if _LIBC
|
||||
# define struct_stat64 struct stat64
|
||||
#else
|
||||
# define struct_stat64 struct stat
|
||||
# define __getpid getpid
|
||||
# define __gettimeofday gettimeofday
|
||||
# define __mkdir mkdir
|
||||
# define __open open
|
||||
# define __open64 open
|
||||
# define __lxstat64(version, path, buf) lstat (path, buf)
|
||||
# define __xstat64(version, path, buf) stat (path, buf)
|
||||
#endif
|
||||
|
||||
#if ! (HAVE___SECURE_GETENV || _LIBC)
|
||||
# define __secure_getenv getenv
|
||||
#endif
|
||||
|
||||
#ifdef _LIBC
|
||||
# include <hp-timing.h>
|
||||
# if HP_TIMING_AVAIL
|
||||
# define RANDOM_BITS(Var) \
|
||||
if (__builtin_expect (value == UINT64_C (0), 0)) \
|
||||
{ \
|
||||
/* If this is the first time this function is used initialize \
|
||||
the variable we accumulate the value in to some somewhat \
|
||||
random value. If we'd not do this programs at startup time \
|
||||
might have a reduced set of possible names, at least on slow \
|
||||
machines. */ \
|
||||
struct timeval tv; \
|
||||
__gettimeofday (&tv, NULL); \
|
||||
value = ((uint64_t) tv.tv_usec << 16) ^ tv.tv_sec; \
|
||||
} \
|
||||
HP_TIMING_NOW (Var)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Use the widest available unsigned type if uint64_t is not
|
||||
available. The algorithm below extracts a number less than 62**6
|
||||
(approximately 2**35.725) from uint64_t, so ancient hosts where
|
||||
uintmax_t is only 32 bits lose about 3.725 bits of randomness,
|
||||
which is better than not having mkstemp at all. */
|
||||
#if !defined UINT64_MAX && !defined uint64_t
|
||||
# define uint64_t uintmax_t
|
||||
#endif
|
||||
|
||||
/* Return nonzero if DIR is an existent directory. */
|
||||
static int
|
||||
direxists (const char *dir)
|
||||
{
|
||||
struct_stat64 buf;
|
||||
return __xstat64 (_STAT_VER, dir, &buf) == 0 && S_ISDIR (buf.st_mode);
|
||||
}
|
||||
|
||||
/* Path search algorithm, for tmpnam, tmpfile, etc. If DIR is
|
||||
non-null and exists, uses it; otherwise uses the first of $TMPDIR,
|
||||
P_tmpdir, /tmp that exists. Copies into TMPL a template suitable
|
||||
for use with mk[s]temp. Will fail (-1) if DIR is non-null and
|
||||
doesn't exist, none of the searched dirs exists, or there's not
|
||||
enough space in TMPL. */
|
||||
int
|
||||
__path_search (char *tmpl, size_t tmpl_len, const char *dir, const char *pfx,
|
||||
int try_tmpdir)
|
||||
{
|
||||
const char *d;
|
||||
size_t dlen, plen;
|
||||
|
||||
if (!pfx || !pfx[0])
|
||||
{
|
||||
pfx = "file";
|
||||
plen = 4;
|
||||
}
|
||||
else
|
||||
{
|
||||
plen = strlen (pfx);
|
||||
if (plen > 5)
|
||||
plen = 5;
|
||||
}
|
||||
|
||||
if (try_tmpdir)
|
||||
{
|
||||
d = __secure_getenv ("TMPDIR");
|
||||
if (d != NULL && direxists (d))
|
||||
dir = d;
|
||||
else if (dir != NULL && direxists (dir))
|
||||
/* nothing */ ;
|
||||
else
|
||||
dir = NULL;
|
||||
}
|
||||
if (dir == NULL)
|
||||
{
|
||||
if (direxists (P_tmpdir))
|
||||
dir = P_tmpdir;
|
||||
else if (strcmp (P_tmpdir, "/tmp") != 0 && direxists ("/tmp"))
|
||||
dir = "/tmp";
|
||||
else
|
||||
{
|
||||
__set_errno (ENOENT);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
dlen = strlen (dir);
|
||||
while (dlen > 1 && dir[dlen - 1] == '/')
|
||||
dlen--; /* remove trailing slashes */
|
||||
|
||||
/* check we have room for "${dir}/${pfx}XXXXXX\0" */
|
||||
if (tmpl_len < dlen + 1 + plen + 6 + 1)
|
||||
{
|
||||
__set_errno (EINVAL);
|
||||
return -1;
|
||||
}
|
||||
|
||||
sprintf (tmpl, "%.*s/%.*sXXXXXX", (int) dlen, dir, (int) plen, pfx);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* These are the characters used in temporary filenames. */
|
||||
static const char letters[] =
|
||||
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
|
||||
|
||||
/* Generate a temporary file name based on TMPL. TMPL must match the
|
||||
rules for mk[s]temp (i.e. end in "XXXXXX"). The name constructed
|
||||
does not exist at the time of the call to __gen_tempname. TMPL is
|
||||
overwritten with the result.
|
||||
|
||||
KIND may be one of:
|
||||
__GT_NOCREATE: simply verify that the name does not exist
|
||||
at the time of the call.
|
||||
__GT_FILE: create the file using open(O_CREAT|O_EXCL)
|
||||
and return a read-write fd. The file is mode 0600.
|
||||
__GT_BIGFILE: same as __GT_FILE but use open64().
|
||||
__GT_DIR: create a directory, which will be mode 0700.
|
||||
|
||||
We use a clever algorithm to get hard-to-predict names. */
|
||||
int
|
||||
__gen_tempname (char *tmpl, int kind)
|
||||
{
|
||||
int len;
|
||||
char *XXXXXX;
|
||||
static uint64_t value;
|
||||
uint64_t random_time_bits;
|
||||
unsigned int count;
|
||||
int fd = -1;
|
||||
int save_errno = errno;
|
||||
struct_stat64 st;
|
||||
|
||||
/* A lower bound on the number of temporary files to attempt to
|
||||
generate. The maximum total number of temporary file names that
|
||||
can exist for a given template is 62**6. It should never be
|
||||
necessary to try all these combinations. Instead if a reasonable
|
||||
number of names is tried (we define reasonable as 62**3) fail to
|
||||
give the system administrator the chance to remove the problems. */
|
||||
unsigned int attempts_min = 62 * 62 * 62;
|
||||
|
||||
/* The number of times to attempt to generate a temporary file. To
|
||||
conform to POSIX, this must be no smaller than TMP_MAX. */
|
||||
unsigned int attempts = attempts_min < TMP_MAX ? TMP_MAX : attempts_min;
|
||||
|
||||
len = strlen (tmpl);
|
||||
if (len < 6 || strcmp (&tmpl[len - 6], "XXXXXX"))
|
||||
{
|
||||
__set_errno (EINVAL);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* This is where the Xs start. */
|
||||
XXXXXX = &tmpl[len - 6];
|
||||
|
||||
/* Get some more or less random data. */
|
||||
#ifdef RANDOM_BITS
|
||||
RANDOM_BITS (random_time_bits);
|
||||
#else
|
||||
# if HAVE_GETTIMEOFDAY || _LIBC
|
||||
{
|
||||
struct timeval tv;
|
||||
__gettimeofday (&tv, NULL);
|
||||
random_time_bits = ((uint64_t) tv.tv_usec << 16) ^ tv.tv_sec;
|
||||
}
|
||||
# else
|
||||
random_time_bits = time (NULL);
|
||||
# endif
|
||||
#endif
|
||||
value += random_time_bits ^ __getpid ();
|
||||
|
||||
for (count = 0; count < attempts; value += 7777, ++count)
|
||||
{
|
||||
uint64_t v = value;
|
||||
|
||||
/* Fill in the random bits. */
|
||||
XXXXXX[0] = letters[v % 62];
|
||||
v /= 62;
|
||||
XXXXXX[1] = letters[v % 62];
|
||||
v /= 62;
|
||||
XXXXXX[2] = letters[v % 62];
|
||||
v /= 62;
|
||||
XXXXXX[3] = letters[v % 62];
|
||||
v /= 62;
|
||||
XXXXXX[4] = letters[v % 62];
|
||||
v /= 62;
|
||||
XXXXXX[5] = letters[v % 62];
|
||||
|
||||
switch (kind)
|
||||
{
|
||||
case __GT_FILE:
|
||||
fd = __open (tmpl, O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR);
|
||||
break;
|
||||
|
||||
case __GT_BIGFILE:
|
||||
fd = __open64 (tmpl, O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR);
|
||||
break;
|
||||
|
||||
case __GT_DIR:
|
||||
fd = __mkdir (tmpl, S_IRUSR | S_IWUSR | S_IXUSR);
|
||||
break;
|
||||
|
||||
case __GT_NOCREATE:
|
||||
/* This case is backward from the other three. __gen_tempname
|
||||
succeeds if __xstat fails because the name does not exist.
|
||||
Note the continue to bypass the common logic at the bottom
|
||||
of the loop. */
|
||||
if (__lxstat64 (_STAT_VER, tmpl, &st) < 0)
|
||||
{
|
||||
if (errno == ENOENT)
|
||||
{
|
||||
__set_errno (save_errno);
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
/* Give up now. */
|
||||
return -1;
|
||||
}
|
||||
continue;
|
||||
|
||||
default:
|
||||
assert (! "invalid KIND in __gen_tempname");
|
||||
}
|
||||
|
||||
if (fd >= 0)
|
||||
{
|
||||
__set_errno (save_errno);
|
||||
return fd;
|
||||
}
|
||||
else if (errno != EEXIST)
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* We got out of the loop because we ran out of combinations to try. */
|
||||
__set_errno (EEXIST);
|
||||
return -1;
|
||||
}
|
||||
+11
-11
@@ -36,7 +36,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
||||
# if HAVE_SYS_TIME_H
|
||||
# include <sys/time.h>
|
||||
# endif
|
||||
int time_report = 0;
|
||||
int timevar_report = 0;
|
||||
|
||||
#endif
|
||||
|
||||
@@ -118,12 +118,12 @@ extern clock_t clock PARAMS ((void));
|
||||
_constants_ variable at run time, anyway? */
|
||||
#ifdef USE_TIMES
|
||||
static float ticks_to_msec;
|
||||
#define TICKS_TO_MSEC (1 / (float)TICKS_PER_SECOND)
|
||||
#define TICKS_TO_MSEC (1.0 / TICKS_PER_SECOND)
|
||||
#endif
|
||||
|
||||
#ifdef USE_CLOCK
|
||||
static float clocks_to_msec;
|
||||
#define CLOCKS_TO_MSEC (1 / (float)CLOCKS_PER_SEC)
|
||||
#define CLOCKS_TO_MSEC (1.0 / CLOCKS_PER_SEC)
|
||||
#endif
|
||||
|
||||
#if IN_GCC
|
||||
@@ -134,7 +134,7 @@ static float clocks_to_msec;
|
||||
/* See timevar.h for an explanation of timing variables. */
|
||||
|
||||
/* This macro evaluates to nonzero if timing variables are enabled. */
|
||||
#define TIMEVAR_ENABLE (time_report)
|
||||
#define TIMEVAR_ENABLE (timevar_report)
|
||||
|
||||
/* A timing variable. */
|
||||
|
||||
@@ -236,17 +236,17 @@ get_time (now)
|
||||
}
|
||||
}
|
||||
|
||||
/* Add the difference between STOP_TIME and START_TIME to TIMER. */
|
||||
/* Add the difference between STOP and START to TIMER. */
|
||||
|
||||
static void
|
||||
timevar_accumulate (timer, start_time, stop_time)
|
||||
timevar_accumulate (timer, start, stop)
|
||||
struct timevar_time_def *timer;
|
||||
struct timevar_time_def *start_time;
|
||||
struct timevar_time_def *stop_time;
|
||||
struct timevar_time_def *start;
|
||||
struct timevar_time_def *stop;
|
||||
{
|
||||
timer->user += stop_time->user - start_time->user;
|
||||
timer->sys += stop_time->sys - start_time->sys;
|
||||
timer->wall += stop_time->wall - start_time->wall;
|
||||
timer->user += stop->user - start->user;
|
||||
timer->sys += stop->sys - start->sys;
|
||||
timer->wall += stop->wall - start->wall;
|
||||
}
|
||||
|
||||
/* Initialize timing variables. */
|
||||
|
||||
+3
-1
@@ -1,5 +1,5 @@
|
||||
/* Timing variables for measuring compiler performance.
|
||||
Copyright (C) 2000 Free Software Foundation, Inc.
|
||||
Copyright (C) 2000, 2002 Free Software Foundation, Inc.
|
||||
Contributed by Alex Samuel <samuel@codesourcery.com>
|
||||
|
||||
This file is part of Bison, the GNU Compiler Compiler.
|
||||
@@ -88,4 +88,6 @@ extern void timevar_print PARAMS ((FILE *));
|
||||
extern long get_run_time PARAMS ((void));
|
||||
extern void print_time PARAMS ((const char *, long));
|
||||
|
||||
extern int timevar_report;
|
||||
|
||||
#endif /* ! GCC_TIMEVAR_H */
|
||||
|
||||
@@ -1,3 +1,24 @@
|
||||
/* Prefer faster, non-thread-safe stdio functions if available.
|
||||
|
||||
Copyright (C) 2001, 2002 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published
|
||||
by the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA. */
|
||||
|
||||
/* Written by Jim Meyering. */
|
||||
|
||||
#ifndef UNLOCKED_IO_H
|
||||
# define UNLOCKED_IO_H 1
|
||||
|
||||
|
||||
+7
-10
@@ -30,14 +30,9 @@ void *realloc ();
|
||||
void free ();
|
||||
#endif
|
||||
|
||||
#if ENABLE_NLS
|
||||
# include <libintl.h>
|
||||
# define _(Text) gettext (Text)
|
||||
#else
|
||||
# define textdomain(Domain)
|
||||
# define _(Text) Text
|
||||
#endif
|
||||
#define N_(Text) Text
|
||||
#include "gettext.h"
|
||||
#define _(msgid) gettext (msgid)
|
||||
#define N_(msgid) msgid
|
||||
|
||||
#include "error.h"
|
||||
#include "xalloc.h"
|
||||
@@ -46,12 +41,14 @@ void free ();
|
||||
# define EXIT_FAILURE 1
|
||||
#endif
|
||||
|
||||
/* The following tests require AC_PREREQ(2.54). */
|
||||
|
||||
#ifndef HAVE_MALLOC
|
||||
"you must run the autoconf test for a properly working malloc"
|
||||
"you must run the autoconf test for a GNU libc compatible malloc"
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_REALLOC
|
||||
"you must run the autoconf test for a properly working realloc"
|
||||
"you must run the autoconf test for a GNU libc compatible realloc"
|
||||
#endif
|
||||
|
||||
/* Exit value when the requested amount of memory is not available.
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
/* Yacc library error-printing function.
|
||||
|
||||
Copyright (C) 2002 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of Bison, the GNU Compiler Compiler.
|
||||
|
||||
Bison is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
Bison is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Bison; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
int yyerror (char const *);
|
||||
|
||||
int
|
||||
yyerror (char const *message)
|
||||
{
|
||||
return fprintf (stderr, "%s\n", message);
|
||||
}
|
||||
@@ -1,2 +1,19 @@
|
||||
Makefile
|
||||
Makefile.in
|
||||
codeset.m4
|
||||
gettext.m4
|
||||
glibc21.m4
|
||||
iconv.m4
|
||||
intdiv0.m4
|
||||
inttypes-pri.m4
|
||||
inttypes.m4
|
||||
inttypes_h.m4
|
||||
isc-posix.m4
|
||||
lcmessage.m4
|
||||
lib-ld.m4
|
||||
lib-link.m4
|
||||
lib-prefix.m4
|
||||
progtest.m4
|
||||
stdint_h.m4
|
||||
uintmax_t.m4
|
||||
ulonglong.m4
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
## Process this file with automake to produce Makefile.in -*-Makefile-*-
|
||||
EXTRA_DIST = \
|
||||
dmalloc.m4 error.m4 \
|
||||
m4.m4 mbrtowc.m4 memcmp.m4 mkstemp.m4 \
|
||||
prereq.m4 timevar.m4 warning.m4 \
|
||||
m4.m4 mbrtowc.m4 mbswidth.m4 memcmp.m4 \
|
||||
prereq.m4 stdbool.m4 subpipe.m4 timevar.m4 warning.m4 \
|
||||
gettext.m4 iconv.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 progtest.m4
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
#serial 8
|
||||
|
||||
dnl autoconf tests required for use of mbswidth.c
|
||||
dnl From Bruno Haible.
|
||||
|
||||
AC_DEFUN([jm_PREREQ_MBSWIDTH],
|
||||
[
|
||||
AC_CHECK_HEADERS(wchar.h wctype.h)
|
||||
AC_CHECK_FUNCS(isascii iswcntrl iswprint mbsinit wcwidth)
|
||||
jm_FUNC_MBRTOWC
|
||||
|
||||
AC_CACHE_CHECK([whether wcwidth is declared], ac_cv_have_decl_wcwidth,
|
||||
[AC_TRY_COMPILE([
|
||||
/* AIX 3.2.5 declares wcwidth in <string.h>. */
|
||||
#if HAVE_STRING_H
|
||||
# include <string.h>
|
||||
#endif
|
||||
#if HAVE_WCHAR_H
|
||||
# include <wchar.h>
|
||||
#endif
|
||||
], [
|
||||
#ifndef wcwidth
|
||||
char *p = (char *) wcwidth;
|
||||
#endif
|
||||
], ac_cv_have_decl_wcwidth=yes, ac_cv_have_decl_wcwidth=no)])
|
||||
if test $ac_cv_have_decl_wcwidth = yes; then
|
||||
ac_val=1
|
||||
else
|
||||
ac_val=0
|
||||
fi
|
||||
AC_DEFINE_UNQUOTED(HAVE_DECL_WCWIDTH, $ac_val,
|
||||
[Define to 1 if you have the declaration of wcwidth(), and to 0 otherwise.])
|
||||
|
||||
AC_TYPE_MBSTATE_T
|
||||
])
|
||||
@@ -1,46 +0,0 @@
|
||||
#serial 1
|
||||
|
||||
# On some systems (e.g., HPUX-10.20, SunOS4.1.4, solaris2.5.1), mkstemp has the
|
||||
# silly limit that it can create no more than 26 files from a given template.
|
||||
# Other systems lack mkstemp altogether. On either type of system, arrange
|
||||
# to use the replacement function.
|
||||
AC_DEFUN([UTILS_FUNC_MKSTEMP],
|
||||
[dnl
|
||||
AC_REPLACE_FUNCS(mkstemp)
|
||||
if test $ac_cv_func_mkstemp = no; then
|
||||
utils_cv_func_mkstemp_limitations=yes
|
||||
else
|
||||
AC_CACHE_CHECK([for mkstemp limitations],
|
||||
utils_cv_func_mkstemp_limitations,
|
||||
[
|
||||
AC_TRY_RUN([
|
||||
# include <stdlib.h>
|
||||
int main ()
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < 30; i++)
|
||||
{
|
||||
char template[] = "conftestXXXXXX";
|
||||
int fd = mkstemp (template);
|
||||
if (fd == -1)
|
||||
exit (1);
|
||||
close (fd);
|
||||
}
|
||||
exit (0);
|
||||
}
|
||||
],
|
||||
utils_cv_func_mkstemp_limitations=no,
|
||||
utils_cv_func_mkstemp_limitations=yes,
|
||||
utils_cv_func_mkstemp_limitations=yes
|
||||
)
|
||||
]
|
||||
)
|
||||
fi
|
||||
|
||||
if test $utils_cv_func_mkstemp_limitations = yes; then
|
||||
AC_LIBOBJ(mkstemp)
|
||||
AC_LIBOBJ(tempname)
|
||||
AC_DEFINE(mkstemp, rpl_mkstemp,
|
||||
[Define to rpl_mkstemp if the replacement function should be used.])
|
||||
fi
|
||||
])
|
||||
@@ -94,13 +94,6 @@ AC_DEFUN([jm_PREREQ_HARD_LOCALE],
|
||||
AM_C_PROTOTYPES
|
||||
])
|
||||
|
||||
# AC_DEFUN([jm_PREREQ_HASH],
|
||||
# [
|
||||
# AC_CHECK_HEADERS(stdlib.h)
|
||||
# AC_HEADER_STDBOOL
|
||||
# AC_REQUIRE([jm_CHECK_DECLS])
|
||||
# ])
|
||||
|
||||
# If you use human.c, you need the following files:
|
||||
# inttypes.m4 ulonglong.m4
|
||||
AC_DEFUN([jm_PREREQ_HUMAN],
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
# Check for stdbool.h that conforms to C99.
|
||||
|
||||
# Copyright (C) 2002 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
# 02111-1307, USA.
|
||||
|
||||
AC_DEFUN([AC_HEADER_STDBOOL],
|
||||
[AC_CACHE_CHECK([for stdbool.h that conforms to C99],
|
||||
[ac_cv_header_stdbool_h],
|
||||
[AC_TRY_COMPILE(
|
||||
[
|
||||
#include <stdbool.h>
|
||||
#ifndef bool
|
||||
"error: bool is not defined"
|
||||
#endif
|
||||
#ifndef false
|
||||
"error: false is not defined"
|
||||
#endif
|
||||
#if false
|
||||
"error: false is not 0"
|
||||
#endif
|
||||
#ifndef true
|
||||
"error: false is not defined"
|
||||
#endif
|
||||
#if true != 1
|
||||
"error: true is not 1"
|
||||
#endif
|
||||
#ifndef __bool_true_false_are_defined
|
||||
"error: __bool_true_false_are_defined is not defined"
|
||||
#endif
|
||||
|
||||
struct s { _Bool s: 1; _Bool t; } s;
|
||||
|
||||
char a[true == 1 ? 1 : -1];
|
||||
char b[false == 0 ? 1 : -1];
|
||||
char c[__bool_true_false_are_defined == 1 ? 1 : -1];
|
||||
char d[(bool) -0.5 == true ? 1 : -1];
|
||||
bool e = &s;
|
||||
char f[(_Bool) -0.0 == false ? 1 : -1];
|
||||
char g[true];
|
||||
char h[sizeof (_Bool)];
|
||||
char i[sizeof s.t];
|
||||
],
|
||||
[ return !a + !b + !c + !d + !e + !f + !g + !h + !i; ],
|
||||
[ac_cv_header_stdbool_h=yes],
|
||||
[ac_cv_header_stdbool_h=no])])
|
||||
if test $ac_cv_header_stdbool_h = yes; then
|
||||
AC_DEFINE(HAVE_STDBOOL_H, 1, [Define to 1 if stdbool.h conforms to C99.])
|
||||
fi])
|
||||
@@ -0,0 +1,30 @@
|
||||
# -*- Autoconf -*-
|
||||
# Checks required to run `subpipe'.
|
||||
#
|
||||
# Copyright (C) 2002 Free Software Foundation, Inc.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
# 02111-1307 USA
|
||||
|
||||
# Written by Paul Eggert <[email protected]>.
|
||||
|
||||
AC_DEFUN([BISON_PREREQ_SUBPIPE],
|
||||
[
|
||||
AC_TYPE_PID_T
|
||||
AC_CHECK_HEADERS([fcntl.h sys/wait.h])
|
||||
AC_HEADER_SYS_WAIT
|
||||
AC_CHECK_FUNCS(dup2 waitpid)
|
||||
AC_FUNC_FORK
|
||||
])
|
||||
@@ -6,3 +6,11 @@ bison.pot
|
||||
stamp-cat-id
|
||||
*.gmo
|
||||
Makefile.in
|
||||
Rules-quot
|
||||
boldquot.sed
|
||||
[email protected]
|
||||
[email protected]
|
||||
insert-header.sin
|
||||
quot.sed
|
||||
remove-potcdate.sed
|
||||
remove-potcdate.sin
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
da
|
||||
de
|
||||
es
|
||||
et
|
||||
|
||||
+3
-4
@@ -3,14 +3,12 @@ src/conflicts.c
|
||||
src/files.c
|
||||
src/getargs.c
|
||||
src/gram.c
|
||||
src/lalr.c
|
||||
src/main.c
|
||||
src/parse-gram.c
|
||||
src/parse-gram.y
|
||||
src/print.c
|
||||
src/reader.c
|
||||
src/reduce.c
|
||||
src/scan-gram.c
|
||||
src/state.c
|
||||
src/scan-gram.l
|
||||
src/symlist.c
|
||||
src/symtab.c
|
||||
|
||||
@@ -20,5 +18,6 @@ lib/error.c
|
||||
lib/getopt.c
|
||||
lib/obstack.c
|
||||
lib/quotearg.c
|
||||
lib/subpipe.c
|
||||
lib/timevar.c
|
||||
lib/xmalloc.c
|
||||
|
||||
@@ -0,0 +1,724 @@
|
||||
# Danish messages for bison.
|
||||
# Copyright © 2001, 2002 Free Software Foundation, Inc.
|
||||
# Keld Simonsen <[email protected]>, 2002.
|
||||
# Byrial Ole Jensen <[email protected]>, 2002.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: bison 1.75b\n"
|
||||
"POT-Creation-Date: 2003-01-01 01:28-0800\n"
|
||||
"PO-Revision-Date: 2002-11-28 22:16+0100\n"
|
||||
"Last-Translator: Byrial Ole Jensen <[email protected]>\n"
|
||||
"Language-Team: Danish <[email protected]>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=iso-8859-1\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: src/complain.c:56 lib/error.c:135 lib/error.c:163
|
||||
msgid "Unknown system error"
|
||||
msgstr "Ukendt systemfejl"
|
||||
|
||||
#: src/complain.c:79 src/complain.c:94
|
||||
msgid "warning: "
|
||||
msgstr "advarsel: "
|
||||
|
||||
#: src/complain.c:150 src/complain.c:166
|
||||
msgid "fatal error: "
|
||||
msgstr "fatal fejl: "
|
||||
|
||||
#: src/conflicts.c:75
|
||||
#, c-format
|
||||
msgid " Conflict between rule %d and token %s resolved as shift"
|
||||
msgstr " Konflikt mellem regel %d og element %s løstes som skift"
|
||||
|
||||
#: src/conflicts.c:83
|
||||
#, c-format
|
||||
msgid " Conflict between rule %d and token %s resolved as reduce"
|
||||
msgstr " Konflikt mellem regel %d og element %s løstes som reducér"
|
||||
|
||||
#: src/conflicts.c:90
|
||||
#, c-format
|
||||
msgid " Conflict between rule %d and token %s resolved as an error"
|
||||
msgstr " Konflikt mellem regel %d og element %s løstes som en fejl"
|
||||
|
||||
#: src/conflicts.c:398
|
||||
#, c-format
|
||||
msgid "conflicts: %d shift/reduce, %d reduce/reduce\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/conflicts.c:401
|
||||
#, fuzzy, c-format
|
||||
msgid "conflicts: %d shift/reduce\n"
|
||||
msgstr " %d skift/reducér"
|
||||
|
||||
#: src/conflicts.c:403
|
||||
#, fuzzy, c-format
|
||||
msgid "conflicts: %d reduce/reduce\n"
|
||||
msgstr " %d reducér/reducér"
|
||||
|
||||
#: src/conflicts.c:421
|
||||
#, fuzzy, c-format
|
||||
msgid "State %d "
|
||||
msgstr "tilstand %d"
|
||||
|
||||
#: src/conflicts.c:498
|
||||
#, c-format
|
||||
msgid "expected %d shift/reduce conflict"
|
||||
msgid_plural "expected %d shift/reduce conflicts"
|
||||
msgstr[0] "forventede %d skift/reducér-konflikt"
|
||||
msgstr[1] "forventede %d skift/reducér-konflikter"
|
||||
|
||||
#: src/conflicts.c:503
|
||||
#, fuzzy
|
||||
msgid "expected 0 reduce/reduce conflicts"
|
||||
msgstr "%d reducér/reducér-konflikt"
|
||||
|
||||
#: src/files.c:99
|
||||
#, c-format
|
||||
msgid "cannot open file `%s'"
|
||||
msgstr "kan ikke åbne filen \"%s\""
|
||||
|
||||
#: src/files.c:115
|
||||
msgid "I/O error"
|
||||
msgstr "Fejl ved ind- eller udlæsning"
|
||||
|
||||
#: src/files.c:118
|
||||
msgid "cannot close file"
|
||||
msgstr "kan ikke lukke fil"
|
||||
|
||||
#: src/files.c:336
|
||||
#, c-format
|
||||
msgid "conflicting outputs to file %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:182
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information.\n"
|
||||
msgstr "Prøv med \"%s --help\" for mere information.\n"
|
||||
|
||||
#: src/getargs.c:188
|
||||
msgid "GNU bison generates parsers for LALR(1) grammars.\n"
|
||||
msgstr "GNU bison genererer fortolkere til LALR(1)-grammatiker.\n"
|
||||
|
||||
#: src/getargs.c:192
|
||||
#, c-format
|
||||
msgid "Usage: %s [OPTION]... FILE\n"
|
||||
msgstr "Brug: %s [FLAG]... FIL\n"
|
||||
|
||||
#: src/getargs.c:196
|
||||
msgid ""
|
||||
"If a long option shows an argument as mandatory, then it is mandatory\n"
|
||||
"for the equivalent short option also. Similarly for optional arguments.\n"
|
||||
msgstr ""
|
||||
"Hvis et lang flag viser et argument som obligatorisk, er det også\n"
|
||||
"obligatorisk for det tilsvarende korte flag. Tilsvarende\n"
|
||||
"for valgfrie argumenter.\n"
|
||||
|
||||
#: src/getargs.c:202
|
||||
msgid ""
|
||||
"Operation modes:\n"
|
||||
" -h, --help display this help and exit\n"
|
||||
" -V, --version output version information and exit\n"
|
||||
" -y, --yacc emulate POSIX yacc\n"
|
||||
msgstr ""
|
||||
"Arbejdstilstande:\n"
|
||||
" -h, --help vis denne hjælpetekst og afslut\n"
|
||||
" -V, --version vis versionsinformation og afslut\n"
|
||||
" -y, --yacc emulér POSIX-yacc\n"
|
||||
|
||||
#: src/getargs.c:209
|
||||
msgid ""
|
||||
"Parser:\n"
|
||||
" -S, --skeleton=FILE specify the skeleton to use\n"
|
||||
" -t, --debug instrument the parser for debugging\n"
|
||||
" --locations enable locations computation\n"
|
||||
" -p, --name-prefix=PREFIX prepend PREFIX to the external symbols\n"
|
||||
" -l, --no-lines don't generate `#line' directives\n"
|
||||
" -n, --no-parser generate the tables only\n"
|
||||
" -k, --token-table include a table of token names\n"
|
||||
msgstr ""
|
||||
"Fortolker:\n"
|
||||
" -S, --skeleton=FIL angiv skeletfilen som skal bruges\n"
|
||||
" -t, --debug instrumentér fortolkeren for fejlsøgning\n"
|
||||
" --locations aktivér tilstandsberegning\n"
|
||||
" -p, --name-prefix=PRÆFIKS tilføj PRÆFIKS for eksterne symboler\n"
|
||||
" -l, --no-lines generér ikke \"#line\"-direktiver\n"
|
||||
" -n, --no-parser generér kun tabellerne\n"
|
||||
" -k, --token-table inkludér en tabel over elementnavne\n"
|
||||
|
||||
#: src/getargs.c:221
|
||||
msgid ""
|
||||
"Output:\n"
|
||||
" -d, --defines also produce a header file\n"
|
||||
" -r, --report=THINGS also produce details on the automaton\n"
|
||||
" -v, --verbose same as `--report=state'\n"
|
||||
" -b, --file-prefix=PREFIX specify a PREFIX for output files\n"
|
||||
" -o, --output=FILE leave output to FILE\n"
|
||||
" -g, --graph also produce a VCG description of the "
|
||||
"automaton\n"
|
||||
msgstr ""
|
||||
"Uddata:\n"
|
||||
" -d, --defines lav også en hovedfil\n"
|
||||
" -r, --report=SAGER lav også detaljer om automaten\n"
|
||||
" -v, --verbose samme som \"--report=state\"\n"
|
||||
" -b, --file-prefix=PRÆFIKS angiv et PRÆFIKS for uddatafiler\n"
|
||||
" -o, --output=FIL læg uddata i FIL\n"
|
||||
" -g, --graph lav også en VCG-beskrivelse af automaten\n"
|
||||
|
||||
#: src/getargs.c:232
|
||||
msgid ""
|
||||
"THINGS is a list of comma separated words that can include:\n"
|
||||
" `state' describe the states\n"
|
||||
" `itemset' complete the core item sets with their closure\n"
|
||||
" `lookahead' explicitly associate lookaheads to items\n"
|
||||
" `solved' describe shift/reduce conflicts solving\n"
|
||||
" `all' include all the above information\n"
|
||||
" `none' disable the report\n"
|
||||
msgstr ""
|
||||
"TING er en liste med kommaseparerede ord som kan indeholde:\n"
|
||||
" \"state\" beskriv tilstandene\n"
|
||||
" \"itemset\" komplettér kerneobjektmængderne med deres afslutninger\n"
|
||||
" \"lookahead\" kobl udtrykkeligt fremadkig til objekter\n"
|
||||
" \"solved\" beskriv løsninger af skift/reducér-konflikter\n"
|
||||
" \"all\" inkludér al ovenstående information\n"
|
||||
" \"none\" deaktivér rapporten\n"
|
||||
|
||||
#: src/getargs.c:243
|
||||
msgid "Report bugs to <[email protected]>.\n"
|
||||
msgstr ""
|
||||
"Rapportér fejl til <[email protected]>.\n"
|
||||
"Rapportér synpunkter om oversættelsen til <[email protected]>.\n"
|
||||
|
||||
#: src/getargs.c:260
|
||||
#, c-format
|
||||
msgid "bison (GNU Bison) %s"
|
||||
msgstr "bison (GNU Bison) %s"
|
||||
|
||||
#: src/getargs.c:262
|
||||
msgid "Written by Robert Corbett and Richard Stallman.\n"
|
||||
msgstr "Skrevet af Robert Corbett og Richard Stallman.\n"
|
||||
|
||||
#: src/getargs.c:266
|
||||
#, c-format
|
||||
msgid "Copyright (C) %d Free Software Foundation, Inc.\n"
|
||||
msgstr "Copyright © %d Free Software Foundation, Inc.\n"
|
||||
|
||||
#: src/getargs.c:268
|
||||
msgid ""
|
||||
"This is free software; see the source for copying conditions. There is NO\n"
|
||||
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
|
||||
msgstr ""
|
||||
"Dette er frit programmel, se kildekoden for kopieringsbetingelser. Der\n"
|
||||
"gives INGEN garanti, endog ikke for SALGBARHED eller EGNETHED FOR NOGET\n"
|
||||
"BESTEMT FORMÅL.\n"
|
||||
|
||||
#: src/getargs.c:424
|
||||
#, c-format
|
||||
msgid "missing operand after `%s'"
|
||||
msgstr "manglende operand efter \"%s\""
|
||||
|
||||
#: src/getargs.c:426
|
||||
#, c-format
|
||||
msgid "extra operand `%s'"
|
||||
msgstr "overtallig operand \"%s\""
|
||||
|
||||
#: src/gram.c:142
|
||||
msgid "empty"
|
||||
msgstr "tom"
|
||||
|
||||
#: src/gram.c:236
|
||||
msgid "Grammar"
|
||||
msgstr "Grammatik"
|
||||
|
||||
#: src/gram.c:324 src/reduce.c:393
|
||||
msgid "warning"
|
||||
msgstr "advarsel"
|
||||
|
||||
#: src/main.c:124
|
||||
msgid "rule never reduced because of conflicts"
|
||||
msgstr "regel aldrig reduceret på grund af konflikter"
|
||||
|
||||
#: src/parse-gram.y:334
|
||||
msgid "POSIX forbids declarations in the grammar"
|
||||
msgstr "POSIX forbyder deklarationer i grammatikken"
|
||||
|
||||
#: src/parse-gram.y:457
|
||||
msgid "missing identifier in parameter declaration"
|
||||
msgstr ""
|
||||
|
||||
#: src/print.c:48
|
||||
#, c-format
|
||||
msgid " type %d is %s\n"
|
||||
msgstr " type %d er %s\n"
|
||||
|
||||
#: src/print.c:164
|
||||
#, c-format
|
||||
msgid "shift, and go to state %d\n"
|
||||
msgstr "skift, og gå til tilstand %d\n"
|
||||
|
||||
#: src/print.c:166
|
||||
#, c-format
|
||||
msgid "go to state %d\n"
|
||||
msgstr "gå til tilstand %d\n"
|
||||
|
||||
#: src/print.c:203
|
||||
msgid "error (nonassociative)\n"
|
||||
msgstr "fejl (ikke-associativ)\n"
|
||||
|
||||
#: src/print.c:291
|
||||
#, c-format
|
||||
msgid "reduce using rule %d (%s)"
|
||||
msgstr "reducér med regel %d (%s)"
|
||||
|
||||
#: src/print.c:293
|
||||
msgid "accept"
|
||||
msgstr "acceptér"
|
||||
|
||||
#: src/print.c:324 src/print.c:390
|
||||
msgid "$default"
|
||||
msgstr "$default"
|
||||
|
||||
#: src/print.c:419
|
||||
#, c-format
|
||||
msgid "state %d"
|
||||
msgstr "tilstand %d"
|
||||
|
||||
#: src/print.c:455
|
||||
msgid "Terminals, with rules where they appear"
|
||||
msgstr "Terminaler, med regler hvor de forekommer"
|
||||
|
||||
#: src/print.c:482
|
||||
msgid "Nonterminals, with rules where they appear"
|
||||
msgstr "Ikke-terminaler, med regler hvor de forekommer"
|
||||
|
||||
#: src/print.c:511
|
||||
msgid " on left:"
|
||||
msgstr " til venstre:"
|
||||
|
||||
#: src/print.c:526
|
||||
msgid " on right:"
|
||||
msgstr " til højre:"
|
||||
|
||||
#: src/print.c:554
|
||||
msgid "Rules never reduced"
|
||||
msgstr "Aldrig reducerede regler"
|
||||
|
||||
#: src/reader.c:53
|
||||
#, c-format
|
||||
msgid "multiple %s declarations"
|
||||
msgstr "flere %s-deklarationer"
|
||||
|
||||
#: src/reader.c:138
|
||||
#, c-format
|
||||
msgid "result type clash on merge function %s: <%s> != <%s>"
|
||||
msgstr "resultattypekonflikt ved sammenfletningsfunktion %s: <%s> != <%s>"
|
||||
|
||||
#: src/reader.c:236
|
||||
#, c-format
|
||||
msgid "rule given for %s, which is a token"
|
||||
msgstr "regel givet for %s som er et element"
|
||||
|
||||
#: src/reader.c:265
|
||||
#, c-format
|
||||
msgid "type clash on default action: <%s> != <%s>"
|
||||
msgstr "typekonflikt for standardhandling: <%s> != <%s>"
|
||||
|
||||
#: src/reader.c:271
|
||||
msgid "empty rule for typed nonterminal, and no action"
|
||||
msgstr "tom regel for typet ikke-terminal, og ingen handling"
|
||||
|
||||
#: src/reader.c:341 src/reader.c:355 src/reader.c:368
|
||||
#, c-format
|
||||
msgid "only one %s allowed per rule"
|
||||
msgstr "kun en %s tilladt per regel"
|
||||
|
||||
#: src/reader.c:351 src/reader.c:366
|
||||
#, c-format
|
||||
msgid "%s affects only GLR parsers"
|
||||
msgstr "%s påvirker kun GLR-fortolkere"
|
||||
|
||||
#: src/reader.c:353
|
||||
#, c-format
|
||||
msgid "%s must be followed by positive number"
|
||||
msgstr "%s skal følges af et positivt tal"
|
||||
|
||||
#: src/reader.c:510
|
||||
msgid "no rules in the input grammar"
|
||||
msgstr "ingen regler i inddatagrammatikken"
|
||||
|
||||
#: src/reduce.c:241
|
||||
msgid "useless rule"
|
||||
msgstr "ubrugelig regel"
|
||||
|
||||
#: src/reduce.c:302
|
||||
#, fuzzy, c-format
|
||||
msgid "useless nonterminal: %s"
|
||||
msgstr "ubrugelig ikke-terminal"
|
||||
|
||||
#: src/reduce.c:350
|
||||
msgid "Useless nonterminals"
|
||||
msgstr "Ubrugelige ikke-terminaler"
|
||||
|
||||
#: src/reduce.c:363
|
||||
msgid "Terminals which are not used"
|
||||
msgstr "Terminaler som ikke bruges"
|
||||
|
||||
#: src/reduce.c:372
|
||||
msgid "Useless rules"
|
||||
msgstr "Ubrugelige regler"
|
||||
|
||||
#: src/reduce.c:388
|
||||
#, c-format
|
||||
msgid "%d rule never reduced\n"
|
||||
msgid_plural "%d rules never reduced\n"
|
||||
msgstr[0] "%d regel reduceres aldrig\n"
|
||||
msgstr[1] "%d regler reduceres aldrig\n"
|
||||
|
||||
#: src/reduce.c:396
|
||||
#, c-format
|
||||
msgid "%d useless nonterminal"
|
||||
msgid_plural "%d useless nonterminals"
|
||||
msgstr[0] "%d ubrugelig ikke-terminal"
|
||||
msgstr[1] "%d ubrugelige ikke-terminaler"
|
||||
|
||||
#: src/reduce.c:402
|
||||
msgid " and "
|
||||
msgstr " og "
|
||||
|
||||
#: src/reduce.c:405
|
||||
#, c-format
|
||||
msgid "%d useless rule"
|
||||
msgid_plural "%d useless rules"
|
||||
msgstr[0] "%d ubrugelig regel"
|
||||
msgstr[1] "%d ubrugelige regler"
|
||||
|
||||
#: src/reduce.c:435
|
||||
#, c-format
|
||||
msgid "start symbol %s does not derive any sentence"
|
||||
msgstr "startsymbolet %s genererer ingen sætninger"
|
||||
|
||||
#: src/scan-gram.l:157
|
||||
msgid "stray `,' treated as white space"
|
||||
msgstr ""
|
||||
|
||||
#: src/scan-gram.l:216
|
||||
#, c-format
|
||||
msgid "invalid directive: %s"
|
||||
msgstr "ugyldigt direktiv: %s"
|
||||
|
||||
#: src/scan-gram.l:236 src/scan-gram.l:785 src/scan-gram.l:853
|
||||
#, c-format
|
||||
msgid "integer out of range: %s"
|
||||
msgstr "heltal uden for gyldigshedsområdet: %s"
|
||||
|
||||
#: src/scan-gram.l:281
|
||||
#, c-format
|
||||
msgid "invalid character: %s"
|
||||
msgstr "ugyldigt tegn: %s"
|
||||
|
||||
#: src/scan-gram.l:405 src/scan-gram.l:415 src/scan-gram.l:434
|
||||
#, c-format
|
||||
msgid "invalid escape sequence: %s"
|
||||
msgstr "ugyldig undvigesekvens: %s"
|
||||
|
||||
#: src/scan-gram.l:439
|
||||
#, c-format
|
||||
msgid "unrecognized escape sequence: %s"
|
||||
msgstr "ukendt undvigesekvens: %s"
|
||||
|
||||
#: src/scan-gram.l:524
|
||||
#, fuzzy, c-format
|
||||
msgid "missing `{' in `%s'"
|
||||
msgstr "manglende operand efter \"%s\""
|
||||
|
||||
#: src/scan-gram.l:757
|
||||
#, c-format
|
||||
msgid "$$ of `%s' has no declared type"
|
||||
msgstr "$$ for \"%s\" har ingen erklæret type"
|
||||
|
||||
#: src/scan-gram.l:776
|
||||
#, c-format
|
||||
msgid "$%d of `%s' has no declared type"
|
||||
msgstr "$%d for \"%s\" har ingen erklæret type"
|
||||
|
||||
#: src/scan-gram.l:820 src/scan-gram.l:887
|
||||
#, c-format
|
||||
msgid "invalid value: %s"
|
||||
msgstr "fejlagtig værdi: %s"
|
||||
|
||||
#: src/scan-gram.l:978
|
||||
#, c-format
|
||||
msgid "missing `%s' at end of file"
|
||||
msgstr "manglende \"%s\" ved slutningen af filen"
|
||||
|
||||
#: src/symlist.c:97 src/symlist.c:108
|
||||
msgid "invalid $ value"
|
||||
msgstr "fejlagtig $-værdi"
|
||||
|
||||
#: src/symtab.c:84
|
||||
#, c-format
|
||||
msgid "type redeclaration for %s"
|
||||
msgstr "gentagen typeerklæring for %s"
|
||||
|
||||
#: src/symtab.c:101 src/symtab.c:119
|
||||
#, c-format
|
||||
msgid "%s redeclaration for %s"
|
||||
msgstr "gentagen %s-erklæring for %s"
|
||||
|
||||
#: src/symtab.c:138
|
||||
#, c-format
|
||||
msgid "redefining precedence of %s"
|
||||
msgstr "redefinition af præcedens for %s"
|
||||
|
||||
#: src/symtab.c:156
|
||||
#, c-format
|
||||
msgid "symbol %s redefined"
|
||||
msgstr "symbol %s redefineret"
|
||||
|
||||
#: src/symtab.c:179
|
||||
#, c-format
|
||||
msgid "redefining user token number of %s"
|
||||
msgstr "redefinition af elementnummer for %s"
|
||||
|
||||
#: src/symtab.c:206
|
||||
#, c-format
|
||||
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
||||
msgstr ""
|
||||
"symbol %s bruges, men er ikke defineret som et element og har ingen regler"
|
||||
|
||||
#: src/symtab.c:231
|
||||
#, c-format
|
||||
msgid "symbol `%s' used more than once as a literal string"
|
||||
msgstr "symbol \"%s\" bruges mere end en gang som en bogstavelig streng"
|
||||
|
||||
#: src/symtab.c:234
|
||||
#, c-format
|
||||
msgid "symbol `%s' given more than one literal string"
|
||||
msgstr "symbol \"%s\" har fået mere end én bogstavelig streng"
|
||||
|
||||
#: src/symtab.c:270
|
||||
#, c-format
|
||||
msgid "conflicting precedences for %s and %s"
|
||||
msgstr "modstridige præcedenser mellem %s og %s"
|
||||
|
||||
#: src/symtab.c:282
|
||||
#, c-format
|
||||
msgid "conflicting associativities for %s (%s) and %s (%s)"
|
||||
msgstr "modstridige associativiteter for %s (%s) og %s (%s)"
|
||||
|
||||
#: src/symtab.c:367
|
||||
#, c-format
|
||||
msgid "tokens %s and %s both assigned number %d"
|
||||
msgstr "elementerne %s og %s har begge fået nummer %d"
|
||||
|
||||
#: src/symtab.c:590
|
||||
#, c-format
|
||||
msgid "the start symbol %s is undefined"
|
||||
msgstr "startsymbolet %s er udefineret"
|
||||
|
||||
#: src/symtab.c:594
|
||||
#, c-format
|
||||
msgid "the start symbol %s is a token"
|
||||
msgstr "startsymbolet %s er et element"
|
||||
|
||||
#: lib/argmatch.c:129
|
||||
#, c-format
|
||||
msgid "invalid argument %s for %s"
|
||||
msgstr "ugyldigt argument %s til %s"
|
||||
|
||||
#: lib/argmatch.c:130
|
||||
#, c-format
|
||||
msgid "ambiguous argument %s for %s"
|
||||
msgstr "flertydigt argument %s til %s"
|
||||
|
||||
#: lib/argmatch.c:149
|
||||
msgid "Valid arguments are:"
|
||||
msgstr "Gyldige argumenter er:"
|
||||
|
||||
#: lib/bitset_stats.c:178
|
||||
#, c-format
|
||||
msgid "%u bitset_allocs, %u freed (%.2f%%).\n"
|
||||
msgstr "%u bitmængdeallokeringer, %u frigjort (%.2f%%).\n"
|
||||
|
||||
#: lib/bitset_stats.c:181
|
||||
#, c-format
|
||||
msgid "%u bitset_sets, %u cached (%.2f%%)\n"
|
||||
msgstr "%u bitmængdeindstillinger, %u cachede (%.2f%%)\n"
|
||||
|
||||
#: lib/bitset_stats.c:184
|
||||
#, c-format
|
||||
msgid "%u bitset_resets, %u cached (%.2f%%)\n"
|
||||
msgstr "%u bitmængdenulstillinger, %u cachede (%.2f%%)\n"
|
||||
|
||||
#: lib/bitset_stats.c:187
|
||||
#, c-format
|
||||
msgid "%u bitset_tests, %u cached (%.2f%%)\n"
|
||||
msgstr "%u bitmængdetest, %u cachede (%.2f%%)\n"
|
||||
|
||||
#: lib/bitset_stats.c:191
|
||||
#, c-format
|
||||
msgid "%u bitset_lists\n"
|
||||
msgstr "%u bitmængdelister\n"
|
||||
|
||||
#: lib/bitset_stats.c:193
|
||||
msgid "count log histogram\n"
|
||||
msgstr "kaldsloghistogram\n"
|
||||
|
||||
#: lib/bitset_stats.c:196
|
||||
msgid "size log histogram\n"
|
||||
msgstr "størrelsesloghistogram\n"
|
||||
|
||||
#: lib/bitset_stats.c:199
|
||||
msgid "density histogram\n"
|
||||
msgstr "densitetshistogram\n"
|
||||
|
||||
#: lib/bitset_stats.c:213
|
||||
msgid ""
|
||||
"Bitset statistics:\n"
|
||||
"\n"
|
||||
msgstr ""
|
||||
"Bitmængdestatistik:\n"
|
||||
"\n"
|
||||
|
||||
#: lib/bitset_stats.c:216
|
||||
#, c-format
|
||||
msgid "Accumulated runs = %u\n"
|
||||
msgstr "Akkumulerede kørsler = %u\n"
|
||||
|
||||
#: lib/bitset_stats.c:260 lib/bitset_stats.c:265
|
||||
msgid "Could not read stats file."
|
||||
msgstr "Kunne ikke læse statistikfil."
|
||||
|
||||
#: lib/bitset_stats.c:262
|
||||
msgid "Bad stats file size.\n"
|
||||
msgstr "Dårlig statistikfilstørrelse.\n"
|
||||
|
||||
#: lib/bitset_stats.c:288 lib/bitset_stats.c:290
|
||||
msgid "Could not write stats file."
|
||||
msgstr "Kunne ikke skrive statistikfil."
|
||||
|
||||
#: lib/bitset_stats.c:293
|
||||
msgid "Could not open stats file for writing."
|
||||
msgstr "Kunne ikke åbne statistikfil for skrivning."
|
||||
|
||||
#: lib/getopt.c:688 lib/getopt.c:700
|
||||
#, c-format
|
||||
msgid "%s: option `%s' is ambiguous\n"
|
||||
msgstr "%s: flaget \"%s\" er flertydigt\n"
|
||||
|
||||
#: lib/getopt.c:733 lib/getopt.c:737
|
||||
#, c-format
|
||||
msgid "%s: option `--%s' doesn't allow an argument\n"
|
||||
msgstr "%s: flaget \"--%s\" tager intet argument\n"
|
||||
|
||||
#: lib/getopt.c:746 lib/getopt.c:751
|
||||
#, c-format
|
||||
msgid "%s: option `%c%s' doesn't allow an argument\n"
|
||||
msgstr "%s: flaget \"%c%s\" tager intet argument\n"
|
||||
|
||||
#: lib/getopt.c:787 lib/getopt.c:800 lib/getopt.c:1089 lib/getopt.c:1102
|
||||
#, c-format
|
||||
msgid "%s: option `%s' requires an argument\n"
|
||||
msgstr "%s: flaget \"%s\" behøver et argument\n"
|
||||
|
||||
#: lib/getopt.c:838 lib/getopt.c:841
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `--%s'\n"
|
||||
msgstr "%s: ukendt flag \"--%s\"\n"
|
||||
|
||||
#: lib/getopt.c:849 lib/getopt.c:852
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `%c%s'\n"
|
||||
msgstr "%s: ukendt flag \"%c%s\"\n"
|
||||
|
||||
#: lib/getopt.c:899 lib/getopt.c:902
|
||||
#, c-format
|
||||
msgid "%s: illegal option -- %c\n"
|
||||
msgstr "%s: ikke tilladt flag -- %c\n"
|
||||
|
||||
#: lib/getopt.c:908 lib/getopt.c:911
|
||||
#, c-format
|
||||
msgid "%s: invalid option -- %c\n"
|
||||
msgstr "%s: ugyldigt flag --%c\n"
|
||||
|
||||
#: lib/getopt.c:958 lib/getopt.c:969 lib/getopt.c:1155 lib/getopt.c:1168
|
||||
#, c-format
|
||||
msgid "%s: option requires an argument -- %c\n"
|
||||
msgstr "%s: flaget behøver et argument -- %c\n"
|
||||
|
||||
#: lib/getopt.c:1021 lib/getopt.c:1032
|
||||
#, c-format
|
||||
msgid "%s: option `-W %s' is ambiguous\n"
|
||||
msgstr "%s: flaget \"-W %s\" er flertydigt\n"
|
||||
|
||||
#: lib/getopt.c:1056 lib/getopt.c:1068
|
||||
#, c-format
|
||||
msgid "%s: option `-W %s' doesn't allow an argument\n"
|
||||
msgstr "%s: flaget \"-W %s\" tager intet argument\n"
|
||||
|
||||
#: lib/obstack.c:487 lib/obstack.c:490 lib/xmalloc.c:63
|
||||
msgid "memory exhausted"
|
||||
msgstr "hukommelsen opbrugt"
|
||||
|
||||
# Når vi går over til Unicode mere allmænt måske vi bør oversættta båda disse
|
||||
# med U+201D (RIGHT DOUBLE QUOTATION MARK) på svenska. Eller?
|
||||
#
|
||||
#: lib/quotearg.c:236
|
||||
msgid "`"
|
||||
msgstr "\""
|
||||
|
||||
#: lib/quotearg.c:237
|
||||
msgid "'"
|
||||
msgstr "\""
|
||||
|
||||
#: lib/subpipe.c:187
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' could not be invoked"
|
||||
msgstr "hjælpeprogrammet \"%s\" kunne ikke startes"
|
||||
|
||||
#: lib/subpipe.c:189
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' not found"
|
||||
msgstr "hjælpeprogrammet \"%s\" ikke fundet"
|
||||
|
||||
#: lib/subpipe.c:191
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' failed"
|
||||
msgstr "hjælpeprogrammet \"%s\" fejlede"
|
||||
|
||||
#: lib/subpipe.c:192
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' failed (exit status %d)"
|
||||
msgstr "hjælpeprogrammet \"%s\" fejlede med afslutningskode %d"
|
||||
|
||||
#: lib/timevar.c:476
|
||||
msgid ""
|
||||
"\n"
|
||||
"Execution times (seconds)\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Udførelsestider (sekunder)\n"
|
||||
|
||||
#: lib/timevar.c:526
|
||||
msgid " TOTAL :"
|
||||
msgstr " TOTALT :"
|
||||
|
||||
#: lib/timevar.c:562
|
||||
#, c-format
|
||||
msgid "time in %s: %ld.%06ld (%ld%%)\n"
|
||||
msgstr "tid i %s: %ld.%06ld (%ld%%)\n"
|
||||
|
||||
#~ msgid "%d shift/reduce conflict"
|
||||
#~ msgid_plural "%d shift/reduce conflicts"
|
||||
#~ msgstr[0] "%d skift/reducér-konflikt"
|
||||
#~ msgstr[1] "%d skift/reducér-konflikter"
|
||||
|
||||
#~ msgid "and"
|
||||
#~ msgstr "og"
|
||||
|
||||
#~ msgid "conflicts: "
|
||||
#~ msgstr "konflikter: "
|
||||
|
||||
#~ msgid "State %d contains "
|
||||
#~ msgstr "Tilstand %d indeholder "
|
||||
@@ -5,9 +5,9 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: bison 1.50\n"
|
||||
"POT-Creation-Date: 2002-10-14 14:47+0200\n"
|
||||
"PO-Revision-Date: 2002-10-07 10:50:39+0200\n"
|
||||
"Project-Id-Version: bison 1.75e\n"
|
||||
"POT-Creation-Date: 2003-01-01 01:28-0800\n"
|
||||
"PO-Revision-Date: 2002-12-27 12:17:36+0100\n"
|
||||
"Last-Translator: Michael Piefel <[email protected]>\n"
|
||||
"Language-Team: German <[email protected]>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -15,99 +15,101 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8-bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
|
||||
#: src/complain.c:89 lib/error.c:128 lib/error.c:156
|
||||
#: src/complain.c:56 lib/error.c:135 lib/error.c:163
|
||||
msgid "Unknown system error"
|
||||
msgstr "Unbekannter Systemfehler"
|
||||
|
||||
#: src/complain.c:123 src/complain.c:152
|
||||
#: src/complain.c:79 src/complain.c:94
|
||||
msgid "warning: "
|
||||
msgstr "Warnung: "
|
||||
|
||||
#: src/complain.c:252 src/complain.c:282
|
||||
#: src/complain.c:150 src/complain.c:166
|
||||
msgid "fatal error: "
|
||||
msgstr "fataler Fehler: "
|
||||
|
||||
#: src/conflicts.c:72
|
||||
#: src/conflicts.c:75
|
||||
#, c-format
|
||||
msgid " Conflict between rule %d and token %s resolved as shift"
|
||||
msgstr ""
|
||||
" Konflikt zwischen Regel %d and Token %s wurde durch Schieben gelöst"
|
||||
|
||||
#: src/conflicts.c:80
|
||||
#: src/conflicts.c:83
|
||||
#, c-format
|
||||
msgid " Conflict between rule %d and token %s resolved as reduce"
|
||||
msgstr ""
|
||||
" Konflikt zwischen Regel %d and Token %s wurde durch Reduzierung gelöst"
|
||||
|
||||
#: src/conflicts.c:87
|
||||
#: src/conflicts.c:90
|
||||
#, c-format
|
||||
msgid " Conflict between rule %d and token %s resolved as an error"
|
||||
msgstr ""
|
||||
" Konflikt zwischen Regel %d and Token %s wurde als Fehler betrachtet"
|
||||
|
||||
#: src/conflicts.c:402
|
||||
#: src/conflicts.c:398
|
||||
#, c-format
|
||||
msgid "%d shift/reduce conflict"
|
||||
msgid_plural "%d shift/reduce conflicts"
|
||||
msgstr[0] "%d Schiebe/Reduziere-Konflikt"
|
||||
msgstr[1] "%d Schiebe/Reduziere-Konflikte"
|
||||
msgid "conflicts: %d shift/reduce, %d reduce/reduce\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/conflicts.c:409
|
||||
msgid "and"
|
||||
msgstr "und"
|
||||
|
||||
#: src/conflicts.c:415
|
||||
#, c-format
|
||||
msgid "%d reduce/reduce conflict"
|
||||
msgid_plural "%d reduce/reduce conflicts"
|
||||
msgstr[0] "%d Reduziere/Reduziere-Konflikt"
|
||||
msgstr[1] "%d Reduziere/Reduziere-Konflikte"
|
||||
|
||||
#: src/conflicts.c:435
|
||||
msgid "conflicts: "
|
||||
msgstr "Konflikte: "
|
||||
|
||||
#: src/conflicts.c:437
|
||||
#, c-format
|
||||
msgid " %d shift/reduce"
|
||||
#: src/conflicts.c:401
|
||||
#, fuzzy, c-format
|
||||
msgid "conflicts: %d shift/reduce\n"
|
||||
msgstr " %d Schiebe/Reduziere"
|
||||
|
||||
#: src/conflicts.c:441
|
||||
#, c-format
|
||||
msgid " %d reduce/reduce"
|
||||
#: src/conflicts.c:403
|
||||
#, fuzzy, c-format
|
||||
msgid "conflicts: %d reduce/reduce\n"
|
||||
msgstr " %d Reduziere/Reduziere"
|
||||
|
||||
#: src/conflicts.c:460
|
||||
#, c-format
|
||||
msgid "State %d contains "
|
||||
msgstr "Zustand %d enthält "
|
||||
#: src/conflicts.c:421
|
||||
#, fuzzy, c-format
|
||||
msgid "State %d "
|
||||
msgstr "Zustand %d"
|
||||
|
||||
#: src/conflicts.c:537
|
||||
#: src/conflicts.c:498
|
||||
#, c-format
|
||||
msgid "expected %d shift/reduce conflict"
|
||||
msgid_plural "expected %d shift/reduce conflicts"
|
||||
msgstr[0] "erwartete %d Schiebe/Reduziere-Konflikt"
|
||||
msgstr[1] "erwartete %d Schiebe/Reduziere-Konflikte"
|
||||
|
||||
#: src/files.c:114
|
||||
#: src/conflicts.c:503
|
||||
#, fuzzy
|
||||
msgid "expected 0 reduce/reduce conflicts"
|
||||
msgstr "%d Reduziere/Reduziere-Konflikt"
|
||||
|
||||
#: src/files.c:99
|
||||
#, c-format
|
||||
msgid "cannot open file `%s'"
|
||||
msgstr "kann Datei »%s« nicht öffnen"
|
||||
|
||||
#: src/files.c:133
|
||||
#: src/files.c:115
|
||||
msgid "I/O error"
|
||||
msgstr "E/A-Fehler"
|
||||
|
||||
#: src/files.c:118
|
||||
msgid "cannot close file"
|
||||
msgstr "kann Datei nicht schließen"
|
||||
|
||||
#: src/getargs.c:157
|
||||
#: src/files.c:336
|
||||
#, c-format
|
||||
msgid "conflicting outputs to file %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:182
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information.\n"
|
||||
msgstr "»%s --help« gibt weitere Informationen.\n"
|
||||
|
||||
#: src/getargs.c:188
|
||||
msgid "GNU bison generates parsers for LALR(1) grammars.\n"
|
||||
msgstr "GNU bison generiert Parser für LALR(1)-Grammatiken.\n"
|
||||
|
||||
#: src/getargs.c:161
|
||||
#: src/getargs.c:192
|
||||
#, c-format
|
||||
msgid "Usage: %s [OPTION]... FILE\n"
|
||||
msgstr "Aufruf: %s [OPTION]... DATEI\n"
|
||||
|
||||
#: src/getargs.c:165
|
||||
#: src/getargs.c:196
|
||||
msgid ""
|
||||
"If a long option shows an argument as mandatory, then it is mandatory\n"
|
||||
"for the equivalent short option also. Similarly for optional arguments.\n"
|
||||
@@ -117,7 +119,7 @@ msgstr ""
|
||||
"für die äquivalente kurze Option erforderlich. Ähnlich für optionale "
|
||||
"Argumente.\n"
|
||||
|
||||
#: src/getargs.c:171
|
||||
#: src/getargs.c:202
|
||||
msgid ""
|
||||
"Operation modes:\n"
|
||||
" -h, --help display this help and exit\n"
|
||||
@@ -129,7 +131,7 @@ msgstr ""
|
||||
" -v, --version Versionsinformation anzeigen und beenden.\n"
|
||||
" -y, --yacc POSIX' yacc emulieren\n"
|
||||
|
||||
#: src/getargs.c:178
|
||||
#: src/getargs.c:209
|
||||
msgid ""
|
||||
"Parser:\n"
|
||||
" -S, --skeleton=FILE specify the skeleton to use\n"
|
||||
@@ -151,7 +153,7 @@ msgstr ""
|
||||
" -k, --token-table einer Tabellen der Token-Namen mit "
|
||||
"einschließen\n"
|
||||
|
||||
#: src/getargs.c:190
|
||||
#: src/getargs.c:221
|
||||
msgid ""
|
||||
"Output:\n"
|
||||
" -d, --defines also produce a header file\n"
|
||||
@@ -171,7 +173,7 @@ msgstr ""
|
||||
" -g, --graph auch eine VCG-Beschreibung des Automaten "
|
||||
"herstellen\n"
|
||||
|
||||
#: src/getargs.c:201
|
||||
#: src/getargs.c:232
|
||||
msgid ""
|
||||
"THINGS is a list of comma separated words that can include:\n"
|
||||
" `state' describe the states\n"
|
||||
@@ -189,26 +191,26 @@ msgstr ""
|
||||
" »all« alle oben genannten Informationen\n"
|
||||
" »none« den Report abschalten\n"
|
||||
|
||||
#: src/getargs.c:212
|
||||
#: src/getargs.c:243
|
||||
msgid "Report bugs to <[email protected]>.\n"
|
||||
msgstr ""
|
||||
"Berichten Sie Fehler (auf Englisch, mit LC_ALL=C) an <[email protected]>.\n"
|
||||
|
||||
#: src/getargs.c:226
|
||||
#: src/getargs.c:260
|
||||
#, c-format
|
||||
msgid "bison (GNU Bison) %s"
|
||||
msgstr "bison (GNU Bison) %s"
|
||||
|
||||
#: src/getargs.c:228
|
||||
#: src/getargs.c:262
|
||||
msgid "Written by Robert Corbett and Richard Stallman.\n"
|
||||
msgstr "Geschrieben von Robert Corbett und Richard Stallman.\n"
|
||||
|
||||
#: src/getargs.c:232
|
||||
#: src/getargs.c:266
|
||||
#, c-format
|
||||
msgid "Copyright (C) %d Free Software Foundation, Inc.\n"
|
||||
msgstr "Copyright © %d Free Software Foundation, Inc.\n"
|
||||
|
||||
#: src/getargs.c:234
|
||||
#: src/getargs.c:268
|
||||
msgid ""
|
||||
"This is free software; see the source for copying conditions. There is NO\n"
|
||||
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
|
||||
@@ -217,66 +219,60 @@ msgstr ""
|
||||
"gibt keine Garantie; auch nicht für VERKAUFBARKEIT oder FÜR SPEZIELLE "
|
||||
"ZWECKE.\n"
|
||||
|
||||
#: src/getargs.c:395
|
||||
#: src/getargs.c:424
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information.\n"
|
||||
msgstr "»%s --help« gibt weitere Informationen.\n"
|
||||
msgid "missing operand after `%s'"
|
||||
msgstr "fehlender Operand nach »%s«"
|
||||
|
||||
#: src/getargs.c:402
|
||||
#: src/getargs.c:426
|
||||
#, c-format
|
||||
msgid "%s: no grammar file given\n"
|
||||
msgstr "%s: keine Grammatik-Datei angegeben\n"
|
||||
msgid "extra operand `%s'"
|
||||
msgstr "zusätzlicher Operand »%s«"
|
||||
|
||||
#: src/getargs.c:406
|
||||
#, c-format
|
||||
msgid "%s: extra arguments ignored after `%s'\n"
|
||||
msgstr "%s: zusätzliche Argumente nach »%s« werden ignoriert\n"
|
||||
|
||||
#: src/gram.c:139
|
||||
#: src/gram.c:142
|
||||
msgid "empty"
|
||||
msgstr "leer"
|
||||
|
||||
#: src/gram.c:233
|
||||
#: src/gram.c:236
|
||||
msgid "Grammar"
|
||||
msgstr "Grammatik"
|
||||
|
||||
#: src/gram.c:321 src/reduce.c:302 src/reduce.c:392
|
||||
#: src/gram.c:324 src/reduce.c:393
|
||||
msgid "warning"
|
||||
msgstr "Warnung"
|
||||
|
||||
#: src/lalr.c:91
|
||||
#, c-format
|
||||
msgid "too many gotos (max %d)"
|
||||
msgstr "zu viele Gotos (max %d)"
|
||||
|
||||
#: src/main.c:117
|
||||
#: src/main.c:124
|
||||
msgid "rule never reduced because of conflicts"
|
||||
msgstr "Regel nie reduziert wegen Konflikten"
|
||||
|
||||
#: parse-gram.y:347
|
||||
#: src/parse-gram.y:334
|
||||
msgid "POSIX forbids declarations in the grammar"
|
||||
msgstr "POSIX verbietet Deklarationen in der Grammatik"
|
||||
|
||||
#: src/print.c:46
|
||||
#: src/parse-gram.y:457
|
||||
msgid "missing identifier in parameter declaration"
|
||||
msgstr "fehlender Bezeichner in Parameterdeklaration"
|
||||
|
||||
#: src/print.c:48
|
||||
#, c-format
|
||||
msgid " type %d is %s\n"
|
||||
msgstr " Typ %d ist %s\n"
|
||||
|
||||
#: src/print.c:162
|
||||
#: src/print.c:164
|
||||
#, c-format
|
||||
msgid "shift, and go to state %d\n"
|
||||
msgstr "schiebe und gehe zu Zustand %d über\n"
|
||||
|
||||
#: src/print.c:164
|
||||
#: src/print.c:166
|
||||
#, c-format
|
||||
msgid "go to state %d\n"
|
||||
msgstr "gehe zu Zustand %d über\n"
|
||||
|
||||
#: src/print.c:201
|
||||
#: src/print.c:203
|
||||
msgid "error (nonassociative)\n"
|
||||
msgstr "Fehler (nicht assoziativ)\n"
|
||||
|
||||
#: src/print.c:290
|
||||
#: src/print.c:291
|
||||
#, c-format
|
||||
msgid "reduce using rule %d (%s)"
|
||||
msgstr "reduziere mit Regel %d (%s)"
|
||||
@@ -294,127 +290,109 @@ msgstr "$default"
|
||||
msgid "state %d"
|
||||
msgstr "Zustand %d"
|
||||
|
||||
#: src/print.c:456
|
||||
#: src/print.c:455
|
||||
msgid "Terminals, with rules where they appear"
|
||||
msgstr "Terminale und die Regeln, in denen sie verwendet werden"
|
||||
|
||||
#: src/print.c:483
|
||||
#: src/print.c:482
|
||||
msgid "Nonterminals, with rules where they appear"
|
||||
msgstr "Nicht-Terminal und die Regeln, in denen sie verwendet werden"
|
||||
|
||||
#: src/print.c:512
|
||||
#: src/print.c:511
|
||||
msgid " on left:"
|
||||
msgstr " auf der linken Seite:"
|
||||
|
||||
#: src/print.c:527
|
||||
#: src/print.c:526
|
||||
msgid " on right:"
|
||||
msgstr " auf der rechten Seite:"
|
||||
|
||||
#: src/print.c:555
|
||||
#: src/print.c:554
|
||||
msgid "Rules never reduced"
|
||||
msgstr "niemals reduzierte Regeln"
|
||||
|
||||
#: src/reader.c:52
|
||||
#: src/reader.c:53
|
||||
#, c-format
|
||||
msgid "multiple %s declarations"
|
||||
msgstr "mehr als eine %s-Deklaration"
|
||||
|
||||
#: src/reader.c:141
|
||||
#: src/reader.c:138
|
||||
#, c-format
|
||||
msgid "result type clash on merge function %s: `%s' vs. `%s'"
|
||||
msgstr "Rückgabetyp-Konflikt in merge-Funktion %s: »%s« und »%s«"
|
||||
msgid "result type clash on merge function %s: <%s> != <%s>"
|
||||
msgstr "Rückgabetyp-Konflikt in merge-Funktion %s: <%s> != <%s>"
|
||||
|
||||
#: src/reader.c:239
|
||||
#: src/reader.c:236
|
||||
#, c-format
|
||||
msgid "rule given for %s, which is a token"
|
||||
msgstr "Regel für %s vorhanden, welches aber ein Token ist"
|
||||
|
||||
#: src/reader.c:268
|
||||
#: src/reader.c:265
|
||||
#, c-format
|
||||
msgid "type clash (`%s' `%s') on default action"
|
||||
msgstr "Typkonflikt (»%s« »%s«) bei Default-Aktion"
|
||||
msgid "type clash on default action: <%s> != <%s>"
|
||||
msgstr "Typkonflikt bei Default-Aktion: <%s> != <%s>) "
|
||||
|
||||
#: src/reader.c:274
|
||||
#: src/reader.c:271
|
||||
msgid "empty rule for typed nonterminal, and no action"
|
||||
msgstr "leere Regel für Nicht-Terminal mit Typ und keine Aktion"
|
||||
|
||||
#: src/reader.c:344
|
||||
msgid "two @prec's in a row"
|
||||
msgstr "zwei @prec-Anweisungen nacheinander"
|
||||
|
||||
#: src/reader.c:354
|
||||
#: src/reader.c:341 src/reader.c:355 src/reader.c:368
|
||||
#, c-format
|
||||
msgid "%%dprec affects only GLR parsers"
|
||||
msgstr "%%dprec betrifft nur GLR-Parser"
|
||||
msgid "only one %s allowed per rule"
|
||||
msgstr "nur ein %s pro Regel erlaubt"
|
||||
|
||||
#: src/reader.c:356
|
||||
#: src/reader.c:351 src/reader.c:366
|
||||
#, c-format
|
||||
msgid "%%dprec must be followed by positive number"
|
||||
msgstr "%%dprec muss von positiver Zahl gefolgt sein"
|
||||
msgid "%s affects only GLR parsers"
|
||||
msgstr "%s betrifft nur GLR-Parser"
|
||||
|
||||
#: src/reader.c:358
|
||||
#: src/reader.c:353
|
||||
#, c-format
|
||||
msgid "only one %%dprec allowed per rule"
|
||||
msgstr "nur ein %%dprec pro Regel erlaubt"
|
||||
msgid "%s must be followed by positive number"
|
||||
msgstr "%s muss von positiver Zahl gefolgt sein"
|
||||
|
||||
#: src/reader.c:369
|
||||
#, c-format
|
||||
msgid "%%merge affects only GLR parsers"
|
||||
msgstr "%%merge betrifft nur GLR-Parser"
|
||||
|
||||
#: src/reader.c:371
|
||||
#, c-format
|
||||
msgid "only one %%merge allowed per rule"
|
||||
msgstr "nur ein %%merge pro Regel erlaubt"
|
||||
|
||||
#: src/reader.c:514
|
||||
#: src/reader.c:510
|
||||
msgid "no rules in the input grammar"
|
||||
msgstr "Eingabegrammatik enthält keine Regeln"
|
||||
|
||||
#: src/reader.c:546
|
||||
#, c-format
|
||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||
msgstr "zu viele Symbole (Token plus Nicht-Terminale); Maximum %d"
|
||||
|
||||
#: src/reduce.c:239
|
||||
#: src/reduce.c:241
|
||||
msgid "useless rule"
|
||||
msgstr "nutzlose Regel"
|
||||
|
||||
#: src/reduce.c:302
|
||||
msgid "useless nonterminal"
|
||||
msgstr "nutzloses Nicht-Terminal"
|
||||
#, c-format
|
||||
msgid "useless nonterminal: %s"
|
||||
msgstr "nutzloses Nicht-Terminal: %s"
|
||||
|
||||
#: src/reduce.c:349
|
||||
#: src/reduce.c:350
|
||||
msgid "Useless nonterminals"
|
||||
msgstr "Nutzlose Nicht-Terminale"
|
||||
|
||||
#: src/reduce.c:362
|
||||
#: src/reduce.c:363
|
||||
msgid "Terminals which are not used"
|
||||
msgstr "Nicht genutzte Terminale"
|
||||
|
||||
#: src/reduce.c:371
|
||||
#: src/reduce.c:372
|
||||
msgid "Useless rules"
|
||||
msgstr "Nutzlose Regeln"
|
||||
|
||||
#: src/reduce.c:387
|
||||
#: src/reduce.c:388
|
||||
#, c-format
|
||||
msgid "%d rule never reduced\n"
|
||||
msgid_plural "%d rules never reduced\n"
|
||||
msgstr[0] "%d Regel wurde niemals reduziert\n"
|
||||
msgstr[1] "%d Regeln wurden niemals reduziert\n"
|
||||
|
||||
#: src/reduce.c:395
|
||||
#: src/reduce.c:396
|
||||
#, c-format
|
||||
msgid "%d useless nonterminal"
|
||||
msgid_plural "%d useless nonterminals"
|
||||
msgstr[0] "%d nutzloses Nicht-Terminal"
|
||||
msgstr[1] "%d nutzlose Nicht-Terminale"
|
||||
|
||||
#: src/reduce.c:401
|
||||
#: src/reduce.c:402
|
||||
msgid " and "
|
||||
msgstr " und "
|
||||
|
||||
#: src/reduce.c:404
|
||||
#: src/reduce.c:405
|
||||
#, c-format
|
||||
msgid "%d useless rule"
|
||||
msgid_plural "%d useless rules"
|
||||
@@ -426,76 +404,70 @@ msgstr[1] "%d nutzlose Regeln"
|
||||
msgid "start symbol %s does not derive any sentence"
|
||||
msgstr "es lassen sich keine Sätze vom Startsymbol %s ableiten"
|
||||
|
||||
#: scan-gram.l:211
|
||||
#: src/scan-gram.l:157
|
||||
msgid "stray `,' treated as white space"
|
||||
msgstr "überzähliges »,« als Freiraum betrachtet"
|
||||
|
||||
#: src/scan-gram.l:216
|
||||
#, c-format
|
||||
msgid ": invalid character: `%c'\n"
|
||||
msgstr ": ungültiges Zeichen: »%c«\n"
|
||||
msgid "invalid directive: %s"
|
||||
msgstr "ungültige Direktive: %s"
|
||||
|
||||
#: scan-gram.l:255
|
||||
msgid ": unexpected end of file in a comment\n"
|
||||
msgstr ": Datei endet unerwartet innerhalb eines Kommentars\n"
|
||||
|
||||
#: scan-gram.l:284 scan-gram.l:423
|
||||
msgid ": unexpected end of file in a string\n"
|
||||
msgstr ": Datei endet unerwartet innerhalb einer Zeichenkette\n"
|
||||
|
||||
#: scan-gram.l:322 scan-gram.l:394
|
||||
msgid ": unexpected end of file in a character\n"
|
||||
msgstr ": Datei endet unerwartet innerhalb eines Zeichens\n"
|
||||
|
||||
#: scan-gram.l:343
|
||||
#: src/scan-gram.l:236 src/scan-gram.l:785 src/scan-gram.l:853
|
||||
#, c-format
|
||||
msgid ": invalid escape: %s\n"
|
||||
msgstr ": unzulässiges Fluchtzeichen: %s\n"
|
||||
msgid "integer out of range: %s"
|
||||
msgstr "Ganzzahl außerhalb des Wertebereichs: %s"
|
||||
|
||||
#: scan-gram.l:364
|
||||
#: src/scan-gram.l:281
|
||||
#, c-format
|
||||
msgid ": unrecognized escape: %s\n"
|
||||
msgstr ": unbekannt Fluchtzeichen: %s\n"
|
||||
msgid "invalid character: %s"
|
||||
msgstr "ungültiges Zeichen: %s"
|
||||
|
||||
#: scan-gram.l:485
|
||||
msgid ": unexpected end of file in a braced code\n"
|
||||
msgstr ": Datei endet unerwartet innerhalb geklammerten Programmtexts\n"
|
||||
#: src/scan-gram.l:405 src/scan-gram.l:415 src/scan-gram.l:434
|
||||
#, c-format
|
||||
msgid "invalid escape sequence: %s"
|
||||
msgstr "unzulässiges Fluchtzeichen: %s"
|
||||
|
||||
#: scan-gram.l:514
|
||||
msgid ": unexpected end of file in a prologue\n"
|
||||
msgstr ": Datei endet unerwartet innerhalb eines Prologs\n"
|
||||
#: src/scan-gram.l:439
|
||||
#, c-format
|
||||
msgid "unrecognized escape sequence: %s"
|
||||
msgstr "unbekanntes Fluchtzeichen: %s"
|
||||
|
||||
#: scan-gram.l:572
|
||||
#: src/scan-gram.l:524
|
||||
#, c-format
|
||||
msgid "missing `{' in `%s'"
|
||||
msgstr "fehlende »{« in »%s«"
|
||||
|
||||
#: src/scan-gram.l:757
|
||||
#, c-format
|
||||
msgid "$$ of `%s' has no declared type"
|
||||
msgstr "$$ von »%s« hat keinen deklarierten Typ"
|
||||
|
||||
#: scan-gram.l:584 scan-gram.l:666
|
||||
#, c-format
|
||||
msgid "invalid value: %s%d"
|
||||
msgstr "unzulässiger Wert: %s%d"
|
||||
|
||||
#: scan-gram.l:591
|
||||
#: src/scan-gram.l:776
|
||||
#, c-format
|
||||
msgid "$%d of `%s' has no declared type"
|
||||
msgstr "$%d von »%s« hat keinen deklarierten Typ"
|
||||
|
||||
#: scan-gram.l:602 scan-gram.l:619 scan-gram.l:673 scan-gram.l:690
|
||||
#: src/scan-gram.l:820 src/scan-gram.l:887
|
||||
#, c-format
|
||||
msgid "%s is invalid"
|
||||
msgstr "%s ist unzulässig"
|
||||
msgid "invalid value: %s"
|
||||
msgstr "unzulässiger Wert: %s"
|
||||
|
||||
#: src/state.c:145
|
||||
#: src/scan-gram.l:978
|
||||
#, c-format
|
||||
msgid "too many states (max %d)"
|
||||
msgstr "zu viele Zustände (max %d)"
|
||||
msgid "missing `%s' at end of file"
|
||||
msgstr "fehlendes »%s« am Ende der Datei"
|
||||
|
||||
#: src/symlist.c:97 src/symlist.c:109
|
||||
#: src/symlist.c:97 src/symlist.c:108
|
||||
msgid "invalid $ value"
|
||||
msgstr "unzulässiger $-Wert"
|
||||
|
||||
#: src/symtab.c:81
|
||||
#: src/symtab.c:84
|
||||
#, c-format
|
||||
msgid "type redeclaration for %s"
|
||||
msgstr "erneute Deklaration des Typs für %s"
|
||||
|
||||
#: src/symtab.c:98 src/symtab.c:117
|
||||
#: src/symtab.c:101 src/symtab.c:119
|
||||
#, c-format
|
||||
msgid "%s redeclaration for %s"
|
||||
msgstr "%s erneute Deklaration für %s"
|
||||
@@ -505,110 +477,110 @@ msgstr "%s erneute Deklaration für %s"
|
||||
msgid "redefining precedence of %s"
|
||||
msgstr "Vorrang von %s wird erneut definiert"
|
||||
|
||||
#: src/symtab.c:157
|
||||
#: src/symtab.c:156
|
||||
#, c-format
|
||||
msgid "symbol %s redefined"
|
||||
msgstr "Symbol %s noch einmal definiert"
|
||||
|
||||
#: src/symtab.c:180
|
||||
#: src/symtab.c:179
|
||||
#, c-format
|
||||
msgid "redefining user token number of %s"
|
||||
msgstr "Nutzertokennummer von %s erneut definiert"
|
||||
|
||||
#: src/symtab.c:225
|
||||
#: src/symtab.c:206
|
||||
#, c-format
|
||||
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
||||
msgstr ""
|
||||
"Symbol %s wird benutzt, ist aber nicht als Token definiert und hat keine "
|
||||
"Regel"
|
||||
|
||||
#: src/symtab.c:244
|
||||
#: src/symtab.c:231
|
||||
#, c-format
|
||||
msgid "symbol `%s' used more than once as a literal string"
|
||||
msgstr "Symbol »%s« wird mehr als einmal als literale Zeichenkette benutzt"
|
||||
|
||||
#: src/symtab.c:247
|
||||
#: src/symtab.c:234
|
||||
#, c-format
|
||||
msgid "symbol `%s' given more than one literal string"
|
||||
msgstr "Symbol »%s« wird mehr als eine literale Zeichenkette gegeben"
|
||||
|
||||
#: src/symtab.c:281
|
||||
#: src/symtab.c:270
|
||||
#, c-format
|
||||
msgid "conflicting precedences for %s and %s"
|
||||
msgstr "Vorrang für %s und %s widersprechen sich"
|
||||
|
||||
#: src/symtab.c:293
|
||||
#: src/symtab.c:282
|
||||
#, c-format
|
||||
msgid "conflicting associativities for %s (%s) and %s (%s)"
|
||||
msgstr "Assoziativitäts-Werte für %s (%s) und %s (%s) widersprechen sich"
|
||||
|
||||
#: src/symtab.c:363
|
||||
#: src/symtab.c:367
|
||||
#, c-format
|
||||
msgid "tokens %s and %s both assigned number %d"
|
||||
msgstr "Token %s und %s haben die selbe Nummer %d"
|
||||
|
||||
#: src/symtab.c:568
|
||||
#: src/symtab.c:590
|
||||
#, c-format
|
||||
msgid "the start symbol %s is undefined"
|
||||
msgstr "das Startsymbol %s ist undefiniert"
|
||||
|
||||
#: src/symtab.c:572
|
||||
#: src/symtab.c:594
|
||||
#, c-format
|
||||
msgid "the start symbol %s is a token"
|
||||
msgstr "das Startsymbol %s ist ein Token"
|
||||
|
||||
#: lib/argmatch.c:161
|
||||
#: lib/argmatch.c:129
|
||||
#, c-format
|
||||
msgid "invalid argument %s for %s"
|
||||
msgstr "unzulässiges Argument %s für %s"
|
||||
|
||||
#: lib/argmatch.c:162
|
||||
#: lib/argmatch.c:130
|
||||
#, c-format
|
||||
msgid "ambiguous argument %s for %s"
|
||||
msgstr "mehrdeutiges Argument %s für %s"
|
||||
|
||||
#: lib/argmatch.c:181
|
||||
#: lib/argmatch.c:149
|
||||
msgid "Valid arguments are:"
|
||||
msgstr "Gültige Argumente sind:"
|
||||
|
||||
#: lib/bitset_stats.c:235
|
||||
#: lib/bitset_stats.c:178
|
||||
#, c-format
|
||||
msgid "%u bitset_allocs, %u freed (%.2f%%).\n"
|
||||
msgstr "%u bitset_allocs, %u freigegeben (%.2f%%).\n"
|
||||
|
||||
#: lib/bitset_stats.c:238
|
||||
#: lib/bitset_stats.c:181
|
||||
#, c-format
|
||||
msgid "%u bitset_sets, %u cached (%.2f%%)\n"
|
||||
msgstr "%u bitset_sets, %u zwischengespeichert (%.2f%%)\n"
|
||||
|
||||
#: lib/bitset_stats.c:241
|
||||
#: lib/bitset_stats.c:184
|
||||
#, c-format
|
||||
msgid "%u bitset_resets, %u cached (%.2f%%)\n"
|
||||
msgstr "%u bitset_resets, %u zwischengespeichert (%.2f%%)\n"
|
||||
|
||||
#: lib/bitset_stats.c:244
|
||||
#: lib/bitset_stats.c:187
|
||||
#, c-format
|
||||
msgid "%u bitset_tests, %u cached (%.2f%%)\n"
|
||||
msgstr "%u bitset_tests, %u zwischengespeichert (%.2f%%)\n"
|
||||
|
||||
#: lib/bitset_stats.c:248
|
||||
#: lib/bitset_stats.c:191
|
||||
#, c-format
|
||||
msgid "%u bitset_lists\n"
|
||||
msgstr "%u bitset_lists\n"
|
||||
|
||||
#: lib/bitset_stats.c:250
|
||||
#: lib/bitset_stats.c:193
|
||||
msgid "count log histogram\n"
|
||||
msgstr "Zähler-Histogramm\n"
|
||||
|
||||
#: lib/bitset_stats.c:253
|
||||
#: lib/bitset_stats.c:196
|
||||
msgid "size log histogram\n"
|
||||
msgstr "Größe-Histogramm\n"
|
||||
|
||||
#: lib/bitset_stats.c:256
|
||||
#: lib/bitset_stats.c:199
|
||||
msgid "density histogram\n"
|
||||
msgstr "Dichte-Histogramm\n"
|
||||
|
||||
#: lib/bitset_stats.c:272
|
||||
#: lib/bitset_stats.c:213
|
||||
msgid ""
|
||||
"Bitset statistics:\n"
|
||||
"\n"
|
||||
@@ -616,94 +588,114 @@ msgstr ""
|
||||
"Bitset-Statistiken:\n"
|
||||
"\n"
|
||||
|
||||
#: lib/bitset_stats.c:275
|
||||
#: lib/bitset_stats.c:216
|
||||
#, c-format
|
||||
msgid "Accumulated runs = %u\n"
|
||||
msgstr "Gesammelte Durchläufe = %u\n"
|
||||
|
||||
#: lib/bitset_stats.c:320
|
||||
#: lib/bitset_stats.c:260 lib/bitset_stats.c:265
|
||||
msgid "Could not read stats file."
|
||||
msgstr "Konnte Statistik-Datei nicht lesen."
|
||||
|
||||
#: lib/bitset_stats.c:322
|
||||
#: lib/bitset_stats.c:262
|
||||
msgid "Bad stats file size.\n"
|
||||
msgstr "Ungültige Statistik-Datei-Größe.\n"
|
||||
|
||||
#: lib/bitset_stats.c:348
|
||||
#: lib/bitset_stats.c:288 lib/bitset_stats.c:290
|
||||
msgid "Could not write stats file."
|
||||
msgstr "Konnte Statistik-Datei nicht schreiben."
|
||||
|
||||
#: lib/bitset_stats.c:352
|
||||
#: lib/bitset_stats.c:293
|
||||
msgid "Could not open stats file for writing."
|
||||
msgstr "Konnte Statistik-Datei nicht zum Schreiben öffnen."
|
||||
|
||||
#: lib/getopt.c:662
|
||||
#: lib/getopt.c:688 lib/getopt.c:700
|
||||
#, c-format
|
||||
msgid "%s: option `%s' is ambiguous\n"
|
||||
msgstr "%s: Option »%s« ist mehrdeutig\n"
|
||||
|
||||
#: lib/getopt.c:687
|
||||
#: lib/getopt.c:733 lib/getopt.c:737
|
||||
#, c-format
|
||||
msgid "%s: option `--%s' doesn't allow an argument\n"
|
||||
msgstr "%s: Option »--%s« erlaubt kein Argument\n"
|
||||
|
||||
#: lib/getopt.c:692
|
||||
#: lib/getopt.c:746 lib/getopt.c:751
|
||||
#, c-format
|
||||
msgid "%s: option `%c%s' doesn't allow an argument\n"
|
||||
msgstr "%s: Option »%c%s« erlaubt kein Argument\n"
|
||||
|
||||
#: lib/getopt.c:710 lib/getopt.c:883
|
||||
#: lib/getopt.c:787 lib/getopt.c:800 lib/getopt.c:1089 lib/getopt.c:1102
|
||||
#, c-format
|
||||
msgid "%s: option `%s' requires an argument\n"
|
||||
msgstr "%s: Option »%s« erfordert ein Argument\n"
|
||||
|
||||
#: lib/getopt.c:739
|
||||
#: lib/getopt.c:838 lib/getopt.c:841
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `--%s'\n"
|
||||
msgstr "%s: unbekannte Option »--%s«\n"
|
||||
|
||||
#: lib/getopt.c:743
|
||||
#: lib/getopt.c:849 lib/getopt.c:852
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `%c%s'\n"
|
||||
msgstr "%s: unbekannte Option »%c%s«\n"
|
||||
|
||||
#: lib/getopt.c:769
|
||||
#: lib/getopt.c:899 lib/getopt.c:902
|
||||
#, c-format
|
||||
msgid "%s: illegal option -- %c\n"
|
||||
msgstr "%s: ungültige Option -- %c\n"
|
||||
|
||||
#: lib/getopt.c:772
|
||||
#: lib/getopt.c:908 lib/getopt.c:911
|
||||
#, c-format
|
||||
msgid "%s: invalid option -- %c\n"
|
||||
msgstr "%s: ungültige Option -- %c\n"
|
||||
|
||||
#: lib/getopt.c:802 lib/getopt.c:932
|
||||
#: lib/getopt.c:958 lib/getopt.c:969 lib/getopt.c:1155 lib/getopt.c:1168
|
||||
#, c-format
|
||||
msgid "%s: option requires an argument -- %c\n"
|
||||
msgstr "%s: Option erfordert ein Argument -- %c\n"
|
||||
|
||||
#: lib/getopt.c:849
|
||||
#: lib/getopt.c:1021 lib/getopt.c:1032
|
||||
#, c-format
|
||||
msgid "%s: option `-W %s' is ambiguous\n"
|
||||
msgstr "%s: Option »-W %s« ist mehrdeutig\n"
|
||||
|
||||
#: lib/getopt.c:867
|
||||
#: lib/getopt.c:1056 lib/getopt.c:1068
|
||||
#, c-format
|
||||
msgid "%s: option `-W %s' doesn't allow an argument\n"
|
||||
msgstr "%s: Option »-W %s« erlaubt kein Argument\n"
|
||||
|
||||
#: lib/obstack.c:496 lib/obstack.c:499 lib/xmalloc.c:66
|
||||
#: lib/obstack.c:487 lib/obstack.c:490 lib/xmalloc.c:63
|
||||
msgid "memory exhausted"
|
||||
msgstr "Speicher ausgeschöpft"
|
||||
|
||||
#: lib/quotearg.c:274
|
||||
#: lib/quotearg.c:236
|
||||
msgid "`"
|
||||
msgstr "»"
|
||||
|
||||
#: lib/quotearg.c:275
|
||||
#: lib/quotearg.c:237
|
||||
msgid "'"
|
||||
msgstr "«"
|
||||
|
||||
#: lib/subpipe.c:187
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' could not be invoked"
|
||||
msgstr "untergeordnetes Programm »%s« konnte nicht aufgerufen werden"
|
||||
|
||||
#: lib/subpipe.c:189
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' not found"
|
||||
msgstr "untergeordnetes Programm »%s« nicht gefunden"
|
||||
|
||||
#: lib/subpipe.c:191
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' failed"
|
||||
msgstr "untergeordnetes Programm »%s« fehlgeschlagen"
|
||||
|
||||
#: lib/subpipe.c:192
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' failed (exit status %d)"
|
||||
msgstr "untergeordnetes Programm »%s« fehlgeschlagen (Rückgabewert %d)"
|
||||
|
||||
#: lib/timevar.c:476
|
||||
msgid ""
|
||||
"\n"
|
||||
@@ -721,6 +713,62 @@ msgstr " ZUSAMMEN :"
|
||||
msgid "time in %s: %ld.%06ld (%ld%%)\n"
|
||||
msgstr "Zeit in %s: %ld.%06ld (%ld%%)\n"
|
||||
|
||||
#~ msgid "%d shift/reduce conflict"
|
||||
#~ msgid_plural "%d shift/reduce conflicts"
|
||||
#~ msgstr[0] "%d Schiebe/Reduziere-Konflikt"
|
||||
#~ msgstr[1] "%d Schiebe/Reduziere-Konflikte"
|
||||
|
||||
#~ msgid "and"
|
||||
#~ msgstr "und"
|
||||
|
||||
#~ msgid "conflicts: "
|
||||
#~ msgstr "Konflikte: "
|
||||
|
||||
#~ msgid "State %d contains "
|
||||
#~ msgstr "Zustand %d enthält "
|
||||
|
||||
#~ msgid "too many gotos (max %d)"
|
||||
#~ msgstr "zu viele Gotos (max %d)"
|
||||
|
||||
#~ msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||
#~ msgstr "zu viele Symbole (Token plus Nicht-Terminale); Maximum %d"
|
||||
|
||||
#~ msgid ": unexpected end of file in a comment\n"
|
||||
#~ msgstr ": Datei endet unerwartet innerhalb eines Kommentars\n"
|
||||
|
||||
#~ msgid ": unexpected end of file in a string\n"
|
||||
#~ msgstr ": Datei endet unerwartet innerhalb einer Zeichenkette\n"
|
||||
|
||||
#~ msgid ": unexpected end of file in a character\n"
|
||||
#~ msgstr ": Datei endet unerwartet innerhalb eines Zeichens\n"
|
||||
|
||||
#~ msgid ": unexpected end of file in a braced code\n"
|
||||
#~ msgstr ": Datei endet unerwartet innerhalb geklammerten Programmtexts\n"
|
||||
|
||||
#~ msgid ": unexpected end of file in a prologue\n"
|
||||
#~ msgstr ": Datei endet unerwartet innerhalb eines Prologs\n"
|
||||
|
||||
#~ msgid "%s is invalid"
|
||||
#~ msgstr "%s ist unzulässig"
|
||||
|
||||
#~ msgid "too many states (max %d)"
|
||||
#~ msgstr "zu viele Zustände (max %d)"
|
||||
|
||||
#~ msgid "%s: no grammar file given\n"
|
||||
#~ msgstr "%s: keine Grammatik-Datei angegeben\n"
|
||||
|
||||
#~ msgid "%s: extra arguments ignored after `%s'\n"
|
||||
#~ msgstr "%s: zusätzliche Argumente nach »%s« werden ignoriert\n"
|
||||
|
||||
#~ msgid "two @prec's in a row"
|
||||
#~ msgstr "zwei @prec-Anweisungen nacheinander"
|
||||
|
||||
#~ msgid "%%dprec affects only GLR parsers"
|
||||
#~ msgstr "%%dprec betrifft nur GLR-Parser"
|
||||
|
||||
#~ msgid "only one %%dprec allowed per rule"
|
||||
#~ msgstr "nur ein %%dprec pro Regel erlaubt"
|
||||
|
||||
#~ msgid "state_list_append (state = %d, symbol = %d (%s))\n"
|
||||
#~ msgstr "state_list_append (Zustand = %d, Symbol = %d (%s))\n"
|
||||
|
||||
@@ -813,9 +861,6 @@ msgstr "Zeit in %s: %ld.%06ld (%ld%%)\n"
|
||||
#~ msgid "shift"
|
||||
#~ msgstr "durch Schieben gelöst"
|
||||
|
||||
#~ msgid "an error"
|
||||
#~ msgstr "als Fehler betrachtet"
|
||||
|
||||
#~ msgid "%s contains "
|
||||
#~ msgstr "%s enthält "
|
||||
|
||||
@@ -893,9 +938,6 @@ msgstr "Zeit in %s: %ld.%06ld (%ld%%)\n"
|
||||
#~ msgid " Skipping to next %c"
|
||||
#~ msgstr " Überspringe Zeichen bis zum nächten %c"
|
||||
|
||||
#~ msgid "unterminated string at end of file"
|
||||
#~ msgstr "unbeendete Zeichenkette am Ende der Datei"
|
||||
|
||||
#~ msgid "unterminated string"
|
||||
#~ msgstr "unbeendete Zeichenkette"
|
||||
|
||||
@@ -959,9 +1001,6 @@ msgstr "Zeit in %s: %ld.%06ld (%ld%%)\n"
|
||||
#~ msgid "two actions at end of one rule"
|
||||
#~ msgstr "Zwei Aktionen am Ende einer Regel"
|
||||
|
||||
#~ msgid "invalid input: %s"
|
||||
#~ msgstr "ungültige Eingabe: %s"
|
||||
|
||||
#~ msgid "maximum table size (%d) exceeded"
|
||||
#~ msgstr "maximale Tabellengröße (%d) überschritten"
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU bison 1.49a\n"
|
||||
"POT-Creation-Date: 2002-10-14 14:47+0200\n"
|
||||
"POT-Creation-Date: 2003-01-01 01:28-0800\n"
|
||||
"PO-Revision-Date: 2002-05-02 10:19+0200\n"
|
||||
"Last-Translator: Nicolás García-Pedrajas <[email protected]>\n"
|
||||
"Language-Team: Spanish <[email protected]>\n"
|
||||
@@ -38,11 +38,11 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8-bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: src/complain.c:89 lib/error.c:128 lib/error.c:156
|
||||
#: src/complain.c:56 lib/error.c:135 lib/error.c:163
|
||||
msgid "Unknown system error"
|
||||
msgstr "Error del sistema desconocido"
|
||||
|
||||
#: src/complain.c:123 src/complain.c:152
|
||||
#: src/complain.c:79 src/complain.c:94
|
||||
msgid "warning: "
|
||||
msgstr "aviso: "
|
||||
|
||||
@@ -53,52 +53,35 @@ msgstr "aviso: "
|
||||
# La verdad es que a mi lo de error fatal me suena fatal
|
||||
# ngp
|
||||
#
|
||||
#: src/complain.c:252 src/complain.c:282
|
||||
#: src/complain.c:150 src/complain.c:166
|
||||
msgid "fatal error: "
|
||||
msgstr "error grave: "
|
||||
|
||||
#: src/conflicts.c:72
|
||||
#: src/conflicts.c:75
|
||||
#, fuzzy, c-format
|
||||
msgid " Conflict between rule %d and token %s resolved as shift"
|
||||
msgstr ""
|
||||
"El conflicto en el estado %d entre la regla %d y el terminal %s se resuelve "
|
||||
"como %s.\n"
|
||||
|
||||
#: src/conflicts.c:80
|
||||
#: src/conflicts.c:83
|
||||
#, fuzzy, c-format
|
||||
msgid " Conflict between rule %d and token %s resolved as reduce"
|
||||
msgstr ""
|
||||
"El conflicto en el estado %d entre la regla %d y el terminal %s se resuelve "
|
||||
"como %s.\n"
|
||||
|
||||
#: src/conflicts.c:87
|
||||
#: src/conflicts.c:90
|
||||
#, fuzzy, c-format
|
||||
msgid " Conflict between rule %d and token %s resolved as an error"
|
||||
msgstr ""
|
||||
"El conflicto en el estado %d entre la regla %d y el terminal %s se resuelve "
|
||||
"como %s.\n"
|
||||
|
||||
#: src/conflicts.c:402
|
||||
#: src/conflicts.c:398
|
||||
#, c-format
|
||||
msgid "%d shift/reduce conflict"
|
||||
msgid_plural "%d shift/reduce conflicts"
|
||||
msgstr[0] "%d conflicto desplazamiento/reducción"
|
||||
msgstr[1] "%d conflictos desplazamiento/reducción"
|
||||
|
||||
#: src/conflicts.c:409
|
||||
msgid "and"
|
||||
msgstr "y"
|
||||
|
||||
#: src/conflicts.c:415
|
||||
#, c-format
|
||||
msgid "%d reduce/reduce conflict"
|
||||
msgid_plural "%d reduce/reduce conflicts"
|
||||
msgstr[0] " %d conflicto reducción/reducción"
|
||||
msgstr[1] " %d conflictos reducción/reducción"
|
||||
|
||||
#: src/conflicts.c:435
|
||||
msgid "conflicts: "
|
||||
msgstr "conflictos: "
|
||||
msgid "conflicts: %d shift/reduce, %d reduce/reduce\n"
|
||||
msgstr ""
|
||||
|
||||
# Date cuenta de que `%d' puede ser cualquier número decimal. Podría
|
||||
# ocurrir, por lo tanto, que tu mensaje en ejecución se vea luego como:
|
||||
@@ -112,9 +95,9 @@ msgstr "conflictos: "
|
||||
# ok
|
||||
# ngp
|
||||
#
|
||||
#: src/conflicts.c:437
|
||||
#, c-format
|
||||
msgid " %d shift/reduce"
|
||||
#: src/conflicts.c:401
|
||||
#, fuzzy, c-format
|
||||
msgid "conflicts: %d shift/reduce\n"
|
||||
msgstr " %d desplazamiento(s)/reducción(ones)"
|
||||
|
||||
# Date cuenta de que `%d' puede ser cualquier número decimal. Podría
|
||||
@@ -129,42 +112,62 @@ msgstr " %d desplazamiento(s)/reducci
|
||||
#
|
||||
# ok
|
||||
# ngp
|
||||
#: src/conflicts.c:441
|
||||
#, c-format
|
||||
msgid " %d reduce/reduce"
|
||||
#: src/conflicts.c:403
|
||||
#, fuzzy, c-format
|
||||
msgid "conflicts: %d reduce/reduce\n"
|
||||
msgstr " %d reducción(ones)/reducción(ones)"
|
||||
|
||||
#: src/conflicts.c:460
|
||||
#, c-format
|
||||
msgid "State %d contains "
|
||||
msgstr "El estado %d contiene"
|
||||
#: src/conflicts.c:421
|
||||
#, fuzzy, c-format
|
||||
msgid "State %d "
|
||||
msgstr "estado %d"
|
||||
|
||||
#: src/conflicts.c:537
|
||||
#: src/conflicts.c:498
|
||||
#, fuzzy, c-format
|
||||
msgid "expected %d shift/reduce conflict"
|
||||
msgid_plural "expected %d shift/reduce conflicts"
|
||||
msgstr[0] "esperado: %d conflicto desplazamiento/reducción\n"
|
||||
msgstr[1] "esperados: %d conflictos desplazamiento/reducción\n"
|
||||
|
||||
#: src/files.c:114
|
||||
#: src/conflicts.c:503
|
||||
#, fuzzy
|
||||
msgid "expected 0 reduce/reduce conflicts"
|
||||
msgstr " %d conflicto reducción/reducción"
|
||||
|
||||
#: src/files.c:99
|
||||
#, c-format
|
||||
msgid "cannot open file `%s'"
|
||||
msgstr "no se puede abrir el fichero `%s'"
|
||||
|
||||
#: src/files.c:133
|
||||
#: src/files.c:115
|
||||
#, fuzzy
|
||||
msgid "I/O error"
|
||||
msgstr "un error"
|
||||
|
||||
#: src/files.c:118
|
||||
msgid "cannot close file"
|
||||
msgstr "no se puede cerrar el fichero"
|
||||
|
||||
#: src/getargs.c:157
|
||||
#: src/files.c:336
|
||||
#, fuzzy, c-format
|
||||
msgid "conflicting outputs to file %s"
|
||||
msgstr "conflicto de valores assoc para %s y %s"
|
||||
|
||||
#: src/getargs.c:182
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information.\n"
|
||||
msgstr "Pruebe `%s --help' para más información.\n"
|
||||
|
||||
#: src/getargs.c:188
|
||||
msgid "GNU bison generates parsers for LALR(1) grammars.\n"
|
||||
msgstr "GNU bison genera analizadores para gramáticas LALR(1).\n"
|
||||
|
||||
#: src/getargs.c:161
|
||||
#: src/getargs.c:192
|
||||
#, c-format
|
||||
msgid "Usage: %s [OPTION]... FILE\n"
|
||||
msgstr "Utilización: %s [OPCIÓN]... FICHERO\n"
|
||||
|
||||
#: src/getargs.c:165
|
||||
#: src/getargs.c:196
|
||||
msgid ""
|
||||
"If a long option shows an argument as mandatory, then it is mandatory\n"
|
||||
"for the equivalent short option also. Similarly for optional arguments.\n"
|
||||
@@ -174,7 +177,7 @@ msgstr ""
|
||||
"para la opción corta equivalente también. De igual forma para los argumentos "
|
||||
"opcionales.\n"
|
||||
|
||||
#: src/getargs.c:171
|
||||
#: src/getargs.c:202
|
||||
msgid ""
|
||||
"Operation modes:\n"
|
||||
" -h, --help display this help and exit\n"
|
||||
@@ -186,7 +189,7 @@ msgstr ""
|
||||
" -V, --version informa de la versión y termina\n"
|
||||
" -y, --yacc emula POSIX yacc\n"
|
||||
|
||||
#: src/getargs.c:178
|
||||
#: src/getargs.c:209
|
||||
msgid ""
|
||||
"Parser:\n"
|
||||
" -S, --skeleton=FILE specify the skeleton to use\n"
|
||||
@@ -206,7 +209,7 @@ msgstr ""
|
||||
" -n, --no-parser solamente genera las tablas\n"
|
||||
" --k, --token-table incluye una tabla de nombres de terminales\n"
|
||||
|
||||
#: src/getargs.c:190
|
||||
#: src/getargs.c:221
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Output:\n"
|
||||
@@ -227,7 +230,7 @@ msgstr ""
|
||||
" -g, --graph también produce una descripción en VCG del "
|
||||
"automaton\n"
|
||||
|
||||
#: src/getargs.c:201
|
||||
#: src/getargs.c:232
|
||||
msgid ""
|
||||
"THINGS is a list of comma separated words that can include:\n"
|
||||
" `state' describe the states\n"
|
||||
@@ -238,25 +241,25 @@ msgid ""
|
||||
" `none' disable the report\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:212
|
||||
#: src/getargs.c:243
|
||||
msgid "Report bugs to <[email protected]>.\n"
|
||||
msgstr "Informe de los errores a <[email protected]>.\n"
|
||||
|
||||
#: src/getargs.c:226
|
||||
#: src/getargs.c:260
|
||||
#, c-format
|
||||
msgid "bison (GNU Bison) %s"
|
||||
msgstr "bison (GNU bison) %s"
|
||||
|
||||
#: src/getargs.c:228
|
||||
#: src/getargs.c:262
|
||||
msgid "Written by Robert Corbett and Richard Stallman.\n"
|
||||
msgstr "Escrito por Robert Corbett y Richard Stallman.\n"
|
||||
|
||||
#: src/getargs.c:232
|
||||
#: src/getargs.c:266
|
||||
#, c-format
|
||||
msgid "Copyright (C) %d Free Software Foundation, Inc.\n"
|
||||
msgstr "Copyright (C) %d Free Software Foundation, Inc.\n"
|
||||
|
||||
#: src/getargs.c:234
|
||||
#: src/getargs.c:268
|
||||
msgid ""
|
||||
"This is free software; see the source for copying conditions. There is NO\n"
|
||||
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
|
||||
@@ -266,71 +269,62 @@ msgstr ""
|
||||
"NINGUNA garantía; ni siquiera para COMERCIALIZACIÓN o ADAPTACIÓN PARA UN\n"
|
||||
"USO PARTICULAR\n"
|
||||
|
||||
#: src/getargs.c:395
|
||||
#: src/getargs.c:424
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information.\n"
|
||||
msgstr "Pruebe `%s --help' para más información.\n"
|
||||
msgid "missing operand after `%s'"
|
||||
msgstr ""
|
||||
|
||||
# Me parece menos "computadora" decir "ningún fichero de gramática" - cll
|
||||
#
|
||||
#: src/getargs.c:402
|
||||
#: src/getargs.c:426
|
||||
#, c-format
|
||||
msgid "%s: no grammar file given\n"
|
||||
msgstr "%s: no se ha especificado ningún fichero de gramática\n"
|
||||
msgid "extra operand `%s'"
|
||||
msgstr ""
|
||||
|
||||
# Ignorar es no saber, to ignore es no hacer caso, que no es lo mismo. sv
|
||||
#: src/getargs.c:406
|
||||
#, c-format
|
||||
msgid "%s: extra arguments ignored after `%s'\n"
|
||||
msgstr "%s: los argumentos extra después de '%s' no se tendrán en cuenta\n"
|
||||
|
||||
#: src/gram.c:139
|
||||
#: src/gram.c:142
|
||||
msgid "empty"
|
||||
msgstr "vacío"
|
||||
|
||||
#: src/gram.c:233
|
||||
#: src/gram.c:236
|
||||
msgid "Grammar"
|
||||
msgstr "Gramática"
|
||||
|
||||
#: src/gram.c:321 src/reduce.c:302 src/reduce.c:392
|
||||
#: src/gram.c:324 src/reduce.c:393
|
||||
#, fuzzy
|
||||
msgid "warning"
|
||||
msgstr "aviso: "
|
||||
|
||||
#: src/lalr.c:91
|
||||
#, c-format
|
||||
msgid "too many gotos (max %d)"
|
||||
msgstr "demasiados gotos (máximo %d)"
|
||||
|
||||
#: src/main.c:117
|
||||
#: src/main.c:124
|
||||
msgid "rule never reduced because of conflicts"
|
||||
msgstr ""
|
||||
|
||||
#: parse-gram.y:347
|
||||
#: src/parse-gram.y:334
|
||||
msgid "POSIX forbids declarations in the grammar"
|
||||
msgstr ""
|
||||
|
||||
#: src/print.c:46
|
||||
#: src/parse-gram.y:457
|
||||
msgid "missing identifier in parameter declaration"
|
||||
msgstr ""
|
||||
|
||||
#: src/print.c:48
|
||||
#, c-format
|
||||
msgid " type %d is %s\n"
|
||||
msgstr " el tipo %d es %s\n"
|
||||
|
||||
#: src/print.c:162
|
||||
#: src/print.c:164
|
||||
#, fuzzy, c-format
|
||||
msgid "shift, and go to state %d\n"
|
||||
msgstr " %-4s\tdesplazar e ir al estado %d\n"
|
||||
|
||||
#: src/print.c:164
|
||||
#: src/print.c:166
|
||||
#, fuzzy, c-format
|
||||
msgid "go to state %d\n"
|
||||
msgstr " %-4s\tir al estado %d\n"
|
||||
|
||||
#: src/print.c:201
|
||||
#: src/print.c:203
|
||||
#, fuzzy
|
||||
msgid "error (nonassociative)\n"
|
||||
msgstr "%-4s\terror (no asociativo)"
|
||||
|
||||
#: src/print.c:290
|
||||
#: src/print.c:291
|
||||
#, fuzzy, c-format
|
||||
msgid "reduce using rule %d (%s)"
|
||||
msgstr "$default\treduce usando la regla %d (%s)"
|
||||
@@ -348,133 +342,114 @@ msgstr ""
|
||||
msgid "state %d"
|
||||
msgstr "estado %d"
|
||||
|
||||
#: src/print.c:456
|
||||
#: src/print.c:455
|
||||
msgid "Terminals, with rules where they appear"
|
||||
msgstr "Terminales con las reglas donde aparecen"
|
||||
|
||||
#: src/print.c:483
|
||||
#: src/print.c:482
|
||||
msgid "Nonterminals, with rules where they appear"
|
||||
msgstr "No terminales con las reglas donde aparecen"
|
||||
|
||||
#: src/print.c:512
|
||||
#: src/print.c:511
|
||||
msgid " on left:"
|
||||
msgstr " en la izquierda:"
|
||||
|
||||
#: src/print.c:527
|
||||
#: src/print.c:526
|
||||
msgid " on right:"
|
||||
msgstr " en la derecha:"
|
||||
|
||||
#: src/print.c:555
|
||||
#: src/print.c:554
|
||||
#, fuzzy
|
||||
msgid "Rules never reduced"
|
||||
msgstr "%d regla que nunca se ha reducido\n"
|
||||
|
||||
#: src/reader.c:52
|
||||
#: src/reader.c:53
|
||||
#, c-format
|
||||
msgid "multiple %s declarations"
|
||||
msgstr "múltiples declaraciones de %s"
|
||||
|
||||
#: src/reader.c:141
|
||||
#: src/reader.c:138
|
||||
#, c-format
|
||||
msgid "result type clash on merge function %s: `%s' vs. `%s'"
|
||||
msgid "result type clash on merge function %s: <%s> != <%s>"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:239
|
||||
#: src/reader.c:236
|
||||
#, c-format
|
||||
msgid "rule given for %s, which is a token"
|
||||
msgstr "se ha dado una regla para %s, que es un terminal"
|
||||
|
||||
#: src/reader.c:268
|
||||
#, c-format
|
||||
msgid "type clash (`%s' `%s') on default action"
|
||||
#: src/reader.c:265
|
||||
#, fuzzy, c-format
|
||||
msgid "type clash on default action: <%s> != <%s>"
|
||||
msgstr "los tipos (`%s' `%s') no concuerdan en la acción por defecto"
|
||||
|
||||
#: src/reader.c:274
|
||||
#: src/reader.c:271
|
||||
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"
|
||||
|
||||
#: src/reader.c:344
|
||||
msgid "two @prec's in a row"
|
||||
msgstr "dos @prec en una línea"
|
||||
|
||||
#: src/reader.c:354
|
||||
#: src/reader.c:341 src/reader.c:355 src/reader.c:368
|
||||
#, c-format
|
||||
msgid "%%dprec affects only GLR parsers"
|
||||
msgid "only one %s allowed per rule"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:356
|
||||
#: src/reader.c:351 src/reader.c:366
|
||||
#, c-format
|
||||
msgid "%%dprec must be followed by positive number"
|
||||
msgid "%s affects only GLR parsers"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:358
|
||||
#: src/reader.c:353
|
||||
#, c-format
|
||||
msgid "only one %%dprec allowed per rule"
|
||||
msgid "%s must be followed by positive number"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:369
|
||||
#, c-format
|
||||
msgid "%%merge affects only GLR parsers"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:371
|
||||
#, c-format
|
||||
msgid "only one %%merge allowed per rule"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:514
|
||||
#: src/reader.c:510
|
||||
msgid "no rules in the input grammar"
|
||||
msgstr "no hay reglas en la gramática de entrada"
|
||||
|
||||
#: src/reader.c:546
|
||||
#, c-format
|
||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||
msgstr "demasiados símbolos (terminales y no terminales); máximo %d"
|
||||
|
||||
#: src/reduce.c:239
|
||||
#: src/reduce.c:241
|
||||
#, fuzzy
|
||||
msgid "useless rule"
|
||||
msgstr "%d regla sin uso"
|
||||
|
||||
#: src/reduce.c:302
|
||||
#, fuzzy
|
||||
msgid "useless nonterminal"
|
||||
msgstr "%d no terminal sin uso"
|
||||
#, fuzzy, c-format
|
||||
msgid "useless nonterminal: %s"
|
||||
msgstr "No terminales sin uso:"
|
||||
|
||||
#: src/reduce.c:349
|
||||
#: src/reduce.c:350
|
||||
#, fuzzy
|
||||
msgid "Useless nonterminals"
|
||||
msgstr "No terminales sin uso:"
|
||||
|
||||
#: src/reduce.c:362
|
||||
#: src/reduce.c:363
|
||||
#, fuzzy
|
||||
msgid "Terminals which are not used"
|
||||
msgstr "Terminales que no se usan:"
|
||||
|
||||
#: src/reduce.c:371
|
||||
#: src/reduce.c:372
|
||||
#, fuzzy
|
||||
msgid "Useless rules"
|
||||
msgstr "Reglas sin uso:"
|
||||
|
||||
#: src/reduce.c:387
|
||||
#: src/reduce.c:388
|
||||
#, c-format
|
||||
msgid "%d rule never reduced\n"
|
||||
msgid_plural "%d rules never reduced\n"
|
||||
msgstr[0] "%d regla que nunca se ha reducido\n"
|
||||
msgstr[1] "%d reglas que nunca se han reducido\n"
|
||||
|
||||
#: src/reduce.c:395
|
||||
#: src/reduce.c:396
|
||||
#, c-format
|
||||
msgid "%d useless nonterminal"
|
||||
msgid_plural "%d useless nonterminals"
|
||||
msgstr[0] "%d no terminal sin uso"
|
||||
msgstr[1] "%d no terminales sin uso"
|
||||
|
||||
#: src/reduce.c:401
|
||||
#: src/reduce.c:402
|
||||
msgid " and "
|
||||
msgstr " y "
|
||||
|
||||
#: src/reduce.c:404
|
||||
#: src/reduce.c:405
|
||||
#, c-format
|
||||
msgid "%d useless rule"
|
||||
msgid_plural "%d useless rules"
|
||||
@@ -486,81 +461,70 @@ msgstr[1] "%d reglas sin uso"
|
||||
msgid "start symbol %s does not derive any sentence"
|
||||
msgstr "El símbolo de inicio (axioma) %s no deriva ninguna sentencia"
|
||||
|
||||
#: scan-gram.l:211
|
||||
#, c-format
|
||||
msgid ": invalid character: `%c'\n"
|
||||
#: src/scan-gram.l:157
|
||||
msgid "stray `,' treated as white space"
|
||||
msgstr ""
|
||||
|
||||
#: scan-gram.l:255
|
||||
#, fuzzy
|
||||
msgid ": unexpected end of file in a comment\n"
|
||||
msgstr "fin de fichero inesperado"
|
||||
|
||||
#: scan-gram.l:284 scan-gram.l:423
|
||||
#, fuzzy
|
||||
msgid ": unexpected end of file in a string\n"
|
||||
msgstr "fin de fichero inesperado"
|
||||
|
||||
#: scan-gram.l:322 scan-gram.l:394
|
||||
#, fuzzy
|
||||
msgid ": unexpected end of file in a character\n"
|
||||
msgstr "fin de fichero inesperado"
|
||||
|
||||
#: scan-gram.l:343
|
||||
#: src/scan-gram.l:216
|
||||
#, fuzzy, c-format
|
||||
msgid ": invalid escape: %s\n"
|
||||
msgid "invalid directive: %s"
|
||||
msgstr "entrada no válida: %s"
|
||||
|
||||
#: src/scan-gram.l:236 src/scan-gram.l:785 src/scan-gram.l:853
|
||||
#, c-format
|
||||
msgid "integer out of range: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/scan-gram.l:281
|
||||
#, fuzzy, c-format
|
||||
msgid "invalid character: %s"
|
||||
msgstr "carácter desconocido: %s"
|
||||
|
||||
#: src/scan-gram.l:405 src/scan-gram.l:415 src/scan-gram.l:434
|
||||
#, fuzzy, c-format
|
||||
msgid "invalid escape sequence: %s"
|
||||
msgstr "valor no válido: %s%d"
|
||||
|
||||
#: scan-gram.l:364
|
||||
#: src/scan-gram.l:439
|
||||
#, fuzzy, c-format
|
||||
msgid ": unrecognized escape: %s\n"
|
||||
msgid "unrecognized escape sequence: %s"
|
||||
msgstr "no reconocido: %s"
|
||||
|
||||
#: scan-gram.l:485
|
||||
#, fuzzy
|
||||
msgid ": unexpected end of file in a braced code\n"
|
||||
msgstr "fin de fichero inesperado"
|
||||
#: src/scan-gram.l:524
|
||||
#, c-format
|
||||
msgid "missing `{' in `%s'"
|
||||
msgstr ""
|
||||
|
||||
#: scan-gram.l:514
|
||||
#, fuzzy
|
||||
msgid ": unexpected end of file in a prologue\n"
|
||||
msgstr "fin de fichero inesperado"
|
||||
|
||||
#: scan-gram.l:572
|
||||
#: src/scan-gram.l:757
|
||||
#, c-format
|
||||
msgid "$$ of `%s' has no declared type"
|
||||
msgstr "$$ de `%s' no tiene tipo declarado"
|
||||
|
||||
#: scan-gram.l:584 scan-gram.l:666
|
||||
#, c-format
|
||||
msgid "invalid value: %s%d"
|
||||
msgstr "valor no válido: %s%d"
|
||||
|
||||
#: scan-gram.l:591
|
||||
#: src/scan-gram.l:776
|
||||
#, c-format
|
||||
msgid "$%d of `%s' has no declared type"
|
||||
msgstr "$%d de `%s' no tiene tipo declarado"
|
||||
|
||||
#: scan-gram.l:602 scan-gram.l:619 scan-gram.l:673 scan-gram.l:690
|
||||
#, c-format
|
||||
msgid "%s is invalid"
|
||||
msgstr "%s no es válido"
|
||||
#: src/scan-gram.l:820 src/scan-gram.l:887
|
||||
#, fuzzy, c-format
|
||||
msgid "invalid value: %s"
|
||||
msgstr "valor no válido: %s%d"
|
||||
|
||||
#: src/state.c:145
|
||||
#, c-format
|
||||
msgid "too many states (max %d)"
|
||||
msgstr "demasiados estados (máximo %d)"
|
||||
#: src/scan-gram.l:978
|
||||
#, fuzzy, c-format
|
||||
msgid "missing `%s' at end of file"
|
||||
msgstr "cadena sin terminar al final del fichero"
|
||||
|
||||
#: src/symlist.c:97 src/symlist.c:109
|
||||
#: src/symlist.c:97 src/symlist.c:108
|
||||
msgid "invalid $ value"
|
||||
msgstr "valor $ no válido"
|
||||
|
||||
#: src/symtab.c:81
|
||||
#: src/symtab.c:84
|
||||
#, c-format
|
||||
msgid "type redeclaration for %s"
|
||||
msgstr "redeclaración del tipo de %s"
|
||||
|
||||
#: src/symtab.c:98 src/symtab.c:117
|
||||
#: src/symtab.c:101 src/symtab.c:119
|
||||
#, fuzzy, c-format
|
||||
msgid "%s redeclaration for %s"
|
||||
msgstr "redeclaración del tipo de %s"
|
||||
@@ -570,12 +534,12 @@ msgstr "redeclaraci
|
||||
msgid "redefining precedence of %s"
|
||||
msgstr "redefinición de la precedencia de %s"
|
||||
|
||||
#: src/symtab.c:157
|
||||
#: src/symtab.c:156
|
||||
#, c-format
|
||||
msgid "symbol %s redefined"
|
||||
msgstr "redefinido el símbolo %s"
|
||||
|
||||
#: src/symtab.c:180
|
||||
#: src/symtab.c:179
|
||||
#, fuzzy, c-format
|
||||
msgid "redefining user token number of %s"
|
||||
msgstr "redefinición de la precedencia de %s"
|
||||
@@ -583,152 +547,152 @@ msgstr "redefinici
|
||||
# `token' se debe traducir como `literal' - cll
|
||||
# en terminología de compiladores token es más un terminal - ngp
|
||||
#
|
||||
#: src/symtab.c:225
|
||||
#: src/symtab.c:206
|
||||
#, c-format
|
||||
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
||||
msgstr ""
|
||||
"se usa el símbolo %s, pero no está definido como terminal y no tiene reglas"
|
||||
|
||||
#: src/symtab.c:244
|
||||
#: src/symtab.c:231
|
||||
#, c-format
|
||||
msgid "symbol `%s' used more than once as a literal string"
|
||||
msgstr "símbolo `%s' utilizado más de una vez como cadena literal"
|
||||
|
||||
#: src/symtab.c:247
|
||||
#: src/symtab.c:234
|
||||
#, c-format
|
||||
msgid "symbol `%s' given more than one literal string"
|
||||
msgstr "al símbolo `%s' se le ha dado más de una cadena literal"
|
||||
|
||||
#: src/symtab.c:281
|
||||
#: src/symtab.c:270
|
||||
#, c-format
|
||||
msgid "conflicting precedences for %s and %s"
|
||||
msgstr "precedencias en conflicto entre %s y %s"
|
||||
|
||||
#: src/symtab.c:293
|
||||
#: src/symtab.c:282
|
||||
#, fuzzy, c-format
|
||||
msgid "conflicting associativities for %s (%s) and %s (%s)"
|
||||
msgstr "conflicto de valores assoc para %s y %s"
|
||||
|
||||
#: src/symtab.c:363
|
||||
#: src/symtab.c:367
|
||||
#, c-format
|
||||
msgid "tokens %s and %s both assigned number %d"
|
||||
msgstr "los terminales %s y %s tienen asignados ambos el número %d"
|
||||
|
||||
#: src/symtab.c:568
|
||||
#: src/symtab.c:590
|
||||
#, c-format
|
||||
msgid "the start symbol %s is undefined"
|
||||
msgstr "el símbolo de inicio (axioma) %s no está definido"
|
||||
|
||||
#: src/symtab.c:572
|
||||
#: src/symtab.c:594
|
||||
#, c-format
|
||||
msgid "the start symbol %s is a token"
|
||||
msgstr "el símbolo de inicio (axioma) %s es un terminal"
|
||||
|
||||
#: lib/argmatch.c:161
|
||||
#: lib/argmatch.c:129
|
||||
#, fuzzy, c-format
|
||||
msgid "invalid argument %s for %s"
|
||||
msgstr "valor no válido: %s%d"
|
||||
|
||||
#: lib/argmatch.c:162
|
||||
#: lib/argmatch.c:130
|
||||
#, c-format
|
||||
msgid "ambiguous argument %s for %s"
|
||||
msgstr ""
|
||||
|
||||
#: lib/argmatch.c:181
|
||||
#: lib/argmatch.c:149
|
||||
msgid "Valid arguments are:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:235
|
||||
#: lib/bitset_stats.c:178
|
||||
#, c-format
|
||||
msgid "%u bitset_allocs, %u freed (%.2f%%).\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:238
|
||||
#: lib/bitset_stats.c:181
|
||||
#, c-format
|
||||
msgid "%u bitset_sets, %u cached (%.2f%%)\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:241
|
||||
#: lib/bitset_stats.c:184
|
||||
#, c-format
|
||||
msgid "%u bitset_resets, %u cached (%.2f%%)\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:244
|
||||
#: lib/bitset_stats.c:187
|
||||
#, c-format
|
||||
msgid "%u bitset_tests, %u cached (%.2f%%)\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:248
|
||||
#: lib/bitset_stats.c:191
|
||||
#, c-format
|
||||
msgid "%u bitset_lists\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:250
|
||||
#: lib/bitset_stats.c:193
|
||||
msgid "count log histogram\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:253
|
||||
#: lib/bitset_stats.c:196
|
||||
msgid "size log histogram\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:256
|
||||
#: lib/bitset_stats.c:199
|
||||
msgid "density histogram\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:272
|
||||
#: lib/bitset_stats.c:213
|
||||
msgid ""
|
||||
"Bitset statistics:\n"
|
||||
"\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:275
|
||||
#: lib/bitset_stats.c:216
|
||||
#, c-format
|
||||
msgid "Accumulated runs = %u\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:320
|
||||
#: lib/bitset_stats.c:260 lib/bitset_stats.c:265
|
||||
msgid "Could not read stats file."
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:322
|
||||
#: lib/bitset_stats.c:262
|
||||
msgid "Bad stats file size.\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:348
|
||||
#: lib/bitset_stats.c:288 lib/bitset_stats.c:290
|
||||
msgid "Could not write stats file."
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:352
|
||||
#: lib/bitset_stats.c:293
|
||||
msgid "Could not open stats file for writing."
|
||||
msgstr ""
|
||||
|
||||
#: lib/getopt.c:662
|
||||
#: lib/getopt.c:688 lib/getopt.c:700
|
||||
#, c-format
|
||||
msgid "%s: option `%s' is ambiguous\n"
|
||||
msgstr "%s: la opción `%s' es ambigua\n"
|
||||
|
||||
# Pongo esto como en otros .po. sv
|
||||
#: lib/getopt.c:687
|
||||
#: lib/getopt.c:733 lib/getopt.c:737
|
||||
#, c-format
|
||||
msgid "%s: option `--%s' doesn't allow an argument\n"
|
||||
msgstr "%s: la opción `--%s' no admite ningún argumento\n"
|
||||
|
||||
#: lib/getopt.c:692
|
||||
#: lib/getopt.c:746 lib/getopt.c:751
|
||||
#, c-format
|
||||
msgid "%s: option `%c%s' doesn't allow an argument\n"
|
||||
msgstr "%s: la opción `%c%s' no admite ningún argumento\n"
|
||||
|
||||
#: lib/getopt.c:710 lib/getopt.c:883
|
||||
#: lib/getopt.c:787 lib/getopt.c:800 lib/getopt.c:1089 lib/getopt.c:1102
|
||||
#, c-format
|
||||
msgid "%s: option `%s' requires an argument\n"
|
||||
msgstr "%s: la opción `%s' requiere un argumento\n"
|
||||
|
||||
#: lib/getopt.c:739
|
||||
#: lib/getopt.c:838 lib/getopt.c:841
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `--%s'\n"
|
||||
msgstr "%s: opción `--%s' no reconocida\n"
|
||||
|
||||
#: lib/getopt.c:743
|
||||
#: lib/getopt.c:849 lib/getopt.c:852
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `%c%s'\n"
|
||||
msgstr "%s: opción `%c%s' no reconocida\n"
|
||||
@@ -750,7 +714,7 @@ msgstr "%s: opci
|
||||
# haber opciones ilegales, digo yo, y no por eso las CPUs van
|
||||
# a la cárcel (como mucho se cuelgan, je, je, 0ff0 :-). sv
|
||||
#
|
||||
#: lib/getopt.c:769
|
||||
#: lib/getopt.c:899 lib/getopt.c:902
|
||||
#, c-format
|
||||
msgid "%s: illegal option -- %c\n"
|
||||
msgstr "%s: opción -- %c ilegal\n"
|
||||
@@ -760,39 +724,59 @@ msgstr "%s: opci
|
||||
# Porque Enrique decía que le recordaba a disminuidos físicos.
|
||||
# Francamente, no creo que haya que andar con estas "fobias".
|
||||
# Pongo inválida. sv
|
||||
#: lib/getopt.c:772
|
||||
#: lib/getopt.c:908 lib/getopt.c:911
|
||||
#, c-format
|
||||
msgid "%s: invalid option -- %c\n"
|
||||
msgstr "%s: opción -- %c no válida\n"
|
||||
|
||||
#: lib/getopt.c:802 lib/getopt.c:932
|
||||
#: lib/getopt.c:958 lib/getopt.c:969 lib/getopt.c:1155 lib/getopt.c:1168
|
||||
#, c-format
|
||||
msgid "%s: option requires an argument -- %c\n"
|
||||
msgstr "%s: la opción -- %c requiere un argumento\n"
|
||||
|
||||
#: lib/getopt.c:849
|
||||
#: lib/getopt.c:1021 lib/getopt.c:1032
|
||||
#, c-format
|
||||
msgid "%s: option `-W %s' is ambiguous\n"
|
||||
msgstr "%s: la opción `-W %s' es ambigua\n"
|
||||
|
||||
# Pongo esto como en otros .po. sv
|
||||
#: lib/getopt.c:867
|
||||
#: lib/getopt.c:1056 lib/getopt.c:1068
|
||||
#, c-format
|
||||
msgid "%s: option `-W %s' doesn't allow an argument\n"
|
||||
msgstr "%s: la opción `-W %s' no admite ningún argumento\n"
|
||||
|
||||
#: lib/obstack.c:496 lib/obstack.c:499 lib/xmalloc.c:66
|
||||
#: lib/obstack.c:487 lib/obstack.c:490 lib/xmalloc.c:63
|
||||
msgid "memory exhausted"
|
||||
msgstr "memoria agotada"
|
||||
|
||||
#: lib/quotearg.c:274
|
||||
#: lib/quotearg.c:236
|
||||
msgid "`"
|
||||
msgstr "`"
|
||||
|
||||
#: lib/quotearg.c:275
|
||||
#: lib/quotearg.c:237
|
||||
msgid "'"
|
||||
msgstr "'"
|
||||
|
||||
#: lib/subpipe.c:187
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' could not be invoked"
|
||||
msgstr ""
|
||||
|
||||
#: lib/subpipe.c:189
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' not found"
|
||||
msgstr ""
|
||||
|
||||
#: lib/subpipe.c:191
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' failed"
|
||||
msgstr ""
|
||||
|
||||
#: lib/subpipe.c:192
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' failed (exit status %d)"
|
||||
msgstr ""
|
||||
|
||||
#: lib/timevar.c:476
|
||||
msgid ""
|
||||
"\n"
|
||||
@@ -808,14 +792,28 @@ msgstr ""
|
||||
msgid "time in %s: %ld.%06ld (%ld%%)\n"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "too many states (max %d)"
|
||||
#~ msgstr "demasiados estados (máximo %d)"
|
||||
|
||||
#~ msgid "reduce"
|
||||
#~ msgstr "reduce"
|
||||
|
||||
#~ msgid "shift"
|
||||
#~ msgstr "desplaza"
|
||||
|
||||
#~ msgid "an error"
|
||||
#~ msgstr "un error"
|
||||
#~ msgid "%d shift/reduce conflict"
|
||||
#~ msgid_plural "%d shift/reduce conflicts"
|
||||
#~ msgstr[0] "%d conflicto desplazamiento/reducción"
|
||||
#~ msgstr[1] "%d conflictos desplazamiento/reducción"
|
||||
|
||||
#~ msgid "and"
|
||||
#~ msgstr "y"
|
||||
|
||||
#~ msgid "State %d contains "
|
||||
#~ msgstr "El estado %d contiene"
|
||||
|
||||
#~ msgid "conflicts: "
|
||||
#~ msgstr "conflictos: "
|
||||
|
||||
#~ msgid "%s contains "
|
||||
#~ msgstr "%s contiene "
|
||||
@@ -823,6 +821,18 @@ msgstr ""
|
||||
#~ msgid "`%s' is no longer supported"
|
||||
#~ msgstr "`%s' ya no está soportado"
|
||||
|
||||
# Me parece menos "computadora" decir "ningún fichero de gramática" - cll
|
||||
#
|
||||
#~ msgid "%s: no grammar file given\n"
|
||||
#~ msgstr "%s: no se ha especificado ningún fichero de gramática\n"
|
||||
|
||||
# Ignorar es no saber, to ignore es no hacer caso, que no es lo mismo. sv
|
||||
#~ msgid "%s: extra arguments ignored after `%s'\n"
|
||||
#~ msgstr "%s: los argumentos extra después de '%s' no se tendrán en cuenta\n"
|
||||
|
||||
#~ msgid "too many gotos (max %d)"
|
||||
#~ msgstr "demasiados gotos (máximo %d)"
|
||||
|
||||
# to ignore no es ignorar. Pon otra cosa, please. sv
|
||||
#~ msgid "unexpected `/' found and ignored"
|
||||
#~ msgstr "se ha encontrado `/' cuando no se esperaba, no se tendrán en cuenta"
|
||||
@@ -830,6 +840,9 @@ msgstr ""
|
||||
#~ msgid "unterminated comment"
|
||||
#~ msgstr "comentario sin terminar"
|
||||
|
||||
#~ msgid "unexpected end of file"
|
||||
#~ msgstr "fin de fichero inesperado"
|
||||
|
||||
# ¿unescaped?
|
||||
#~ msgid "unescaped newline in constant"
|
||||
#~ msgstr "salto de línea en constante sin secuencia de escape"
|
||||
@@ -899,12 +912,12 @@ msgstr ""
|
||||
#~ msgid " Skipping to next %c"
|
||||
#~ msgstr " Saltando al siguiente %c"
|
||||
|
||||
#~ msgid "unterminated string at end of file"
|
||||
#~ msgstr "cadena sin terminar al final del fichero"
|
||||
|
||||
#~ msgid "unterminated string"
|
||||
#~ msgstr "cadena sin terminar"
|
||||
|
||||
#~ msgid "%s is invalid"
|
||||
#~ msgstr "%s no es válido"
|
||||
|
||||
#~ msgid "unterminated `%{' definition"
|
||||
#~ msgstr "definición `%{' sin terminar"
|
||||
|
||||
@@ -960,9 +973,6 @@ msgstr ""
|
||||
#~ msgid "no input grammar"
|
||||
#~ msgstr "no hay gramática de entrada"
|
||||
|
||||
#~ msgid "unknown character: %s"
|
||||
#~ msgstr "carácter desconocido: %s"
|
||||
|
||||
#~ msgid "ill-formed rule: initial symbol not followed by colon"
|
||||
#~ msgstr "regla mal formada: el símbolo inicial no está seguido por :"
|
||||
|
||||
@@ -972,6 +982,9 @@ msgstr ""
|
||||
#~ msgid "previous rule lacks an ending `;'"
|
||||
#~ msgstr "a la regla previa le falta un `;' al final"
|
||||
|
||||
#~ msgid "two @prec's in a row"
|
||||
#~ msgstr "dos @prec en una línea"
|
||||
|
||||
# Insisto, el empleo de participios a secas me parece como hablar en
|
||||
# indio. Por favor, permíteme que añada un "está" :) - cll
|
||||
# ok - ngp
|
||||
@@ -981,8 +994,8 @@ msgstr ""
|
||||
#~ msgid "two actions at end of one rule"
|
||||
#~ msgstr "dos acciones al final de una regla"
|
||||
|
||||
#~ msgid "invalid input: %s"
|
||||
#~ msgstr "entrada no válida: %s"
|
||||
#~ msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||
#~ msgstr "demasiados símbolos (terminales y no terminales); máximo %d"
|
||||
|
||||
# Únicamente cambio la posición del adjetivo `máximo'. En vez de después
|
||||
# de `tabla', después de `tamaño' - cll
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: bison 1.50\n"
|
||||
"POT-Creation-Date: 2002-10-14 14:47+0200\n"
|
||||
"PO-Revision-Date: 2002-10-07 09:28+03:00\n"
|
||||
"Project-Id-Version: bison 1.75e\n"
|
||||
"POT-Creation-Date: 2003-01-01 01:28-0800\n"
|
||||
"PO-Revision-Date: 2002-12-27 10:55+0200\n"
|
||||
"Last-Translator: Toomas Soome <[email protected]>\n"
|
||||
"Language-Team: Estonian <[email protected]>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -14,96 +14,98 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8-bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: src/complain.c:89 lib/error.c:128 lib/error.c:156
|
||||
#: src/complain.c:56 lib/error.c:135 lib/error.c:163
|
||||
msgid "Unknown system error"
|
||||
msgstr "Tundmatu süsteemi viga"
|
||||
|
||||
#: src/complain.c:123 src/complain.c:152
|
||||
#: src/complain.c:79 src/complain.c:94
|
||||
msgid "warning: "
|
||||
msgstr "hoiatus: "
|
||||
|
||||
#: src/complain.c:252 src/complain.c:282
|
||||
#: src/complain.c:150 src/complain.c:166
|
||||
msgid "fatal error: "
|
||||
msgstr "fataalne viga: "
|
||||
|
||||
#: src/conflicts.c:72
|
||||
#: src/conflicts.c:75
|
||||
#, c-format
|
||||
msgid " Conflict between rule %d and token %s resolved as shift"
|
||||
msgstr " Konflikt reegli %d ja märgi %s vahel lahendatud nihkega"
|
||||
|
||||
#: src/conflicts.c:80
|
||||
#: src/conflicts.c:83
|
||||
#, c-format
|
||||
msgid " Conflict between rule %d and token %s resolved as reduce"
|
||||
msgstr " Konflikt reegli %d ja märgi %s vahel lahendatud redutseerimisega"
|
||||
|
||||
#: src/conflicts.c:87
|
||||
#: src/conflicts.c:90
|
||||
#, c-format
|
||||
msgid " Conflict between rule %d and token %s resolved as an error"
|
||||
msgstr " Konflikt reegli %d ja märgi %s vahel lahendatud veana"
|
||||
|
||||
#: src/conflicts.c:402
|
||||
#: src/conflicts.c:398
|
||||
#, c-format
|
||||
msgid "%d shift/reduce conflict"
|
||||
msgid_plural "%d shift/reduce conflicts"
|
||||
msgstr[0] "%d nihutamine/redutseerimine konflikt"
|
||||
msgstr[1] "%d nihutamine/redutseerimine konflikti"
|
||||
msgid "conflicts: %d shift/reduce, %d reduce/reduce\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/conflicts.c:409
|
||||
msgid "and"
|
||||
msgstr "ja"
|
||||
|
||||
#: src/conflicts.c:415
|
||||
#, c-format
|
||||
msgid "%d reduce/reduce conflict"
|
||||
msgid_plural "%d reduce/reduce conflicts"
|
||||
msgstr[0] "%d redutseerimine/redutseerimine konflikt"
|
||||
msgstr[1] "%d redutseerimine/redutseerimine konflikti"
|
||||
|
||||
#: src/conflicts.c:435
|
||||
msgid "conflicts: "
|
||||
msgstr "konfliktid: "
|
||||
|
||||
#: src/conflicts.c:437
|
||||
#, c-format
|
||||
msgid " %d shift/reduce"
|
||||
#: src/conflicts.c:401
|
||||
#, fuzzy, c-format
|
||||
msgid "conflicts: %d shift/reduce\n"
|
||||
msgstr " %d nihutamine/redutseerimine"
|
||||
|
||||
#: src/conflicts.c:441
|
||||
#, c-format
|
||||
msgid " %d reduce/reduce"
|
||||
#: src/conflicts.c:403
|
||||
#, fuzzy, c-format
|
||||
msgid "conflicts: %d reduce/reduce\n"
|
||||
msgstr " %d redutseerimine/redutseerimine"
|
||||
|
||||
#: src/conflicts.c:460
|
||||
#, c-format
|
||||
msgid "State %d contains "
|
||||
msgstr "Olek %d sisaldab "
|
||||
#: src/conflicts.c:421
|
||||
#, fuzzy, c-format
|
||||
msgid "State %d "
|
||||
msgstr "olek %d"
|
||||
|
||||
#: src/conflicts.c:537
|
||||
#: src/conflicts.c:498
|
||||
#, c-format
|
||||
msgid "expected %d shift/reduce conflict"
|
||||
msgid_plural "expected %d shift/reduce conflicts"
|
||||
msgstr[0] "eeldasime %d nihutamine/redutseerimine konflikti"
|
||||
msgstr[1] "eeldasime %d nihutamine/redutseerimine konflikti"
|
||||
|
||||
#: src/files.c:114
|
||||
#: src/conflicts.c:503
|
||||
#, fuzzy
|
||||
msgid "expected 0 reduce/reduce conflicts"
|
||||
msgstr "%d redutseerimine/redutseerimine konflikt"
|
||||
|
||||
#: src/files.c:99
|
||||
#, c-format
|
||||
msgid "cannot open file `%s'"
|
||||
msgstr "faili `%s' ei saa avada"
|
||||
|
||||
#: src/files.c:133
|
||||
#: src/files.c:115
|
||||
msgid "I/O error"
|
||||
msgstr "S/V viga"
|
||||
|
||||
#: src/files.c:118
|
||||
msgid "cannot close file"
|
||||
msgstr "faili ei õnnestu sulgeda"
|
||||
|
||||
#: src/getargs.c:157
|
||||
#: src/files.c:336
|
||||
#, c-format
|
||||
msgid "conflicting outputs to file %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:182
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information.\n"
|
||||
msgstr "Lisainfo saamiseks proovige `%s --help'.\n"
|
||||
|
||||
#: src/getargs.c:188
|
||||
msgid "GNU bison generates parsers for LALR(1) grammars.\n"
|
||||
msgstr "GNU bison genereerib parsereid LALR(1) grammatikatele.\n"
|
||||
|
||||
#: src/getargs.c:161
|
||||
#: src/getargs.c:192
|
||||
#, c-format
|
||||
msgid "Usage: %s [OPTION]... FILE\n"
|
||||
msgstr "Kasuta: %s [VÕTI]...FAIL\n"
|
||||
|
||||
#: src/getargs.c:165
|
||||
#: src/getargs.c:196
|
||||
msgid ""
|
||||
"If a long option shows an argument as mandatory, then it is mandatory\n"
|
||||
"for the equivalent short option also. Similarly for optional arguments.\n"
|
||||
@@ -111,7 +113,7 @@ msgstr ""
|
||||
"Kui pikk võti näitab, et argument on kohustuslik, siis on see kohustuslik \n"
|
||||
"ka lühikese võtme korral. Sama ka vabalt valitavate võtmete korral.\n"
|
||||
|
||||
#: src/getargs.c:171
|
||||
#: src/getargs.c:202
|
||||
msgid ""
|
||||
"Operation modes:\n"
|
||||
" -h, --help display this help and exit\n"
|
||||
@@ -123,7 +125,7 @@ msgstr ""
|
||||
" -V, --version esita versiooniinfo ja lõpeta töö\n"
|
||||
" -y, --yacc emuleeri POSIX yacc\n"
|
||||
|
||||
#: src/getargs.c:178
|
||||
#: src/getargs.c:209
|
||||
msgid ""
|
||||
"Parser:\n"
|
||||
" -S, --skeleton=FILE specify the skeleton to use\n"
|
||||
@@ -143,7 +145,7 @@ msgstr ""
|
||||
" -n, --no-parser genereeri ainult tabelid\n"
|
||||
" -k, --token-table lisa ka sümbolite nimede tabel\n"
|
||||
|
||||
#: src/getargs.c:190
|
||||
#: src/getargs.c:221
|
||||
msgid ""
|
||||
"Output:\n"
|
||||
" -d, --defines also produce a header file\n"
|
||||
@@ -162,7 +164,7 @@ msgstr ""
|
||||
" -o, --output-file=FAIL jäta väljund FAILi\n"
|
||||
" -g, --graph loo automaadi kirjeldus VCG graafina\n"
|
||||
|
||||
#: src/getargs.c:201
|
||||
#: src/getargs.c:232
|
||||
msgid ""
|
||||
"THINGS is a list of comma separated words that can include:\n"
|
||||
" `state' describe the states\n"
|
||||
@@ -180,25 +182,25 @@ msgstr ""
|
||||
" `all' kogu ülaltoodud info\n"
|
||||
" `none' blokeeri raport\n"
|
||||
|
||||
#: src/getargs.c:212
|
||||
#: src/getargs.c:243
|
||||
msgid "Report bugs to <[email protected]>.\n"
|
||||
msgstr "Teatage palun vigadest aadressil <[email protected]>.\n"
|
||||
|
||||
#: src/getargs.c:226
|
||||
#: src/getargs.c:260
|
||||
#, c-format
|
||||
msgid "bison (GNU Bison) %s"
|
||||
msgstr "bison (GNU Bison) %s"
|
||||
|
||||
#: src/getargs.c:228
|
||||
#: src/getargs.c:262
|
||||
msgid "Written by Robert Corbett and Richard Stallman.\n"
|
||||
msgstr "Kirjutanud Robert Corbett ja Richard Stallman.\n"
|
||||
|
||||
#: src/getargs.c:232
|
||||
#: src/getargs.c:266
|
||||
#, c-format
|
||||
msgid "Copyright (C) %d Free Software Foundation, Inc.\n"
|
||||
msgstr "Autoriõigus © %d Free Software Foundation, Inc.\n"
|
||||
|
||||
#: src/getargs.c:234
|
||||
#: src/getargs.c:268
|
||||
msgid ""
|
||||
"This is free software; see the source for copying conditions. There is NO\n"
|
||||
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
|
||||
@@ -206,66 +208,60 @@ msgstr ""
|
||||
"See on vaba tarkvara; kopeerimistingimused leiate lähtetekstidest. Garantii\n"
|
||||
"PUUDUB; ka müügiks või mingil eesmärgil kasutamiseks.\n"
|
||||
|
||||
#: src/getargs.c:395
|
||||
#: src/getargs.c:424
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information.\n"
|
||||
msgstr "Lisainfo saamiseks proovige `%s --help'.\n"
|
||||
msgid "missing operand after `%s'"
|
||||
msgstr "`%s' järel puudub operand"
|
||||
|
||||
#: src/getargs.c:402
|
||||
#: src/getargs.c:426
|
||||
#, c-format
|
||||
msgid "%s: no grammar file given\n"
|
||||
msgstr "%s: puudub grammatikafail\n"
|
||||
msgid "extra operand `%s'"
|
||||
msgstr "Liigne operand `%s'"
|
||||
|
||||
#: src/getargs.c:406
|
||||
#, c-format
|
||||
msgid "%s: extra arguments ignored after `%s'\n"
|
||||
msgstr "%s: ignoreerin lisaargumente peale `%s'\n"
|
||||
|
||||
#: src/gram.c:139
|
||||
#: src/gram.c:142
|
||||
msgid "empty"
|
||||
msgstr "tühi"
|
||||
|
||||
#: src/gram.c:233
|
||||
#: src/gram.c:236
|
||||
msgid "Grammar"
|
||||
msgstr "Grammatika"
|
||||
|
||||
#: src/gram.c:321 src/reduce.c:302 src/reduce.c:392
|
||||
#: src/gram.c:324 src/reduce.c:393
|
||||
msgid "warning"
|
||||
msgstr "hoiatus"
|
||||
|
||||
#: src/lalr.c:91
|
||||
#, c-format
|
||||
msgid "too many gotos (max %d)"
|
||||
msgstr "liiga palju gotosid (maks. %d)"
|
||||
|
||||
#: src/main.c:117
|
||||
#: src/main.c:124
|
||||
msgid "rule never reduced because of conflicts"
|
||||
msgstr "reeglit ei redutseerita konfliktide tõttu kunagi"
|
||||
|
||||
#: parse-gram.y:347
|
||||
#: src/parse-gram.y:334
|
||||
msgid "POSIX forbids declarations in the grammar"
|
||||
msgstr "POSIX keelab deklareerimised grammatikas"
|
||||
|
||||
#: src/print.c:46
|
||||
#: src/parse-gram.y:457
|
||||
msgid "missing identifier in parameter declaration"
|
||||
msgstr "parameetri deklaratsioonis puudub identifikaator"
|
||||
|
||||
#: src/print.c:48
|
||||
#, c-format
|
||||
msgid " type %d is %s\n"
|
||||
msgstr " tüüp %d on %s\n"
|
||||
|
||||
#: src/print.c:162
|
||||
#: src/print.c:164
|
||||
#, c-format
|
||||
msgid "shift, and go to state %d\n"
|
||||
msgstr "nihuta ja liigu olekule %d\n"
|
||||
|
||||
#: src/print.c:164
|
||||
#: src/print.c:166
|
||||
#, c-format
|
||||
msgid "go to state %d\n"
|
||||
msgstr "liigu olekule %d\n"
|
||||
|
||||
#: src/print.c:201
|
||||
#: src/print.c:203
|
||||
msgid "error (nonassociative)\n"
|
||||
msgstr "viga (mitteassotsiatiivne)\n"
|
||||
|
||||
#: src/print.c:290
|
||||
#: src/print.c:291
|
||||
#, c-format
|
||||
msgid "reduce using rule %d (%s)"
|
||||
msgstr "redutseerin kasutades reeglit %d (%s)"
|
||||
@@ -283,127 +279,109 @@ msgstr "$default"
|
||||
msgid "state %d"
|
||||
msgstr "olek %d"
|
||||
|
||||
#: src/print.c:456
|
||||
#: src/print.c:455
|
||||
msgid "Terminals, with rules where they appear"
|
||||
msgstr "Terminalid, koos reeglitega kus nad ilmuvad"
|
||||
|
||||
#: src/print.c:483
|
||||
#: src/print.c:482
|
||||
msgid "Nonterminals, with rules where they appear"
|
||||
msgstr "Mitteterminalid, koos reeglitega kus nad ilmuvad"
|
||||
|
||||
#: src/print.c:512
|
||||
#: src/print.c:511
|
||||
msgid " on left:"
|
||||
msgstr " vasakul:"
|
||||
|
||||
#: src/print.c:527
|
||||
#: src/print.c:526
|
||||
msgid " on right:"
|
||||
msgstr " paremal:"
|
||||
|
||||
#: src/print.c:555
|
||||
#: src/print.c:554
|
||||
msgid "Rules never reduced"
|
||||
msgstr "Mitteredutseeruvad reeglid"
|
||||
|
||||
#: src/reader.c:52
|
||||
#: src/reader.c:53
|
||||
#, c-format
|
||||
msgid "multiple %s declarations"
|
||||
msgstr "korduvad %s deklaratsioonid"
|
||||
|
||||
#: src/reader.c:141
|
||||
#: src/reader.c:138
|
||||
#, c-format
|
||||
msgid "result type clash on merge function %s: `%s' vs. `%s'"
|
||||
msgstr "tulemuse tüübikonflikt mestimise funktsioonis %s: `%s' versus `%s'"
|
||||
msgid "result type clash on merge function %s: <%s> != <%s>"
|
||||
msgstr "tulemuse tüübikonflikt mestimise funktsioonis %s: <%s> != <%s>"
|
||||
|
||||
#: src/reader.c:239
|
||||
#: src/reader.c:236
|
||||
#, c-format
|
||||
msgid "rule given for %s, which is a token"
|
||||
msgstr "%s jaoks on antud reegel, aga see on märk"
|
||||
|
||||
#: src/reader.c:268
|
||||
#: src/reader.c:265
|
||||
#, c-format
|
||||
msgid "type clash (`%s' `%s') on default action"
|
||||
msgstr "vaikimisi tegevuse tüübikonflikt (`%s' `%s')"
|
||||
msgid "type clash on default action: <%s> != <%s>"
|
||||
msgstr "vaikimisi tegevuse tüübikonflikt: <%s> != <%s>"
|
||||
|
||||
#: src/reader.c:274
|
||||
#: src/reader.c:271
|
||||
msgid "empty rule for typed nonterminal, and no action"
|
||||
msgstr "tüübiga mitteterminalil on tühi reegel ja puudub tegevus"
|
||||
|
||||
#: src/reader.c:344
|
||||
msgid "two @prec's in a row"
|
||||
msgstr "kaks @prec ühel real"
|
||||
|
||||
#: src/reader.c:354
|
||||
#: src/reader.c:341 src/reader.c:355 src/reader.c:368
|
||||
#, c-format
|
||||
msgid "%%dprec affects only GLR parsers"
|
||||
msgstr "%%dprec puudutab ainult GLR parsereid"
|
||||
msgid "only one %s allowed per rule"
|
||||
msgstr "reeglis on lubatud ainult üks %s"
|
||||
|
||||
#: src/reader.c:356
|
||||
#: src/reader.c:351 src/reader.c:366
|
||||
#, c-format
|
||||
msgid "%%dprec must be followed by positive number"
|
||||
msgstr "%%dprec järel peab olema positiivne number"
|
||||
msgid "%s affects only GLR parsers"
|
||||
msgstr "%s puudutab ainult GLR parsereid"
|
||||
|
||||
#: src/reader.c:358
|
||||
#: src/reader.c:353
|
||||
#, c-format
|
||||
msgid "only one %%dprec allowed per rule"
|
||||
msgstr "reeglis on lubatud ainult üks %%dprec"
|
||||
msgid "%s must be followed by positive number"
|
||||
msgstr "%s järel peab olema positiivne number"
|
||||
|
||||
#: src/reader.c:369
|
||||
#, c-format
|
||||
msgid "%%merge affects only GLR parsers"
|
||||
msgstr "%%merge puudutab ainult GLR parsereid"
|
||||
|
||||
#: src/reader.c:371
|
||||
#, c-format
|
||||
msgid "only one %%merge allowed per rule"
|
||||
msgstr "reeglis on lubatud ainult üks %%merge"
|
||||
|
||||
#: src/reader.c:514
|
||||
#: src/reader.c:510
|
||||
msgid "no rules in the input grammar"
|
||||
msgstr "sisendgrammatikas pole reegleid"
|
||||
|
||||
#: src/reader.c:546
|
||||
#, c-format
|
||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||
msgstr "liiga palju sümboleid (märgid ja mitteterminalid); maksimaalne on %d"
|
||||
|
||||
#: src/reduce.c:239
|
||||
#: src/reduce.c:241
|
||||
msgid "useless rule"
|
||||
msgstr "kasutamata reegel"
|
||||
|
||||
#: src/reduce.c:302
|
||||
msgid "useless nonterminal"
|
||||
msgstr "kasutamata mitteterminal"
|
||||
#, c-format
|
||||
msgid "useless nonterminal: %s"
|
||||
msgstr "kasutamata mitteterminal: %s"
|
||||
|
||||
#: src/reduce.c:349
|
||||
#: src/reduce.c:350
|
||||
msgid "Useless nonterminals"
|
||||
msgstr "Kasutamata mitteterminalid"
|
||||
|
||||
#: src/reduce.c:362
|
||||
#: src/reduce.c:363
|
||||
msgid "Terminals which are not used"
|
||||
msgstr "Terminalid, mida ei kasutatud"
|
||||
|
||||
#: src/reduce.c:371
|
||||
#: src/reduce.c:372
|
||||
msgid "Useless rules"
|
||||
msgstr "Kasutamata reeglid"
|
||||
|
||||
#: src/reduce.c:387
|
||||
#: src/reduce.c:388
|
||||
#, c-format
|
||||
msgid "%d rule never reduced\n"
|
||||
msgid_plural "%d rules never reduced\n"
|
||||
msgstr[0] "%d reegel ei redutseeru\n"
|
||||
msgstr[1] "%d reeglit ei redutseeru\n"
|
||||
|
||||
#: src/reduce.c:395
|
||||
#: src/reduce.c:396
|
||||
#, c-format
|
||||
msgid "%d useless nonterminal"
|
||||
msgid_plural "%d useless nonterminals"
|
||||
msgstr[0] "%d kasutamata mitteterminal"
|
||||
msgstr[1] "%d kasutamata mitteterminali"
|
||||
|
||||
#: src/reduce.c:401
|
||||
#: src/reduce.c:402
|
||||
msgid " and "
|
||||
msgstr " ja "
|
||||
|
||||
#: src/reduce.c:404
|
||||
#: src/reduce.c:405
|
||||
#, c-format
|
||||
msgid "%d useless rule"
|
||||
msgid_plural "%d useless rules"
|
||||
@@ -415,76 +393,70 @@ msgstr[1] "%d kasutamata reeglit"
|
||||
msgid "start symbol %s does not derive any sentence"
|
||||
msgstr "stardisümbolist %s ei tuletata ühtegi lauset"
|
||||
|
||||
#: scan-gram.l:211
|
||||
#: src/scan-gram.l:157
|
||||
msgid "stray `,' treated as white space"
|
||||
msgstr "käsitlen juhuslikku `,' kui tühikut"
|
||||
|
||||
#: src/scan-gram.l:216
|
||||
#, c-format
|
||||
msgid ": invalid character: `%c'\n"
|
||||
msgstr ": vigane sümbol: `%c'\n"
|
||||
msgid "invalid directive: %s"
|
||||
msgstr "vigane juhus: %s"
|
||||
|
||||
#: scan-gram.l:255
|
||||
msgid ": unexpected end of file in a comment\n"
|
||||
msgstr ": ootamatu faililõpp kommentaaris\n"
|
||||
|
||||
#: scan-gram.l:284 scan-gram.l:423
|
||||
msgid ": unexpected end of file in a string\n"
|
||||
msgstr ": ootamatu faililõpp sõnes\n"
|
||||
|
||||
#: scan-gram.l:322 scan-gram.l:394
|
||||
msgid ": unexpected end of file in a character\n"
|
||||
msgstr ": ootamatu faililõpp sümbolis\n"
|
||||
|
||||
#: scan-gram.l:343
|
||||
#: src/scan-gram.l:236 src/scan-gram.l:785 src/scan-gram.l:853
|
||||
#, c-format
|
||||
msgid ": invalid escape: %s\n"
|
||||
msgstr ": vigane paojada: %s\n"
|
||||
msgid "integer out of range: %s"
|
||||
msgstr "number piiridest väljas: %s"
|
||||
|
||||
#: scan-gram.l:364
|
||||
#: src/scan-gram.l:281
|
||||
#, c-format
|
||||
msgid ": unrecognized escape: %s\n"
|
||||
msgstr ": tundmatu paojada: %s\n"
|
||||
msgid "invalid character: %s"
|
||||
msgstr "vigased sümbolid: %s"
|
||||
|
||||
#: scan-gram.l:485
|
||||
msgid ": unexpected end of file in a braced code\n"
|
||||
msgstr ": ootamatu faililõpp sulgude vahelises koodis\n"
|
||||
#: src/scan-gram.l:405 src/scan-gram.l:415 src/scan-gram.l:434
|
||||
#, c-format
|
||||
msgid "invalid escape sequence: %s"
|
||||
msgstr "vigane paojada: %s"
|
||||
|
||||
#: scan-gram.l:514
|
||||
msgid ": unexpected end of file in a prologue\n"
|
||||
msgstr ": ootamatu faililõpp proloogis\n"
|
||||
#: src/scan-gram.l:439
|
||||
#, c-format
|
||||
msgid "unrecognized escape sequence: %s"
|
||||
msgstr "tundmatu paojada: %s"
|
||||
|
||||
#: scan-gram.l:572
|
||||
#: src/scan-gram.l:524
|
||||
#, c-format
|
||||
msgid "missing `{' in `%s'"
|
||||
msgstr "`%s' juures puudub `{'"
|
||||
|
||||
#: src/scan-gram.l:757
|
||||
#, c-format
|
||||
msgid "$$ of `%s' has no declared type"
|
||||
msgstr "`%s' $$ ei oma deklareeritud tüüpi"
|
||||
|
||||
#: scan-gram.l:584 scan-gram.l:666
|
||||
#, c-format
|
||||
msgid "invalid value: %s%d"
|
||||
msgstr "vigane väärtus: %s%d"
|
||||
|
||||
#: scan-gram.l:591
|
||||
#: src/scan-gram.l:776
|
||||
#, c-format
|
||||
msgid "$%d of `%s' has no declared type"
|
||||
msgstr "$%d `%s' ei oma deklareeritud tüüpi"
|
||||
|
||||
#: scan-gram.l:602 scan-gram.l:619 scan-gram.l:673 scan-gram.l:690
|
||||
#: src/scan-gram.l:820 src/scan-gram.l:887
|
||||
#, c-format
|
||||
msgid "%s is invalid"
|
||||
msgstr "%s on vigane"
|
||||
msgid "invalid value: %s"
|
||||
msgstr "vigane väärtus: %s"
|
||||
|
||||
#: src/state.c:145
|
||||
#: src/scan-gram.l:978
|
||||
#, c-format
|
||||
msgid "too many states (max %d)"
|
||||
msgstr "liiga palju olekuid (maks %d)"
|
||||
msgid "missing `%s' at end of file"
|
||||
msgstr "faili lõpus puudub `%s'"
|
||||
|
||||
#: src/symlist.c:97 src/symlist.c:109
|
||||
#: src/symlist.c:97 src/symlist.c:108
|
||||
msgid "invalid $ value"
|
||||
msgstr "vigane $ väärtus"
|
||||
|
||||
#: src/symtab.c:81
|
||||
#: src/symtab.c:84
|
||||
#, c-format
|
||||
msgid "type redeclaration for %s"
|
||||
msgstr "%s tüübi uuesti deklareerimine"
|
||||
|
||||
#: src/symtab.c:98 src/symtab.c:117
|
||||
#: src/symtab.c:101 src/symtab.c:119
|
||||
#, c-format
|
||||
msgid "%s redeclaration for %s"
|
||||
msgstr "%s uuesti deklareerimine %s jaoks"
|
||||
@@ -494,110 +466,110 @@ msgstr "%s uuesti deklareerimine %s jaoks"
|
||||
msgid "redefining precedence of %s"
|
||||
msgstr "%s prioriteedi uus definitsioon"
|
||||
|
||||
#: src/symtab.c:157
|
||||
#: src/symtab.c:156
|
||||
#, c-format
|
||||
msgid "symbol %s redefined"
|
||||
msgstr "sümbol %s on uuesti defineeritud"
|
||||
|
||||
#: src/symtab.c:180
|
||||
#: src/symtab.c:179
|
||||
#, c-format
|
||||
msgid "redefining user token number of %s"
|
||||
msgstr "%s kasutaja märgi numbri uuesti defineerimine"
|
||||
|
||||
#: src/symtab.c:225
|
||||
#: src/symtab.c:206
|
||||
#, c-format
|
||||
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
||||
msgstr ""
|
||||
"kasutatakse sümbolit %s, mis ei ole defineeritud märgina ja millel puuduvad "
|
||||
"reeglid"
|
||||
|
||||
#: src/symtab.c:244
|
||||
#: src/symtab.c:231
|
||||
#, c-format
|
||||
msgid "symbol `%s' used more than once as a literal string"
|
||||
msgstr "sümbolit `%s' on kasutatud enam kui kord literaal sõnena"
|
||||
|
||||
#: src/symtab.c:247
|
||||
#: src/symtab.c:234
|
||||
#, c-format
|
||||
msgid "symbol `%s' given more than one literal string"
|
||||
msgstr "sümbolile `%s' on antud enam kui üks literaal sõne"
|
||||
|
||||
#: src/symtab.c:281
|
||||
#: src/symtab.c:270
|
||||
#, c-format
|
||||
msgid "conflicting precedences for %s and %s"
|
||||
msgstr "%s ja %s omavad konfliktseid prioriteete"
|
||||
|
||||
#: src/symtab.c:293
|
||||
#: src/symtab.c:282
|
||||
#, c-format
|
||||
msgid "conflicting associativities for %s (%s) and %s (%s)"
|
||||
msgstr "%s (%s) ja %s (%s) omavad konfliktseid assotsiatiivseid väärtuseid"
|
||||
|
||||
#: src/symtab.c:363
|
||||
#: src/symtab.c:367
|
||||
#, c-format
|
||||
msgid "tokens %s and %s both assigned number %d"
|
||||
msgstr "märkidele %s ja %s on mõlemale omistatud number %d"
|
||||
|
||||
#: src/symtab.c:568
|
||||
#: src/symtab.c:590
|
||||
#, c-format
|
||||
msgid "the start symbol %s is undefined"
|
||||
msgstr "stardisümbol %s ei ole defineeritud"
|
||||
|
||||
#: src/symtab.c:572
|
||||
#: src/symtab.c:594
|
||||
#, c-format
|
||||
msgid "the start symbol %s is a token"
|
||||
msgstr "stardisümbol %s on märk"
|
||||
|
||||
#: lib/argmatch.c:161
|
||||
#: lib/argmatch.c:129
|
||||
#, c-format
|
||||
msgid "invalid argument %s for %s"
|
||||
msgstr "vigane argument %s %s'le"
|
||||
|
||||
#: lib/argmatch.c:162
|
||||
#: lib/argmatch.c:130
|
||||
#, c-format
|
||||
msgid "ambiguous argument %s for %s"
|
||||
msgstr "segane argument %s %s'le"
|
||||
|
||||
#: lib/argmatch.c:181
|
||||
#: lib/argmatch.c:149
|
||||
msgid "Valid arguments are:"
|
||||
msgstr "Lubatud argumendid on:"
|
||||
|
||||
#: lib/bitset_stats.c:235
|
||||
#: lib/bitset_stats.c:178
|
||||
#, c-format
|
||||
msgid "%u bitset_allocs, %u freed (%.2f%%).\n"
|
||||
msgstr "%u bitset_allocs, %u vabastatud (%.2f%%).\n"
|
||||
|
||||
#: lib/bitset_stats.c:238
|
||||
#: lib/bitset_stats.c:181
|
||||
#, c-format
|
||||
msgid "%u bitset_sets, %u cached (%.2f%%)\n"
|
||||
msgstr "%u bitset_sets, %u puhverdatud (%.2f%%)\n"
|
||||
|
||||
#: lib/bitset_stats.c:241
|
||||
#: lib/bitset_stats.c:184
|
||||
#, c-format
|
||||
msgid "%u bitset_resets, %u cached (%.2f%%)\n"
|
||||
msgstr "%u bitset_resets, %u puhverdatud (%.2f%%)\n"
|
||||
|
||||
#: lib/bitset_stats.c:244
|
||||
#: lib/bitset_stats.c:187
|
||||
#, c-format
|
||||
msgid "%u bitset_tests, %u cached (%.2f%%)\n"
|
||||
msgstr "%u bitset_tests, %u puhverdatud (%.2f%%)\n"
|
||||
|
||||
#: lib/bitset_stats.c:248
|
||||
#: lib/bitset_stats.c:191
|
||||
#, c-format
|
||||
msgid "%u bitset_lists\n"
|
||||
msgstr "%u bitset_lists\n"
|
||||
|
||||
#: lib/bitset_stats.c:250
|
||||
#: lib/bitset_stats.c:193
|
||||
msgid "count log histogram\n"
|
||||
msgstr "loenduri logi histogramm\n"
|
||||
|
||||
#: lib/bitset_stats.c:253
|
||||
#: lib/bitset_stats.c:196
|
||||
msgid "size log histogram\n"
|
||||
msgstr "suuruste logi histogramm\n"
|
||||
|
||||
#: lib/bitset_stats.c:256
|
||||
#: lib/bitset_stats.c:199
|
||||
msgid "density histogram\n"
|
||||
msgstr "tiheduse histogramm\n"
|
||||
|
||||
#: lib/bitset_stats.c:272
|
||||
#: lib/bitset_stats.c:213
|
||||
msgid ""
|
||||
"Bitset statistics:\n"
|
||||
"\n"
|
||||
@@ -605,94 +577,114 @@ msgstr ""
|
||||
"Bitset statistika:\n"
|
||||
"\n"
|
||||
|
||||
#: lib/bitset_stats.c:275
|
||||
#: lib/bitset_stats.c:216
|
||||
#, c-format
|
||||
msgid "Accumulated runs = %u\n"
|
||||
msgstr "Salvestatud läbimisi = %u\n"
|
||||
|
||||
#: lib/bitset_stats.c:320
|
||||
#: lib/bitset_stats.c:260 lib/bitset_stats.c:265
|
||||
msgid "Could not read stats file."
|
||||
msgstr "Statistika faili ei saa lugeda."
|
||||
|
||||
#: lib/bitset_stats.c:322
|
||||
#: lib/bitset_stats.c:262
|
||||
msgid "Bad stats file size.\n"
|
||||
msgstr "Vigane statistika faili suurus.\n"
|
||||
|
||||
#: lib/bitset_stats.c:348
|
||||
#: lib/bitset_stats.c:288 lib/bitset_stats.c:290
|
||||
msgid "Could not write stats file."
|
||||
msgstr "Statistika faili ei saa kirjutada."
|
||||
|
||||
#: lib/bitset_stats.c:352
|
||||
#: lib/bitset_stats.c:293
|
||||
msgid "Could not open stats file for writing."
|
||||
msgstr "Statistika faili ei saa kirjutamiseks avada."
|
||||
|
||||
#: lib/getopt.c:662
|
||||
#: lib/getopt.c:688 lib/getopt.c:700
|
||||
#, c-format
|
||||
msgid "%s: option `%s' is ambiguous\n"
|
||||
msgstr "%s: võti `%s' on segane\n"
|
||||
|
||||
#: lib/getopt.c:687
|
||||
#: lib/getopt.c:733 lib/getopt.c:737
|
||||
#, c-format
|
||||
msgid "%s: option `--%s' doesn't allow an argument\n"
|
||||
msgstr "%s: võti `--%s' ei luba argumenti\n"
|
||||
|
||||
#: lib/getopt.c:692
|
||||
#: lib/getopt.c:746 lib/getopt.c:751
|
||||
#, c-format
|
||||
msgid "%s: option `%c%s' doesn't allow an argument\n"
|
||||
msgstr "%s: võti `%c%s' ei luba argumenti\n"
|
||||
|
||||
#: lib/getopt.c:710 lib/getopt.c:883
|
||||
#: lib/getopt.c:787 lib/getopt.c:800 lib/getopt.c:1089 lib/getopt.c:1102
|
||||
#, c-format
|
||||
msgid "%s: option `%s' requires an argument\n"
|
||||
msgstr "%s: võti `%s' nõuab argumenti\n"
|
||||
|
||||
#: lib/getopt.c:739
|
||||
#: lib/getopt.c:838 lib/getopt.c:841
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `--%s'\n"
|
||||
msgstr "%s: tundmatu võti `--%s'\n"
|
||||
|
||||
#: lib/getopt.c:743
|
||||
#: lib/getopt.c:849 lib/getopt.c:852
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `%c%s'\n"
|
||||
msgstr "%s: tundmatu võti `%c%s'\n"
|
||||
|
||||
#: lib/getopt.c:769
|
||||
#: lib/getopt.c:899 lib/getopt.c:902
|
||||
#, c-format
|
||||
msgid "%s: illegal option -- %c\n"
|
||||
msgstr "%s: lubamatu võti -- %c\n"
|
||||
|
||||
#: lib/getopt.c:772
|
||||
#: lib/getopt.c:908 lib/getopt.c:911
|
||||
#, c-format
|
||||
msgid "%s: invalid option -- %c\n"
|
||||
msgstr "%s: vigane võti -- %c\n"
|
||||
|
||||
#: lib/getopt.c:802 lib/getopt.c:932
|
||||
#: lib/getopt.c:958 lib/getopt.c:969 lib/getopt.c:1155 lib/getopt.c:1168
|
||||
#, c-format
|
||||
msgid "%s: option requires an argument -- %c\n"
|
||||
msgstr "%s: võti nõuab argumenti -- %c\n"
|
||||
|
||||
#: lib/getopt.c:849
|
||||
#: lib/getopt.c:1021 lib/getopt.c:1032
|
||||
#, c-format
|
||||
msgid "%s: option `-W %s' is ambiguous\n"
|
||||
msgstr "%s: võti `-W %s' on segane\n"
|
||||
|
||||
#: lib/getopt.c:867
|
||||
#: lib/getopt.c:1056 lib/getopt.c:1068
|
||||
#, c-format
|
||||
msgid "%s: option `-W %s' doesn't allow an argument\n"
|
||||
msgstr "%s: võti `-W %s' ei luba argumenti\n"
|
||||
|
||||
#: lib/obstack.c:496 lib/obstack.c:499 lib/xmalloc.c:66
|
||||
#: lib/obstack.c:487 lib/obstack.c:490 lib/xmalloc.c:63
|
||||
msgid "memory exhausted"
|
||||
msgstr "mälu on otsas"
|
||||
|
||||
#: lib/quotearg.c:274
|
||||
#: lib/quotearg.c:236
|
||||
msgid "`"
|
||||
msgstr "`"
|
||||
|
||||
#: lib/quotearg.c:275
|
||||
#: lib/quotearg.c:237
|
||||
msgid "'"
|
||||
msgstr "'"
|
||||
|
||||
#: lib/subpipe.c:187
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' could not be invoked"
|
||||
msgstr "abiprogrammi `%s' ei saa käivitada"
|
||||
|
||||
#: lib/subpipe.c:189
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' not found"
|
||||
msgstr "ei leia abiprogrammi `%s'"
|
||||
|
||||
#: lib/subpipe.c:191
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' failed"
|
||||
msgstr "abiprogramm `%s' ebaõnnestus"
|
||||
|
||||
#: lib/subpipe.c:192
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' failed (exit status %d)"
|
||||
msgstr "abiprogramm `%s' ebaõnnestus (lõpetamise kood %d)"
|
||||
|
||||
#: lib/timevar.c:476
|
||||
msgid ""
|
||||
"\n"
|
||||
@@ -709,3 +701,17 @@ msgstr " KOKKU :"
|
||||
#, c-format
|
||||
msgid "time in %s: %ld.%06ld (%ld%%)\n"
|
||||
msgstr "aeg %s: %ld.%06ld (%ld%%)\n"
|
||||
|
||||
#~ msgid "%d shift/reduce conflict"
|
||||
#~ msgid_plural "%d shift/reduce conflicts"
|
||||
#~ msgstr[0] "%d nihutamine/redutseerimine konflikt"
|
||||
#~ msgstr[1] "%d nihutamine/redutseerimine konflikti"
|
||||
|
||||
#~ msgid "and"
|
||||
#~ msgstr "ja"
|
||||
|
||||
#~ msgid "conflicts: "
|
||||
#~ msgstr "konfliktid: "
|
||||
|
||||
#~ msgid "State %d contains "
|
||||
#~ msgstr "Olek %d sisaldab "
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU bison 1.50\n"
|
||||
"POT-Creation-Date: 2002-10-14 14:47+0200\n"
|
||||
"PO-Revision-Date: 2002-10-06 12:00-0500\n"
|
||||
"Project-Id-Version: GNU bison 1.75b\n"
|
||||
"POT-Creation-Date: 2003-01-01 01:28-0800\n"
|
||||
"PO-Revision-Date: 2002-11-13 08:00-0500\n"
|
||||
"Last-Translator: Michel Robitaille <[email protected]>\n"
|
||||
"Language-Team: French <[email protected]>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -15,96 +15,98 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8-bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#: src/complain.c:89 lib/error.c:128 lib/error.c:156
|
||||
#: src/complain.c:56 lib/error.c:135 lib/error.c:163
|
||||
msgid "Unknown system error"
|
||||
msgstr "Erreur système inconnue"
|
||||
|
||||
#: src/complain.c:123 src/complain.c:152
|
||||
#: src/complain.c:79 src/complain.c:94
|
||||
msgid "warning: "
|
||||
msgstr "AVERTISSEMENT: "
|
||||
|
||||
#: src/complain.c:252 src/complain.c:282
|
||||
#: src/complain.c:150 src/complain.c:166
|
||||
msgid "fatal error: "
|
||||
msgstr "erreur fatale: "
|
||||
|
||||
#: src/conflicts.c:72
|
||||
#: src/conflicts.c:75
|
||||
#, c-format
|
||||
msgid " Conflict between rule %d and token %s resolved as shift"
|
||||
msgstr "Conflit entre la règle %d et le jeton %s résolu par décalage"
|
||||
|
||||
#: src/conflicts.c:80
|
||||
#: src/conflicts.c:83
|
||||
#, c-format
|
||||
msgid " Conflict between rule %d and token %s resolved as reduce"
|
||||
msgstr "Conflit entre la règle %d et le jeton %s résolu par réduction"
|
||||
|
||||
#: src/conflicts.c:87
|
||||
#: src/conflicts.c:90
|
||||
#, c-format
|
||||
msgid " Conflict between rule %d and token %s resolved as an error"
|
||||
msgstr "Conflit entre la règle %d et le jeton %s résolu comme étant une erreur"
|
||||
|
||||
#: src/conflicts.c:402
|
||||
#: src/conflicts.c:398
|
||||
#, c-format
|
||||
msgid "%d shift/reduce conflict"
|
||||
msgid_plural "%d shift/reduce conflicts"
|
||||
msgstr[0] "%d conflit par décalage/réduction"
|
||||
msgstr[1] "%d conflits par décalage/réduction"
|
||||
msgid "conflicts: %d shift/reduce, %d reduce/reduce\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/conflicts.c:409
|
||||
msgid "and"
|
||||
msgstr "et"
|
||||
|
||||
#: src/conflicts.c:415
|
||||
#, c-format
|
||||
msgid "%d reduce/reduce conflict"
|
||||
msgid_plural "%d reduce/reduce conflicts"
|
||||
msgstr[0] "%d conflit par réduction/réduction"
|
||||
msgstr[1] "%d conflits par réduction/réduction"
|
||||
|
||||
#: src/conflicts.c:435
|
||||
msgid "conflicts: "
|
||||
msgstr "conflits: "
|
||||
|
||||
#: src/conflicts.c:437
|
||||
#, c-format
|
||||
msgid " %d shift/reduce"
|
||||
#: src/conflicts.c:401
|
||||
#, fuzzy, c-format
|
||||
msgid "conflicts: %d shift/reduce\n"
|
||||
msgstr " %d décalage/réduction"
|
||||
|
||||
#: src/conflicts.c:441
|
||||
#, c-format
|
||||
msgid " %d reduce/reduce"
|
||||
#: src/conflicts.c:403
|
||||
#, fuzzy, c-format
|
||||
msgid "conflicts: %d reduce/reduce\n"
|
||||
msgstr " %d réduction/réduction"
|
||||
|
||||
#: src/conflicts.c:460
|
||||
#, c-format
|
||||
msgid "State %d contains "
|
||||
msgstr "L'état %d contient "
|
||||
#: src/conflicts.c:421
|
||||
#, fuzzy, c-format
|
||||
msgid "State %d "
|
||||
msgstr "état %d"
|
||||
|
||||
#: src/conflicts.c:537
|
||||
#: src/conflicts.c:498
|
||||
#, c-format
|
||||
msgid "expected %d shift/reduce conflict"
|
||||
msgid_plural "expected %d shift/reduce conflicts"
|
||||
msgstr[0] "attendait %d conflit par décalage/réduction"
|
||||
msgstr[1] "attendait %d conflits par décalage/réduction"
|
||||
|
||||
#: src/files.c:114
|
||||
#: src/conflicts.c:503
|
||||
#, fuzzy
|
||||
msgid "expected 0 reduce/reduce conflicts"
|
||||
msgstr "%d conflit par réduction/réduction"
|
||||
|
||||
#: src/files.c:99
|
||||
#, c-format
|
||||
msgid "cannot open file `%s'"
|
||||
msgstr "ne peut ouvrir le fichier « %s »"
|
||||
|
||||
#: src/files.c:133
|
||||
#: src/files.c:115
|
||||
msgid "I/O error"
|
||||
msgstr "une erreur d'E/S"
|
||||
|
||||
#: src/files.c:118
|
||||
msgid "cannot close file"
|
||||
msgstr "ne peut fermer le fichier"
|
||||
|
||||
#: src/getargs.c:157
|
||||
#: src/files.c:336
|
||||
#, c-format
|
||||
msgid "conflicting outputs to file %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:182
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information.\n"
|
||||
msgstr "Pour en savoir davantage, faites: « %s --help ».\n"
|
||||
|
||||
#: src/getargs.c:188
|
||||
msgid "GNU bison generates parsers for LALR(1) grammars.\n"
|
||||
msgstr "GNU bison génère des analyseurs pour les grammaires de type LALR(1).\n"
|
||||
|
||||
#: src/getargs.c:161
|
||||
#: src/getargs.c:192
|
||||
#, c-format
|
||||
msgid "Usage: %s [OPTION]... FILE\n"
|
||||
msgstr "Usage: %s [OPTION]... FICHIER\n"
|
||||
|
||||
#: src/getargs.c:165
|
||||
#: src/getargs.c:196
|
||||
msgid ""
|
||||
"If a long option shows an argument as mandatory, then it is mandatory\n"
|
||||
"for the equivalent short option also. Similarly for optional arguments.\n"
|
||||
@@ -113,7 +115,7 @@ msgstr ""
|
||||
"il est alors obligatoire également pour une option de forme courte.\n"
|
||||
"Il en est de même pour les arguments optionnels.\n"
|
||||
|
||||
#: src/getargs.c:171
|
||||
#: src/getargs.c:202
|
||||
msgid ""
|
||||
"Operation modes:\n"
|
||||
" -h, --help display this help and exit\n"
|
||||
@@ -125,7 +127,7 @@ msgstr ""
|
||||
" -V, --version afficher le nom et la version du logiciel\n"
|
||||
" -y, --yacc émuler yacc en mode POSIX\n"
|
||||
|
||||
#: src/getargs.c:178
|
||||
#: src/getargs.c:209
|
||||
msgid ""
|
||||
"Parser:\n"
|
||||
" -S, --skeleton=FILE specify the skeleton to use\n"
|
||||
@@ -147,7 +149,7 @@ msgstr ""
|
||||
" -r, --raw compter les jetons à partir de 3\n"
|
||||
" -k, --token-table inclure la table des noms de jetons\n"
|
||||
|
||||
#: src/getargs.c:190
|
||||
#: src/getargs.c:221
|
||||
msgid ""
|
||||
"Output:\n"
|
||||
" -d, --defines also produce a header file\n"
|
||||
@@ -167,7 +169,7 @@ msgstr ""
|
||||
" -g, --graph produire aussi la description du graphe VCG de "
|
||||
"l'automate\n"
|
||||
|
||||
#: src/getargs.c:201
|
||||
#: src/getargs.c:232
|
||||
msgid ""
|
||||
"THINGS is a list of comma separated words that can include:\n"
|
||||
" `state' describe the states\n"
|
||||
@@ -185,25 +187,25 @@ msgstr ""
|
||||
" `all' inclure toutes les informations ci-haut\n"
|
||||
" `none' désactiver la génération de rapport\n"
|
||||
|
||||
#: src/getargs.c:212
|
||||
#: src/getargs.c:243
|
||||
msgid "Report bugs to <[email protected]>.\n"
|
||||
msgstr "Rapporter toutes anomalies à <[email protected]>.\n"
|
||||
|
||||
#: src/getargs.c:226
|
||||
#: src/getargs.c:260
|
||||
#, c-format
|
||||
msgid "bison (GNU Bison) %s"
|
||||
msgstr "bison (GNU Bison) %s"
|
||||
|
||||
#: src/getargs.c:228
|
||||
#: src/getargs.c:262
|
||||
msgid "Written by Robert Corbett and Richard Stallman.\n"
|
||||
msgstr "Écrit par Robert Corbett et Richard Stallman.\n"
|
||||
|
||||
#: src/getargs.c:232
|
||||
#: src/getargs.c:266
|
||||
#, c-format
|
||||
msgid "Copyright (C) %d Free Software Foundation, Inc.\n"
|
||||
msgstr "Copyright © %d Free Software Foundation, Inc.\n"
|
||||
|
||||
#: src/getargs.c:234
|
||||
#: src/getargs.c:268
|
||||
msgid ""
|
||||
"This is free software; see the source for copying conditions. There is NO\n"
|
||||
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
|
||||
@@ -212,66 +214,60 @@ msgstr ""
|
||||
"reproduction. AUCUNE garantie n'est donnée; tant pour des raisons\n"
|
||||
"COMMERCIALES que pour RÉPONDRE À UN BESOIN PARTICULIER.\n"
|
||||
|
||||
#: src/getargs.c:395
|
||||
#: src/getargs.c:424
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information.\n"
|
||||
msgstr "Pour en savoir davantage, faites: « %s --help ».\n"
|
||||
msgid "missing operand after `%s'"
|
||||
msgstr "opérande manquante après « %s »"
|
||||
|
||||
#: src/getargs.c:402
|
||||
#: src/getargs.c:426
|
||||
#, c-format
|
||||
msgid "%s: no grammar file given\n"
|
||||
msgstr "%s: grammaire manquante\n"
|
||||
msgid "extra operand `%s'"
|
||||
msgstr "opérande superflue « %s »"
|
||||
|
||||
#: src/getargs.c:406
|
||||
#, c-format
|
||||
msgid "%s: extra arguments ignored after `%s'\n"
|
||||
msgstr "%s: arguments supplémentaires ignorés après « %s »\n"
|
||||
|
||||
#: src/gram.c:139
|
||||
#: src/gram.c:142
|
||||
msgid "empty"
|
||||
msgstr "vide"
|
||||
|
||||
#: src/gram.c:233
|
||||
#: src/gram.c:236
|
||||
msgid "Grammar"
|
||||
msgstr "Grammaire"
|
||||
|
||||
#: src/gram.c:321 src/reduce.c:302 src/reduce.c:392
|
||||
#: src/gram.c:324 src/reduce.c:393
|
||||
msgid "warning"
|
||||
msgstr "AVERTISSEMENT"
|
||||
|
||||
#: src/lalr.c:91
|
||||
#, c-format
|
||||
msgid "too many gotos (max %d)"
|
||||
msgstr "nombre trop grand de « goto » (Max %d)"
|
||||
|
||||
#: src/main.c:117
|
||||
#: src/main.c:124
|
||||
msgid "rule never reduced because of conflicts"
|
||||
msgstr "la règle n'a jamais fait de réduction en raison des conflits"
|
||||
|
||||
#: parse-gram.y:347
|
||||
#: src/parse-gram.y:334
|
||||
msgid "POSIX forbids declarations in the grammar"
|
||||
msgstr "POSIX interdit les déclaration dans la grammaire"
|
||||
|
||||
#: src/print.c:46
|
||||
#: src/parse-gram.y:457
|
||||
msgid "missing identifier in parameter declaration"
|
||||
msgstr ""
|
||||
|
||||
#: src/print.c:48
|
||||
#, c-format
|
||||
msgid " type %d is %s\n"
|
||||
msgstr " le type %d est %s\n"
|
||||
|
||||
#: src/print.c:162
|
||||
#: src/print.c:164
|
||||
#, c-format
|
||||
msgid "shift, and go to state %d\n"
|
||||
msgstr "décalage et aller à l'état %d\n"
|
||||
|
||||
#: src/print.c:164
|
||||
#: src/print.c:166
|
||||
#, c-format
|
||||
msgid "go to state %d\n"
|
||||
msgstr "aller à l'état %d\n"
|
||||
|
||||
#: src/print.c:201
|
||||
#: src/print.c:203
|
||||
msgid "error (nonassociative)\n"
|
||||
msgstr "erreur (non-associative)\n"
|
||||
|
||||
#: src/print.c:290
|
||||
#: src/print.c:291
|
||||
#, c-format
|
||||
msgid "reduce using rule %d (%s)"
|
||||
msgstr "réduction par utilisation de la règle %d (%s)"
|
||||
@@ -289,128 +285,110 @@ msgstr "$d
|
||||
msgid "state %d"
|
||||
msgstr "état %d"
|
||||
|
||||
#: src/print.c:456
|
||||
#: src/print.c:455
|
||||
msgid "Terminals, with rules where they appear"
|
||||
msgstr "Terminaux, suivis des règles où ils apparaissent"
|
||||
|
||||
#: src/print.c:483
|
||||
#: src/print.c:482
|
||||
msgid "Nonterminals, with rules where they appear"
|
||||
msgstr "Non-terminaux, suivis des règles où ils apparaissent"
|
||||
|
||||
#: src/print.c:512
|
||||
#: src/print.c:511
|
||||
msgid " on left:"
|
||||
msgstr " à gauche:"
|
||||
|
||||
#: src/print.c:527
|
||||
#: src/print.c:526
|
||||
msgid " on right:"
|
||||
msgstr " à droite:"
|
||||
|
||||
#: src/print.c:555
|
||||
#: src/print.c:554
|
||||
msgid "Rules never reduced"
|
||||
msgstr "Règles jamais réduites"
|
||||
|
||||
#: src/reader.c:52
|
||||
#: src/reader.c:53
|
||||
#, c-format
|
||||
msgid "multiple %s declarations"
|
||||
msgstr "déclarations multiples de %s"
|
||||
|
||||
#: src/reader.c:141
|
||||
#: src/reader.c:138
|
||||
#, c-format
|
||||
msgid "result type clash on merge function %s: `%s' vs. `%s'"
|
||||
msgid "result type clash on merge function %s: <%s> != <%s>"
|
||||
msgstr ""
|
||||
"conflit dans le type résultant de la fonction de fusion %s: « %s » vs « %s »"
|
||||
"conflit dans le type résultant de la fonction de fusion %s: <%s> != <%s>"
|
||||
|
||||
#: src/reader.c:239
|
||||
#: src/reader.c:236
|
||||
#, c-format
|
||||
msgid "rule given for %s, which is a token"
|
||||
msgstr "la règle pour %s, qui est un terminal"
|
||||
|
||||
#: src/reader.c:268
|
||||
#: src/reader.c:265
|
||||
#, c-format
|
||||
msgid "type clash (`%s' `%s') on default action"
|
||||
msgstr "conflit de type (« %s » « %s ») pour l'action par défaut"
|
||||
msgid "type clash on default action: <%s> != <%s>"
|
||||
msgstr "conflit de type pour l'action par défaut: <%s> != <%s>"
|
||||
|
||||
#: src/reader.c:274
|
||||
#: src/reader.c:271
|
||||
msgid "empty rule for typed nonterminal, and no action"
|
||||
msgstr "règle vide pour une catégorie typée et aucune action"
|
||||
|
||||
#: src/reader.c:344
|
||||
msgid "two @prec's in a row"
|
||||
msgstr "deux @prec de suite"
|
||||
|
||||
#: src/reader.c:354
|
||||
#: src/reader.c:341 src/reader.c:355 src/reader.c:368
|
||||
#, c-format
|
||||
msgid "%%dprec affects only GLR parsers"
|
||||
msgstr "%%dprec affecte seulement les analyseurs GLR"
|
||||
msgid "only one %s allowed per rule"
|
||||
msgstr "seul un %s est permis par règle"
|
||||
|
||||
#: src/reader.c:356
|
||||
#: src/reader.c:351 src/reader.c:366
|
||||
#, c-format
|
||||
msgid "%%dprec must be followed by positive number"
|
||||
msgstr "%%dprec doit être suivi d'un nombre positif"
|
||||
msgid "%s affects only GLR parsers"
|
||||
msgstr "%s affecte seulement les analyseurs GLR"
|
||||
|
||||
#: src/reader.c:358
|
||||
#: src/reader.c:353
|
||||
#, c-format
|
||||
msgid "only one %%dprec allowed per rule"
|
||||
msgstr "seul un %%dprec est permis par règle"
|
||||
msgid "%s must be followed by positive number"
|
||||
msgstr "%s doit être suivi d'un nombre positif"
|
||||
|
||||
#: src/reader.c:369
|
||||
#, c-format
|
||||
msgid "%%merge affects only GLR parsers"
|
||||
msgstr "%%merge affecte seulement les analyseurs GLR"
|
||||
|
||||
#: src/reader.c:371
|
||||
#, c-format
|
||||
msgid "only one %%merge allowed per rule"
|
||||
msgstr "seul un %%merge est permis par règle"
|
||||
|
||||
#: src/reader.c:514
|
||||
#: src/reader.c:510
|
||||
msgid "no rules in the input grammar"
|
||||
msgstr "la grammaire n'a pas de règles"
|
||||
|
||||
#: src/reader.c:546
|
||||
#, c-format
|
||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||
msgstr "trop de symboles (jeton plus non terminaux); maximum %d"
|
||||
|
||||
#: src/reduce.c:239
|
||||
#: src/reduce.c:241
|
||||
msgid "useless rule"
|
||||
msgstr "règle inutilisable"
|
||||
|
||||
#: src/reduce.c:302
|
||||
msgid "useless nonterminal"
|
||||
#, fuzzy, c-format
|
||||
msgid "useless nonterminal: %s"
|
||||
msgstr "non-terminal inutilisable"
|
||||
|
||||
#: src/reduce.c:349
|
||||
#: src/reduce.c:350
|
||||
msgid "Useless nonterminals"
|
||||
msgstr "Non-terminaux inutiles"
|
||||
|
||||
#: src/reduce.c:362
|
||||
#: src/reduce.c:363
|
||||
msgid "Terminals which are not used"
|
||||
msgstr "Terminaux qui ne sont utilisés"
|
||||
|
||||
#: src/reduce.c:371
|
||||
#: src/reduce.c:372
|
||||
msgid "Useless rules"
|
||||
msgstr "Règles inutiles"
|
||||
|
||||
#: src/reduce.c:387
|
||||
#: src/reduce.c:388
|
||||
#, c-format
|
||||
msgid "%d rule never reduced\n"
|
||||
msgid_plural "%d rules never reduced\n"
|
||||
msgstr[0] "%d règle n'a jamais été réduite\n"
|
||||
msgstr[1] "%d règles n'ont jamais été réduites\n"
|
||||
|
||||
#: src/reduce.c:395
|
||||
#: src/reduce.c:396
|
||||
#, c-format
|
||||
msgid "%d useless nonterminal"
|
||||
msgid_plural "%d useless nonterminals"
|
||||
msgstr[0] "%d nonterminal inutilisable"
|
||||
msgstr[1] "%d nonterminals inutilisables"
|
||||
|
||||
#: src/reduce.c:401
|
||||
#: src/reduce.c:402
|
||||
msgid " and "
|
||||
msgstr " et "
|
||||
|
||||
#: src/reduce.c:404
|
||||
#: src/reduce.c:405
|
||||
#, c-format
|
||||
msgid "%d useless rule"
|
||||
msgid_plural "%d useless rules"
|
||||
@@ -423,76 +401,70 @@ msgid "start symbol %s does not derive any sentence"
|
||||
msgstr ""
|
||||
"symbole de départ %s peut permettre la dérivation de n'importe quelle phrase"
|
||||
|
||||
#: scan-gram.l:211
|
||||
#: src/scan-gram.l:157
|
||||
msgid "stray `,' treated as white space"
|
||||
msgstr ""
|
||||
|
||||
#: src/scan-gram.l:216
|
||||
#, c-format
|
||||
msgid ": invalid character: `%c'\n"
|
||||
msgstr ": caractère invalide: `%c'\n"
|
||||
msgid "invalid directive: %s"
|
||||
msgstr "directive invalide: %s"
|
||||
|
||||
#: scan-gram.l:255
|
||||
msgid ": unexpected end of file in a comment\n"
|
||||
msgstr ": fin de fichier inattendue dans un commentaire\n"
|
||||
|
||||
#: scan-gram.l:284 scan-gram.l:423
|
||||
msgid ": unexpected end of file in a string\n"
|
||||
msgstr ": fin de fichier inattendue dans une chaîne\n"
|
||||
|
||||
#: scan-gram.l:322 scan-gram.l:394
|
||||
msgid ": unexpected end of file in a character\n"
|
||||
msgstr ": fin de fichier inattendue dans un caractère\n"
|
||||
|
||||
#: scan-gram.l:343
|
||||
#: src/scan-gram.l:236 src/scan-gram.l:785 src/scan-gram.l:853
|
||||
#, c-format
|
||||
msgid ": invalid escape: %s\n"
|
||||
msgstr ": séquence d'échappement invalide: %s\n"
|
||||
msgid "integer out of range: %s"
|
||||
msgstr "entier hors gamme: %s"
|
||||
|
||||
#: scan-gram.l:364
|
||||
#: src/scan-gram.l:281
|
||||
#, c-format
|
||||
msgid ": unrecognized escape: %s\n"
|
||||
msgstr ": séquence d'échappement non reconnue: %s\n"
|
||||
msgid "invalid character: %s"
|
||||
msgstr "caractère invalide: %s"
|
||||
|
||||
#: scan-gram.l:485
|
||||
msgid ": unexpected end of file in a braced code\n"
|
||||
msgstr ": fin de fichier inattendue dans du code entre accolades\n"
|
||||
#: src/scan-gram.l:405 src/scan-gram.l:415 src/scan-gram.l:434
|
||||
#, c-format
|
||||
msgid "invalid escape sequence: %s"
|
||||
msgstr "séquence d'échappement invalide: %s"
|
||||
|
||||
#: scan-gram.l:514
|
||||
msgid ": unexpected end of file in a prologue\n"
|
||||
msgstr ": fin de fichier inattendue dans un prologue\n"
|
||||
#: src/scan-gram.l:439
|
||||
#, c-format
|
||||
msgid "unrecognized escape sequence: %s"
|
||||
msgstr "séquence d'échappement non reconnue: %s"
|
||||
|
||||
#: scan-gram.l:572
|
||||
#: src/scan-gram.l:524
|
||||
#, fuzzy, c-format
|
||||
msgid "missing `{' in `%s'"
|
||||
msgstr "opérande manquante après « %s »"
|
||||
|
||||
#: src/scan-gram.l:757
|
||||
#, c-format
|
||||
msgid "$$ of `%s' has no declared type"
|
||||
msgstr "$$ de « %s » n'a pas son type déclaré"
|
||||
|
||||
#: scan-gram.l:584 scan-gram.l:666
|
||||
#, c-format
|
||||
msgid "invalid value: %s%d"
|
||||
msgstr "valeur invalide: %s%d"
|
||||
|
||||
#: scan-gram.l:591
|
||||
#: src/scan-gram.l:776
|
||||
#, c-format
|
||||
msgid "$%d of `%s' has no declared type"
|
||||
msgstr "$%d de « %s » n'a pas de type déclaré"
|
||||
|
||||
#: scan-gram.l:602 scan-gram.l:619 scan-gram.l:673 scan-gram.l:690
|
||||
#: src/scan-gram.l:820 src/scan-gram.l:887
|
||||
#, c-format
|
||||
msgid "%s is invalid"
|
||||
msgstr "%s n'est pas valide"
|
||||
msgid "invalid value: %s"
|
||||
msgstr "valeur invalide: %s"
|
||||
|
||||
#: src/state.c:145
|
||||
#: src/scan-gram.l:978
|
||||
#, c-format
|
||||
msgid "too many states (max %d)"
|
||||
msgstr "nombre trop grand d'états (max %d)"
|
||||
msgid "missing `%s' at end of file"
|
||||
msgstr "chaîne de caractères « %s » manquante en fin de fichier"
|
||||
|
||||
#: src/symlist.c:97 src/symlist.c:109
|
||||
#: src/symlist.c:97 src/symlist.c:108
|
||||
msgid "invalid $ value"
|
||||
msgstr "la valeur de symbole $ n'est pas valide"
|
||||
|
||||
#: src/symtab.c:81
|
||||
#: src/symtab.c:84
|
||||
#, c-format
|
||||
msgid "type redeclaration for %s"
|
||||
msgstr "redéclaration du type de %s"
|
||||
|
||||
#: src/symtab.c:98 src/symtab.c:117
|
||||
#: src/symtab.c:101 src/symtab.c:119
|
||||
#, c-format
|
||||
msgid "%s redeclaration for %s"
|
||||
msgstr "redéclaration de %s pour %s"
|
||||
@@ -502,110 +474,110 @@ msgstr "red
|
||||
msgid "redefining precedence of %s"
|
||||
msgstr "redéfinition du niveau de priorité de %s"
|
||||
|
||||
#: src/symtab.c:157
|
||||
#: src/symtab.c:156
|
||||
#, c-format
|
||||
msgid "symbol %s redefined"
|
||||
msgstr "symbole %s redéfini"
|
||||
|
||||
#: src/symtab.c:180
|
||||
#: src/symtab.c:179
|
||||
#, c-format
|
||||
msgid "redefining user token number of %s"
|
||||
msgstr "redéfinition du jeton usager numéro de %s"
|
||||
|
||||
#: src/symtab.c:225
|
||||
#: src/symtab.c:206
|
||||
#, c-format
|
||||
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
||||
msgstr ""
|
||||
"le symbole %s est utilisé mais ce n'est pas un terminal et il ne possède pas "
|
||||
"de règle"
|
||||
|
||||
#: src/symtab.c:244
|
||||
#: src/symtab.c:231
|
||||
#, c-format
|
||||
msgid "symbol `%s' used more than once as a literal string"
|
||||
msgstr "symbole « %s » utilisé plus d'une fois dans une chaîne litérale"
|
||||
|
||||
#: src/symtab.c:247
|
||||
#: src/symtab.c:234
|
||||
#, c-format
|
||||
msgid "symbol `%s' given more than one literal string"
|
||||
msgstr "symbole « %s » présent dans plus d'une chaîne litérale"
|
||||
|
||||
#: src/symtab.c:281
|
||||
#: src/symtab.c:270
|
||||
#, c-format
|
||||
msgid "conflicting precedences for %s and %s"
|
||||
msgstr "les priorités pour %s et %s entrent en conflit"
|
||||
|
||||
#: src/symtab.c:293
|
||||
#: src/symtab.c:282
|
||||
#, c-format
|
||||
msgid "conflicting associativities for %s (%s) and %s (%s)"
|
||||
msgstr "conflits d'associativités pour %s (%s) et %s (%s)"
|
||||
|
||||
#: src/symtab.c:363
|
||||
#: src/symtab.c:367
|
||||
#, c-format
|
||||
msgid "tokens %s and %s both assigned number %d"
|
||||
msgstr "les jetons %s et %s se sont vus assigner le nombre %d"
|
||||
|
||||
#: src/symtab.c:568
|
||||
#: src/symtab.c:590
|
||||
#, c-format
|
||||
msgid "the start symbol %s is undefined"
|
||||
msgstr "le symbole de départ %s n'est pas défini"
|
||||
|
||||
#: src/symtab.c:572
|
||||
#: src/symtab.c:594
|
||||
#, c-format
|
||||
msgid "the start symbol %s is a token"
|
||||
msgstr "le symbole de départ %s est un terminal"
|
||||
|
||||
#: lib/argmatch.c:161
|
||||
#: lib/argmatch.c:129
|
||||
#, c-format
|
||||
msgid "invalid argument %s for %s"
|
||||
msgstr "argument invalide %s pour %s"
|
||||
|
||||
#: lib/argmatch.c:162
|
||||
#: lib/argmatch.c:130
|
||||
#, c-format
|
||||
msgid "ambiguous argument %s for %s"
|
||||
msgstr "argument ambiguë %s pour %s"
|
||||
|
||||
#: lib/argmatch.c:181
|
||||
#: lib/argmatch.c:149
|
||||
msgid "Valid arguments are:"
|
||||
msgstr "Arguments valides sont:"
|
||||
|
||||
#: lib/bitset_stats.c:235
|
||||
#: lib/bitset_stats.c:178
|
||||
#, c-format
|
||||
msgid "%u bitset_allocs, %u freed (%.2f%%).\n"
|
||||
msgstr "%u bitset_allocs, %u libérés (%.2f%%).\n"
|
||||
|
||||
#: lib/bitset_stats.c:238
|
||||
#: lib/bitset_stats.c:181
|
||||
#, c-format
|
||||
msgid "%u bitset_sets, %u cached (%.2f%%)\n"
|
||||
msgstr "%u bitset_sets, %u dans la cache (%.2f%%)\n"
|
||||
|
||||
#: lib/bitset_stats.c:241
|
||||
#: lib/bitset_stats.c:184
|
||||
#, c-format
|
||||
msgid "%u bitset_resets, %u cached (%.2f%%)\n"
|
||||
msgstr "%u bitset_resets, %u dans la cache (%.2f%%)\n"
|
||||
|
||||
#: lib/bitset_stats.c:244
|
||||
#: lib/bitset_stats.c:187
|
||||
#, c-format
|
||||
msgid "%u bitset_tests, %u cached (%.2f%%)\n"
|
||||
msgstr "%u bitset_tests, %u dans la cache (%.2f%%)\n"
|
||||
|
||||
#: lib/bitset_stats.c:248
|
||||
#: lib/bitset_stats.c:191
|
||||
#, c-format
|
||||
msgid "%u bitset_lists\n"
|
||||
msgstr "%u bitset_lists\n"
|
||||
|
||||
#: lib/bitset_stats.c:250
|
||||
#: lib/bitset_stats.c:193
|
||||
msgid "count log histogram\n"
|
||||
msgstr "histogramme des compteurs\n"
|
||||
|
||||
#: lib/bitset_stats.c:253
|
||||
#: lib/bitset_stats.c:196
|
||||
msgid "size log histogram\n"
|
||||
msgstr "taille de l'histogramme des compteurs\n"
|
||||
|
||||
#: lib/bitset_stats.c:256
|
||||
#: lib/bitset_stats.c:199
|
||||
msgid "density histogram\n"
|
||||
msgstr "densité de l'histogramme\n"
|
||||
|
||||
#: lib/bitset_stats.c:272
|
||||
#: lib/bitset_stats.c:213
|
||||
msgid ""
|
||||
"Bitset statistics:\n"
|
||||
"\n"
|
||||
@@ -613,94 +585,114 @@ msgstr ""
|
||||
"Statistiques des bitset:\n"
|
||||
"\n"
|
||||
|
||||
#: lib/bitset_stats.c:275
|
||||
#: lib/bitset_stats.c:216
|
||||
#, c-format
|
||||
msgid "Accumulated runs = %u\n"
|
||||
msgstr "Exécutions accumulées = %u\n"
|
||||
|
||||
#: lib/bitset_stats.c:320
|
||||
#: lib/bitset_stats.c:260 lib/bitset_stats.c:265
|
||||
msgid "Could not read stats file."
|
||||
msgstr "Ne peut lire le fichier de stats."
|
||||
|
||||
#: lib/bitset_stats.c:322
|
||||
#: lib/bitset_stats.c:262
|
||||
msgid "Bad stats file size.\n"
|
||||
msgstr "Taille erronée du fichier de stats.\n"
|
||||
|
||||
#: lib/bitset_stats.c:348
|
||||
#: lib/bitset_stats.c:288 lib/bitset_stats.c:290
|
||||
msgid "Could not write stats file."
|
||||
msgstr "Ne peut écrire le fichier de stats."
|
||||
|
||||
#: lib/bitset_stats.c:352
|
||||
#: lib/bitset_stats.c:293
|
||||
msgid "Could not open stats file for writing."
|
||||
msgstr "Ne ouvrir en écriture le fichier de stats."
|
||||
|
||||
#: lib/getopt.c:662
|
||||
#: lib/getopt.c:688 lib/getopt.c:700
|
||||
#, c-format
|
||||
msgid "%s: option `%s' is ambiguous\n"
|
||||
msgstr "%s: l'option %s est ambigüe\n"
|
||||
|
||||
#: lib/getopt.c:687
|
||||
#: lib/getopt.c:733 lib/getopt.c:737
|
||||
#, c-format
|
||||
msgid "%s: option `--%s' doesn't allow an argument\n"
|
||||
msgstr "%s: l'option « --%s » n'admet pas d'argument\n"
|
||||
|
||||
#: lib/getopt.c:692
|
||||
#: lib/getopt.c:746 lib/getopt.c:751
|
||||
#, c-format
|
||||
msgid "%s: option `%c%s' doesn't allow an argument\n"
|
||||
msgstr "%s: l'option « %c%s » n'admet pas d'argument\n"
|
||||
|
||||
#: lib/getopt.c:710 lib/getopt.c:883
|
||||
#: lib/getopt.c:787 lib/getopt.c:800 lib/getopt.c:1089 lib/getopt.c:1102
|
||||
#, c-format
|
||||
msgid "%s: option `%s' requires an argument\n"
|
||||
msgstr "%s: l'option « %s » requiert un argument\n"
|
||||
|
||||
#: lib/getopt.c:739
|
||||
#: lib/getopt.c:838 lib/getopt.c:841
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `--%s'\n"
|
||||
msgstr "%s: l'option « --%s » est inconnue\n"
|
||||
|
||||
#: lib/getopt.c:743
|
||||
#: lib/getopt.c:849 lib/getopt.c:852
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `%c%s'\n"
|
||||
msgstr "%s: l'option « %c%s » est inconnue\n"
|
||||
|
||||
#: lib/getopt.c:769
|
||||
#: lib/getopt.c:899 lib/getopt.c:902
|
||||
#, c-format
|
||||
msgid "%s: illegal option -- %c\n"
|
||||
msgstr "%s: option illégale -- %c\n"
|
||||
|
||||
#: lib/getopt.c:772
|
||||
#: lib/getopt.c:908 lib/getopt.c:911
|
||||
#, c-format
|
||||
msgid "%s: invalid option -- %c\n"
|
||||
msgstr "%s: option non valide -- %c\n"
|
||||
|
||||
#: lib/getopt.c:802 lib/getopt.c:932
|
||||
#: lib/getopt.c:958 lib/getopt.c:969 lib/getopt.c:1155 lib/getopt.c:1168
|
||||
#, c-format
|
||||
msgid "%s: option requires an argument -- %c\n"
|
||||
msgstr "%s: l'option requiert un argument -- %c\n"
|
||||
|
||||
#: lib/getopt.c:849
|
||||
#: lib/getopt.c:1021 lib/getopt.c:1032
|
||||
#, c-format
|
||||
msgid "%s: option `-W %s' is ambiguous\n"
|
||||
msgstr "%s: l'option « -W %s » est ambiguë\n"
|
||||
|
||||
#: lib/getopt.c:867
|
||||
#: lib/getopt.c:1056 lib/getopt.c:1068
|
||||
#, c-format
|
||||
msgid "%s: option `-W %s' doesn't allow an argument\n"
|
||||
msgstr "%s: l'option « -W %s » n'admet pas d'argument\n"
|
||||
|
||||
#: lib/obstack.c:496 lib/obstack.c:499 lib/xmalloc.c:66
|
||||
#: lib/obstack.c:487 lib/obstack.c:490 lib/xmalloc.c:63
|
||||
msgid "memory exhausted"
|
||||
msgstr "mémoire épuisée"
|
||||
|
||||
#: lib/quotearg.c:274
|
||||
#: lib/quotearg.c:236
|
||||
msgid "`"
|
||||
msgstr "`"
|
||||
|
||||
#: lib/quotearg.c:275
|
||||
#: lib/quotearg.c:237
|
||||
msgid "'"
|
||||
msgstr "'"
|
||||
|
||||
#: lib/subpipe.c:187
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' could not be invoked"
|
||||
msgstr "programme subsidiaire « %s » n'a pu être invoqué"
|
||||
|
||||
#: lib/subpipe.c:189
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' not found"
|
||||
msgstr "programme subsidiaire « %s » n'a pas été repéré"
|
||||
|
||||
#: lib/subpipe.c:191
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' failed"
|
||||
msgstr "programme subsidiaire « %s » a échoué"
|
||||
|
||||
#: lib/subpipe.c:192
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' failed (exit status %d)"
|
||||
msgstr "programme subsidiaire « %s » a échoué (statut d'exécution %d)"
|
||||
|
||||
#: lib/timevar.c:476
|
||||
msgid ""
|
||||
"\n"
|
||||
@@ -718,6 +710,62 @@ msgstr " TOTAL :"
|
||||
msgid "time in %s: %ld.%06ld (%ld%%)\n"
|
||||
msgstr "temps dans %s: %ld.%06ld (%ld%%)\n"
|
||||
|
||||
#~ msgid "%d shift/reduce conflict"
|
||||
#~ msgid_plural "%d shift/reduce conflicts"
|
||||
#~ msgstr[0] "%d conflit par décalage/réduction"
|
||||
#~ msgstr[1] "%d conflits par décalage/réduction"
|
||||
|
||||
#~ msgid "and"
|
||||
#~ msgstr "et"
|
||||
|
||||
#~ msgid "conflicts: "
|
||||
#~ msgstr "conflits: "
|
||||
|
||||
#~ msgid "State %d contains "
|
||||
#~ msgstr "L'état %d contient "
|
||||
|
||||
#~ msgid "too many gotos (max %d)"
|
||||
#~ msgstr "nombre trop grand de « goto » (Max %d)"
|
||||
|
||||
#~ msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||
#~ msgstr "trop de symboles (jeton plus non terminaux); maximum %d"
|
||||
|
||||
#~ msgid ": unexpected end of file in a comment\n"
|
||||
#~ msgstr ": fin de fichier inattendue dans un commentaire\n"
|
||||
|
||||
#~ msgid ": unexpected end of file in a string\n"
|
||||
#~ msgstr ": fin de fichier inattendue dans une chaîne\n"
|
||||
|
||||
#~ msgid ": unexpected end of file in a character\n"
|
||||
#~ msgstr ": fin de fichier inattendue dans un caractère\n"
|
||||
|
||||
#~ msgid ": unexpected end of file in a braced code\n"
|
||||
#~ msgstr ": fin de fichier inattendue dans du code entre accolades\n"
|
||||
|
||||
#~ msgid ": unexpected end of file in a prologue\n"
|
||||
#~ msgstr ": fin de fichier inattendue dans un prologue\n"
|
||||
|
||||
#~ msgid "%s is invalid"
|
||||
#~ msgstr "%s n'est pas valide"
|
||||
|
||||
#~ msgid "too many states (max %d)"
|
||||
#~ msgstr "nombre trop grand d'états (max %d)"
|
||||
|
||||
#~ msgid "%s: no grammar file given\n"
|
||||
#~ msgstr "%s: grammaire manquante\n"
|
||||
|
||||
#~ msgid "%s: extra arguments ignored after `%s'\n"
|
||||
#~ msgstr "%s: arguments supplémentaires ignorés après « %s »\n"
|
||||
|
||||
#~ msgid "two @prec's in a row"
|
||||
#~ msgstr "deux @prec de suite"
|
||||
|
||||
#~ msgid "%%dprec affects only GLR parsers"
|
||||
#~ msgstr "%%dprec affecte seulement les analyseurs GLR"
|
||||
|
||||
#~ msgid "only one %%dprec allowed per rule"
|
||||
#~ msgstr "seul un %%dprec est permis par règle"
|
||||
|
||||
#~ msgid "state_list_append (state = %d, symbol = %d (%s))\n"
|
||||
#~ msgstr "state_list_append (état = %d, symbole = %d (%s))\n"
|
||||
|
||||
@@ -823,9 +871,6 @@ msgstr "temps dans %s: %ld.%06ld (%ld%%)\n"
|
||||
#~ msgid "shift"
|
||||
#~ msgstr "décalage"
|
||||
|
||||
#~ msgid "an error"
|
||||
#~ msgstr "une erreur"
|
||||
|
||||
#~ msgid "%s contains "
|
||||
#~ msgstr "%s contient "
|
||||
|
||||
@@ -903,9 +948,6 @@ msgstr "temps dans %s: %ld.%06ld (%ld%%)\n"
|
||||
#~ msgid " Skipping to next %c"
|
||||
#~ msgstr " Saut jusqu'au prochain %c"
|
||||
|
||||
#~ msgid "unterminated string at end of file"
|
||||
#~ msgstr "chaîne de caractères non terminée en fin de fichier"
|
||||
|
||||
#~ msgid "unterminated string"
|
||||
#~ msgstr "chaîne de caractère non terminée"
|
||||
|
||||
@@ -968,9 +1010,6 @@ msgstr "temps dans %s: %ld.%06ld (%ld%%)\n"
|
||||
#~ msgid "two actions at end of one rule"
|
||||
#~ msgstr "deux actions à la fin d'une même règle"
|
||||
|
||||
#~ msgid "invalid input: %s"
|
||||
#~ msgstr "entrée non valide: %s"
|
||||
|
||||
#~ msgid "maximum table size (%d) exceeded"
|
||||
#~ msgstr "taille maximale de la table (%d) dépassée"
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: bison 1.34a\n"
|
||||
"POT-Creation-Date: 2002-10-14 14:47+0200\n"
|
||||
"POT-Creation-Date: 2003-01-01 01:28-0800\n"
|
||||
"PO-Revision-Date: 2002-04-10 22:20+01\n"
|
||||
"Last-Translator: Denis Lackovic <[email protected]>\n"
|
||||
"Language-Team: Croatian <[email protected]>\n"
|
||||
@@ -16,96 +16,99 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n==1 ? 0 : 1);\n"
|
||||
|
||||
#: src/complain.c:89 lib/error.c:128 lib/error.c:156
|
||||
#: src/complain.c:56 lib/error.c:135 lib/error.c:163
|
||||
msgid "Unknown system error"
|
||||
msgstr "Nepoznata sistemska gre¹ka"
|
||||
|
||||
#: src/complain.c:123 src/complain.c:152
|
||||
#: src/complain.c:79 src/complain.c:94
|
||||
msgid "warning: "
|
||||
msgstr "upozorenje:"
|
||||
|
||||
#: src/complain.c:252 src/complain.c:282
|
||||
#: src/complain.c:150 src/complain.c:166
|
||||
msgid "fatal error: "
|
||||
msgstr "fatalna gre¹ka:"
|
||||
|
||||
#: src/conflicts.c:72
|
||||
#: src/conflicts.c:75
|
||||
#, fuzzy, c-format
|
||||
msgid " Conflict between rule %d and token %s resolved as shift"
|
||||
msgstr "Konflikt u stanju %d izmeðu pravila %d i znaka %s razrije¹en kao %s.\n"
|
||||
|
||||
#: src/conflicts.c:80
|
||||
#: src/conflicts.c:83
|
||||
#, fuzzy, c-format
|
||||
msgid " Conflict between rule %d and token %s resolved as reduce"
|
||||
msgstr "Konflikt u stanju %d izmeðu pravila %d i znaka %s razrije¹en kao %s.\n"
|
||||
|
||||
#: src/conflicts.c:87
|
||||
#: src/conflicts.c:90
|
||||
#, fuzzy, c-format
|
||||
msgid " Conflict between rule %d and token %s resolved as an error"
|
||||
msgstr "Konflikt u stanju %d izmeðu pravila %d i znaka %s razrije¹en kao %s.\n"
|
||||
|
||||
#: src/conflicts.c:402
|
||||
#: src/conflicts.c:398
|
||||
#, c-format
|
||||
msgid "%d shift/reduce conflict"
|
||||
msgid_plural "%d shift/reduce conflicts"
|
||||
msgstr[0] "%d pomakni/reduciraj konflikat"
|
||||
msgstr[1] "%d pomakni/reduciraj konflikata"
|
||||
msgid "conflicts: %d shift/reduce, %d reduce/reduce\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/conflicts.c:409
|
||||
msgid "and"
|
||||
msgstr "i"
|
||||
|
||||
#: src/conflicts.c:415
|
||||
#, c-format
|
||||
msgid "%d reduce/reduce conflict"
|
||||
msgid_plural "%d reduce/reduce conflicts"
|
||||
msgstr[0] "%d reduciraj/reduciraj konflikt"
|
||||
msgstr[1] "%d reduciraj/reduciraj konflikata"
|
||||
|
||||
#: src/conflicts.c:435
|
||||
msgid "conflicts: "
|
||||
msgstr "konflikt:"
|
||||
|
||||
#: src/conflicts.c:437
|
||||
#, c-format
|
||||
msgid " %d shift/reduce"
|
||||
#: src/conflicts.c:401
|
||||
#, fuzzy, c-format
|
||||
msgid "conflicts: %d shift/reduce\n"
|
||||
msgstr " %d pomakni/reduciraj"
|
||||
|
||||
#: src/conflicts.c:441
|
||||
#, c-format
|
||||
msgid " %d reduce/reduce"
|
||||
#: src/conflicts.c:403
|
||||
#, fuzzy, c-format
|
||||
msgid "conflicts: %d reduce/reduce\n"
|
||||
msgstr " %d reduviraj/reduciraj"
|
||||
|
||||
#: src/conflicts.c:460
|
||||
#, c-format
|
||||
msgid "State %d contains "
|
||||
msgstr "Stanje %d sadr¾i"
|
||||
#: src/conflicts.c:421
|
||||
#, fuzzy, c-format
|
||||
msgid "State %d "
|
||||
msgstr "stanje %d"
|
||||
|
||||
#: src/conflicts.c:537
|
||||
#: src/conflicts.c:498
|
||||
#, fuzzy, c-format
|
||||
msgid "expected %d shift/reduce conflict"
|
||||
msgid_plural "expected %d shift/reduce conflicts"
|
||||
msgstr[0] "oèekujem %d pomakni/reduciraj konflikt\n"
|
||||
msgstr[1] "oèekujem %d pomakni/reduciraj konflikata\n"
|
||||
|
||||
#: src/files.c:114
|
||||
#: src/conflicts.c:503
|
||||
#, fuzzy
|
||||
msgid "expected 0 reduce/reduce conflicts"
|
||||
msgstr "%d reduciraj/reduciraj konflikt"
|
||||
|
||||
#: src/files.c:99
|
||||
#, c-format
|
||||
msgid "cannot open file `%s'"
|
||||
msgstr "ne mogu otvoriti datoteku `%s'"
|
||||
|
||||
#: src/files.c:133
|
||||
#: src/files.c:115
|
||||
#, fuzzy
|
||||
msgid "I/O error"
|
||||
msgstr "gre¹ka"
|
||||
|
||||
#: src/files.c:118
|
||||
msgid "cannot close file"
|
||||
msgstr "ne mogu zatvoriti datoteku"
|
||||
|
||||
#: src/getargs.c:157
|
||||
#: src/files.c:336
|
||||
#, fuzzy, c-format
|
||||
msgid "conflicting outputs to file %s"
|
||||
msgstr "konfliktne asocijativne vrijednosti za %s i %s"
|
||||
|
||||
#: src/getargs.c:182
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information.\n"
|
||||
msgstr "Poku¹aj `%s --help' za vi¹e informacija.\n"
|
||||
|
||||
#: src/getargs.c:188
|
||||
msgid "GNU bison generates parsers for LALR(1) grammars.\n"
|
||||
msgstr "GNU bison generira parsere za LALR(1) gramatike.\n"
|
||||
|
||||
#: src/getargs.c:161
|
||||
#: src/getargs.c:192
|
||||
#, c-format
|
||||
msgid "Usage: %s [OPTION]... FILE\n"
|
||||
msgstr "Kori¹tenje: %s [OPCIJA]... DATOTEKA\n"
|
||||
|
||||
#: src/getargs.c:165
|
||||
#: src/getargs.c:196
|
||||
msgid ""
|
||||
"If a long option shows an argument as mandatory, then it is mandatory\n"
|
||||
"for the equivalent short option also. Similarly for optional arguments.\n"
|
||||
@@ -113,7 +116,7 @@ msgstr ""
|
||||
"Ako duga opcija ka¾e da je argument obavezan, tada je on obavezan\n"
|
||||
"i za ekvivalentnu kratku opciju. Slièno je i za opcionalne argumente.\n"
|
||||
|
||||
#: src/getargs.c:171
|
||||
#: src/getargs.c:202
|
||||
msgid ""
|
||||
"Operation modes:\n"
|
||||
" -h, --help display this help and exit\n"
|
||||
@@ -125,7 +128,7 @@ msgstr ""
|
||||
" -V, --version prika¾i verziju i izaði\n"
|
||||
" -y, --yacc emuliraj POSIX yacc\n"
|
||||
|
||||
#: src/getargs.c:178
|
||||
#: src/getargs.c:209
|
||||
msgid ""
|
||||
"Parser:\n"
|
||||
" -S, --skeleton=FILE specify the skeleton to use\n"
|
||||
@@ -145,7 +148,7 @@ msgstr ""
|
||||
" -n, --no-parser generiraj samo tablice\n"
|
||||
" -k, --token-table ukljuèi tablicu imena znakova\n"
|
||||
|
||||
#: src/getargs.c:190
|
||||
#: src/getargs.c:221
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Output:\n"
|
||||
@@ -164,7 +167,7 @@ msgstr ""
|
||||
" -o, --output=DATOTEKA ispi¹i izlaz u DATOTEKU\n"
|
||||
" -g, --graph takoðer proizvedi VCG opis automata\n"
|
||||
|
||||
#: src/getargs.c:201
|
||||
#: src/getargs.c:232
|
||||
msgid ""
|
||||
"THINGS is a list of comma separated words that can include:\n"
|
||||
" `state' describe the states\n"
|
||||
@@ -175,27 +178,27 @@ msgid ""
|
||||
" `none' disable the report\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:212
|
||||
#: src/getargs.c:243
|
||||
msgid "Report bugs to <[email protected]>.\n"
|
||||
msgstr "Izvjesti o bugovima na <[email protected]>.\n"
|
||||
|
||||
#: src/getargs.c:226
|
||||
#: src/getargs.c:260
|
||||
#, c-format
|
||||
msgid "bison (GNU Bison) %s"
|
||||
msgstr "bison (GNU Bison) %s"
|
||||
|
||||
#: src/getargs.c:228
|
||||
#: src/getargs.c:262
|
||||
msgid "Written by Robert Corbett and Richard Stallman.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:232
|
||||
#: src/getargs.c:266
|
||||
#, fuzzy, c-format
|
||||
msgid "Copyright (C) %d Free Software Foundation, Inc.\n"
|
||||
msgstr ""
|
||||
"Copyright 1984, 1986, 1989, 1992, 2000, 2001, 2002\n"
|
||||
"Free Software Foundation, Inc.\n"
|
||||
|
||||
#: src/getargs.c:234
|
||||
#: src/getargs.c:268
|
||||
msgid ""
|
||||
"This is free software; see the source for copying conditions. There is NO\n"
|
||||
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
|
||||
@@ -204,68 +207,62 @@ msgstr ""
|
||||
"kopiranja. NEMA\n"
|
||||
"garancije; èak ni tvrdnje o ISPLATIVOSTI ili POGODNOSTI ZA NEKU SVRHU.\n"
|
||||
|
||||
#: src/getargs.c:395
|
||||
#: src/getargs.c:424
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information.\n"
|
||||
msgstr "Poku¹aj `%s --help' za vi¹e informacija.\n"
|
||||
msgid "missing operand after `%s'"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:402
|
||||
#: src/getargs.c:426
|
||||
#, c-format
|
||||
msgid "%s: no grammar file given\n"
|
||||
msgstr "%s: nije data datoteka sa gramatikom\n"
|
||||
msgid "extra operand `%s'"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:406
|
||||
#, c-format
|
||||
msgid "%s: extra arguments ignored after `%s'\n"
|
||||
msgstr "%s: dodatni argumenti se ignoriraju nakon `%s'\n"
|
||||
|
||||
#: src/gram.c:139
|
||||
#: src/gram.c:142
|
||||
msgid "empty"
|
||||
msgstr "prazno"
|
||||
|
||||
#: src/gram.c:233
|
||||
#: src/gram.c:236
|
||||
msgid "Grammar"
|
||||
msgstr "Gramatika"
|
||||
|
||||
#: src/gram.c:321 src/reduce.c:302 src/reduce.c:392
|
||||
#: src/gram.c:324 src/reduce.c:393
|
||||
#, fuzzy
|
||||
msgid "warning"
|
||||
msgstr "upozorenje:"
|
||||
|
||||
#: src/lalr.c:91
|
||||
#, c-format
|
||||
msgid "too many gotos (max %d)"
|
||||
msgstr "previ¹e goto-a (maksimalno %d)"
|
||||
|
||||
#: src/main.c:117
|
||||
#: src/main.c:124
|
||||
msgid "rule never reduced because of conflicts"
|
||||
msgstr ""
|
||||
|
||||
#: parse-gram.y:347
|
||||
#: src/parse-gram.y:334
|
||||
msgid "POSIX forbids declarations in the grammar"
|
||||
msgstr ""
|
||||
|
||||
#: src/print.c:46
|
||||
#: src/parse-gram.y:457
|
||||
msgid "missing identifier in parameter declaration"
|
||||
msgstr ""
|
||||
|
||||
#: src/print.c:48
|
||||
#, c-format
|
||||
msgid " type %d is %s\n"
|
||||
msgstr " tip %d je %s\n"
|
||||
|
||||
#: src/print.c:162
|
||||
#: src/print.c:164
|
||||
#, fuzzy, c-format
|
||||
msgid "shift, and go to state %d\n"
|
||||
msgstr " %-4s\tpomakni i idi u stanje %d\n"
|
||||
|
||||
#: src/print.c:164
|
||||
#: src/print.c:166
|
||||
#, fuzzy, c-format
|
||||
msgid "go to state %d\n"
|
||||
msgstr " $ \tidu u stanje %d\n"
|
||||
|
||||
#: src/print.c:201
|
||||
#: src/print.c:203
|
||||
#, fuzzy
|
||||
msgid "error (nonassociative)\n"
|
||||
msgstr "%-4s\tgre¹ka (nonassociative)"
|
||||
|
||||
#: src/print.c:290
|
||||
#: src/print.c:291
|
||||
#, fuzzy, c-format
|
||||
msgid "reduce using rule %d (%s)"
|
||||
msgstr "$default\treduciraj koristeæi pravilo %d (%s)"
|
||||
@@ -283,133 +280,114 @@ msgstr ""
|
||||
msgid "state %d"
|
||||
msgstr "stanje %d"
|
||||
|
||||
#: src/print.c:456
|
||||
#: src/print.c:455
|
||||
msgid "Terminals, with rules where they appear"
|
||||
msgstr "Zavr¹ni znakovi, sa pravilima gdje se pojavljuju"
|
||||
|
||||
#: src/print.c:483
|
||||
#: src/print.c:482
|
||||
msgid "Nonterminals, with rules where they appear"
|
||||
msgstr "Nezavr¹ni znakovi, sa pravilima gdje se pojavljuju"
|
||||
|
||||
#: src/print.c:512
|
||||
#: src/print.c:511
|
||||
msgid " on left:"
|
||||
msgstr "s lijeva:"
|
||||
|
||||
#: src/print.c:527
|
||||
#: src/print.c:526
|
||||
msgid " on right:"
|
||||
msgstr "s desna:"
|
||||
|
||||
#: src/print.c:555
|
||||
#: src/print.c:554
|
||||
#, fuzzy
|
||||
msgid "Rules never reduced"
|
||||
msgstr "%d pravilo nije nikad reducirano\n"
|
||||
|
||||
#: src/reader.c:52
|
||||
#: src/reader.c:53
|
||||
#, c-format
|
||||
msgid "multiple %s declarations"
|
||||
msgstr "vi¹estruke %s deklaracije"
|
||||
|
||||
#: src/reader.c:141
|
||||
#: src/reader.c:138
|
||||
#, c-format
|
||||
msgid "result type clash on merge function %s: `%s' vs. `%s'"
|
||||
msgid "result type clash on merge function %s: <%s> != <%s>"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:239
|
||||
#: src/reader.c:236
|
||||
#, c-format
|
||||
msgid "rule given for %s, which is a token"
|
||||
msgstr "pravilo dato za %s, a to je znak"
|
||||
|
||||
#: src/reader.c:268
|
||||
#, c-format
|
||||
msgid "type clash (`%s' `%s') on default action"
|
||||
#: src/reader.c:265
|
||||
#, fuzzy, c-format
|
||||
msgid "type clash on default action: <%s> != <%s>"
|
||||
msgstr "sudar tipova (`%s' `%s') na deaultnoj akciji"
|
||||
|
||||
#: src/reader.c:274
|
||||
#: src/reader.c:271
|
||||
msgid "empty rule for typed nonterminal, and no action"
|
||||
msgstr "prazno pravilo za nezavr¹ni znak, i nema akcije"
|
||||
|
||||
#: src/reader.c:344
|
||||
msgid "two @prec's in a row"
|
||||
msgstr "dva @prec's u retku"
|
||||
|
||||
#: src/reader.c:354
|
||||
#: src/reader.c:341 src/reader.c:355 src/reader.c:368
|
||||
#, c-format
|
||||
msgid "%%dprec affects only GLR parsers"
|
||||
msgid "only one %s allowed per rule"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:356
|
||||
#: src/reader.c:351 src/reader.c:366
|
||||
#, c-format
|
||||
msgid "%%dprec must be followed by positive number"
|
||||
msgid "%s affects only GLR parsers"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:358
|
||||
#: src/reader.c:353
|
||||
#, c-format
|
||||
msgid "only one %%dprec allowed per rule"
|
||||
msgid "%s must be followed by positive number"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:369
|
||||
#, c-format
|
||||
msgid "%%merge affects only GLR parsers"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:371
|
||||
#, c-format
|
||||
msgid "only one %%merge allowed per rule"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:514
|
||||
#: src/reader.c:510
|
||||
msgid "no rules in the input grammar"
|
||||
msgstr "nema pravila u ulaznoj gramatici"
|
||||
|
||||
#: src/reader.c:546
|
||||
#, c-format
|
||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||
msgstr "previ¹e simbola (znakovi plus nezavr¹ni znakovi); maksimalno %d"
|
||||
|
||||
#: src/reduce.c:239
|
||||
#: src/reduce.c:241
|
||||
#, fuzzy
|
||||
msgid "useless rule"
|
||||
msgstr "%d beskorisno pravilo"
|
||||
|
||||
#: src/reduce.c:302
|
||||
#, fuzzy
|
||||
msgid "useless nonterminal"
|
||||
msgstr "%d beskorisan nezavr¹ni znak"
|
||||
#, fuzzy, c-format
|
||||
msgid "useless nonterminal: %s"
|
||||
msgstr "Beskorisni nezavr¹ni znakovi:"
|
||||
|
||||
#: src/reduce.c:349
|
||||
#: src/reduce.c:350
|
||||
#, fuzzy
|
||||
msgid "Useless nonterminals"
|
||||
msgstr "Beskorisni nezavr¹ni znakovi:"
|
||||
|
||||
#: src/reduce.c:362
|
||||
#: src/reduce.c:363
|
||||
#, fuzzy
|
||||
msgid "Terminals which are not used"
|
||||
msgstr "Zavr¹ni znakovi koji nisu kori¹teni:"
|
||||
|
||||
#: src/reduce.c:371
|
||||
#: src/reduce.c:372
|
||||
#, fuzzy
|
||||
msgid "Useless rules"
|
||||
msgstr "Beskorisna pravila:"
|
||||
|
||||
#: src/reduce.c:387
|
||||
#: src/reduce.c:388
|
||||
#, c-format
|
||||
msgid "%d rule never reduced\n"
|
||||
msgid_plural "%d rules never reduced\n"
|
||||
msgstr[0] "%d pravilo nije nikad reducirano\n"
|
||||
msgstr[1] "%d pravila nisu nikad reducirana\n"
|
||||
|
||||
#: src/reduce.c:395
|
||||
#: src/reduce.c:396
|
||||
#, c-format
|
||||
msgid "%d useless nonterminal"
|
||||
msgid_plural "%d useless nonterminals"
|
||||
msgstr[0] "%d beskorisan nezavr¹ni znak"
|
||||
msgstr[1] "%d beskorisnih nezavr¹nih znakova"
|
||||
|
||||
#: src/reduce.c:401
|
||||
#: src/reduce.c:402
|
||||
msgid " and "
|
||||
msgstr " i"
|
||||
|
||||
#: src/reduce.c:404
|
||||
#: src/reduce.c:405
|
||||
#, c-format
|
||||
msgid "%d useless rule"
|
||||
msgid_plural "%d useless rules"
|
||||
@@ -421,81 +399,70 @@ msgstr[1] "%d beskorisnih pravila"
|
||||
msgid "start symbol %s does not derive any sentence"
|
||||
msgstr "Poèetni simbol %s ne daje niti jednu reèenicu"
|
||||
|
||||
#: scan-gram.l:211
|
||||
#, c-format
|
||||
msgid ": invalid character: `%c'\n"
|
||||
#: src/scan-gram.l:157
|
||||
msgid "stray `,' treated as white space"
|
||||
msgstr ""
|
||||
|
||||
#: scan-gram.l:255
|
||||
#, fuzzy
|
||||
msgid ": unexpected end of file in a comment\n"
|
||||
msgstr "neoèekivan kraj datoteke"
|
||||
|
||||
#: scan-gram.l:284 scan-gram.l:423
|
||||
#, fuzzy
|
||||
msgid ": unexpected end of file in a string\n"
|
||||
msgstr "neoèekivan kraj datoteke"
|
||||
|
||||
#: scan-gram.l:322 scan-gram.l:394
|
||||
#, fuzzy
|
||||
msgid ": unexpected end of file in a character\n"
|
||||
msgstr "neoèekivan kraj datoteke"
|
||||
|
||||
#: scan-gram.l:343
|
||||
#: src/scan-gram.l:216
|
||||
#, fuzzy, c-format
|
||||
msgid ": invalid escape: %s\n"
|
||||
msgid "invalid directive: %s"
|
||||
msgstr "nedozvoljeni ulaz: %s"
|
||||
|
||||
#: scan-gram.l:364
|
||||
#: src/scan-gram.l:236 src/scan-gram.l:785 src/scan-gram.l:853
|
||||
#, c-format
|
||||
msgid "integer out of range: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/scan-gram.l:281
|
||||
#, fuzzy, c-format
|
||||
msgid ": unrecognized escape: %s\n"
|
||||
msgid "invalid character: %s"
|
||||
msgstr "nepoznati znak: %s"
|
||||
|
||||
#: src/scan-gram.l:405 src/scan-gram.l:415 src/scan-gram.l:434
|
||||
#, fuzzy, c-format
|
||||
msgid "invalid escape sequence: %s"
|
||||
msgstr "nedozvoljeni ulaz: %s"
|
||||
|
||||
#: src/scan-gram.l:439
|
||||
#, fuzzy, c-format
|
||||
msgid "unrecognized escape sequence: %s"
|
||||
msgstr "neprepoznati: %s"
|
||||
|
||||
#: scan-gram.l:485
|
||||
#, fuzzy
|
||||
msgid ": unexpected end of file in a braced code\n"
|
||||
msgstr "neoèekivan kraj datoteke"
|
||||
#: src/scan-gram.l:524
|
||||
#, c-format
|
||||
msgid "missing `{' in `%s'"
|
||||
msgstr ""
|
||||
|
||||
#: scan-gram.l:514
|
||||
#, fuzzy
|
||||
msgid ": unexpected end of file in a prologue\n"
|
||||
msgstr "neoèekivan kraj datoteke"
|
||||
|
||||
#: scan-gram.l:572
|
||||
#: src/scan-gram.l:757
|
||||
#, c-format
|
||||
msgid "$$ of `%s' has no declared type"
|
||||
msgstr "$$ od `%s' nema deklarirani tip"
|
||||
|
||||
#: scan-gram.l:584 scan-gram.l:666
|
||||
#, fuzzy, c-format
|
||||
msgid "invalid value: %s%d"
|
||||
msgstr "nedozvoljena @ vrijednost"
|
||||
|
||||
#: scan-gram.l:591
|
||||
#: src/scan-gram.l:776
|
||||
#, c-format
|
||||
msgid "$%d of `%s' has no declared type"
|
||||
msgstr "$%d od `%s' nema deklarirani tip"
|
||||
|
||||
#: scan-gram.l:602 scan-gram.l:619 scan-gram.l:673 scan-gram.l:690
|
||||
#, c-format
|
||||
msgid "%s is invalid"
|
||||
msgstr "%s je nedozvoljeno"
|
||||
#: src/scan-gram.l:820 src/scan-gram.l:887
|
||||
#, fuzzy, c-format
|
||||
msgid "invalid value: %s"
|
||||
msgstr "nedozvoljena $ vrijednost"
|
||||
|
||||
#: src/state.c:145
|
||||
#, c-format
|
||||
msgid "too many states (max %d)"
|
||||
msgstr "previ¹e stanja (maks %d)"
|
||||
#: src/scan-gram.l:978
|
||||
#, fuzzy, c-format
|
||||
msgid "missing `%s' at end of file"
|
||||
msgstr "nezavr¹eni znakovni niz na kraju datoteke"
|
||||
|
||||
#: src/symlist.c:97 src/symlist.c:109
|
||||
#: src/symlist.c:97 src/symlist.c:108
|
||||
msgid "invalid $ value"
|
||||
msgstr "nedozvoljena $ vrijednost"
|
||||
|
||||
#: src/symtab.c:81
|
||||
#: src/symtab.c:84
|
||||
#, c-format
|
||||
msgid "type redeclaration for %s"
|
||||
msgstr "ponovna deklaracija za %s"
|
||||
|
||||
#: src/symtab.c:98 src/symtab.c:117
|
||||
#: src/symtab.c:101 src/symtab.c:119
|
||||
#, fuzzy, c-format
|
||||
msgid "%s redeclaration for %s"
|
||||
msgstr "ponovna deklaracija za %s"
|
||||
@@ -505,201 +472,221 @@ msgstr "ponovna deklaracija za %s"
|
||||
msgid "redefining precedence of %s"
|
||||
msgstr "ponovno definiran prethodnik od %s"
|
||||
|
||||
#: src/symtab.c:157
|
||||
#: src/symtab.c:156
|
||||
#, c-format
|
||||
msgid "symbol %s redefined"
|
||||
msgstr "simbol %s ponovo definiran"
|
||||
|
||||
#: src/symtab.c:180
|
||||
#: src/symtab.c:179
|
||||
#, fuzzy, c-format
|
||||
msgid "redefining user token number of %s"
|
||||
msgstr "ponovno definiran prethodnik od %s"
|
||||
|
||||
#: src/symtab.c:225
|
||||
#: src/symtab.c:206
|
||||
#, c-format
|
||||
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
||||
msgstr "simbol %s je kori¹ten, ali nije definiran kao znak i nema pravila"
|
||||
|
||||
#: src/symtab.c:244
|
||||
#: src/symtab.c:231
|
||||
#, c-format
|
||||
msgid "symbol `%s' used more than once as a literal string"
|
||||
msgstr "simbol `%s' kori¹ten vi¹e puta kao znakovni niz"
|
||||
|
||||
#: src/symtab.c:247
|
||||
#: src/symtab.c:234
|
||||
#, c-format
|
||||
msgid "symbol `%s' given more than one literal string"
|
||||
msgstr "simbolz `%s' dat vi¹e od jednog znakovnog niza"
|
||||
|
||||
#: src/symtab.c:281
|
||||
#: src/symtab.c:270
|
||||
#, c-format
|
||||
msgid "conflicting precedences for %s and %s"
|
||||
msgstr "konflikt u prethodnici za %s and %s"
|
||||
|
||||
#: src/symtab.c:293
|
||||
#: src/symtab.c:282
|
||||
#, fuzzy, c-format
|
||||
msgid "conflicting associativities for %s (%s) and %s (%s)"
|
||||
msgstr "konfliktne asocijativne vrijednosti za %s i %s"
|
||||
|
||||
#: src/symtab.c:363
|
||||
#: src/symtab.c:367
|
||||
#, c-format
|
||||
msgid "tokens %s and %s both assigned number %d"
|
||||
msgstr "objema znakovima %s i %s je pridru¾en broj %d"
|
||||
|
||||
#: src/symtab.c:568
|
||||
#: src/symtab.c:590
|
||||
#, c-format
|
||||
msgid "the start symbol %s is undefined"
|
||||
msgstr "poèetni simbol %s nije definiran"
|
||||
|
||||
#: src/symtab.c:572
|
||||
#: src/symtab.c:594
|
||||
#, c-format
|
||||
msgid "the start symbol %s is a token"
|
||||
msgstr "poèetni simbol %s je znak"
|
||||
|
||||
#: lib/argmatch.c:161
|
||||
#: lib/argmatch.c:129
|
||||
#, fuzzy, c-format
|
||||
msgid "invalid argument %s for %s"
|
||||
msgstr "nedozvoljeni ulaz: %s"
|
||||
|
||||
#: lib/argmatch.c:162
|
||||
#: lib/argmatch.c:130
|
||||
#, c-format
|
||||
msgid "ambiguous argument %s for %s"
|
||||
msgstr ""
|
||||
|
||||
#: lib/argmatch.c:181
|
||||
#: lib/argmatch.c:149
|
||||
msgid "Valid arguments are:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:235
|
||||
#: lib/bitset_stats.c:178
|
||||
#, c-format
|
||||
msgid "%u bitset_allocs, %u freed (%.2f%%).\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:238
|
||||
#: lib/bitset_stats.c:181
|
||||
#, c-format
|
||||
msgid "%u bitset_sets, %u cached (%.2f%%)\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:241
|
||||
#: lib/bitset_stats.c:184
|
||||
#, c-format
|
||||
msgid "%u bitset_resets, %u cached (%.2f%%)\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:244
|
||||
#: lib/bitset_stats.c:187
|
||||
#, c-format
|
||||
msgid "%u bitset_tests, %u cached (%.2f%%)\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:248
|
||||
#: lib/bitset_stats.c:191
|
||||
#, c-format
|
||||
msgid "%u bitset_lists\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:250
|
||||
#: lib/bitset_stats.c:193
|
||||
msgid "count log histogram\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:253
|
||||
#: lib/bitset_stats.c:196
|
||||
msgid "size log histogram\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:256
|
||||
#: lib/bitset_stats.c:199
|
||||
msgid "density histogram\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:272
|
||||
#: lib/bitset_stats.c:213
|
||||
msgid ""
|
||||
"Bitset statistics:\n"
|
||||
"\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:275
|
||||
#: lib/bitset_stats.c:216
|
||||
#, c-format
|
||||
msgid "Accumulated runs = %u\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:320
|
||||
#: lib/bitset_stats.c:260 lib/bitset_stats.c:265
|
||||
msgid "Could not read stats file."
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:322
|
||||
#: lib/bitset_stats.c:262
|
||||
msgid "Bad stats file size.\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:348
|
||||
#: lib/bitset_stats.c:288 lib/bitset_stats.c:290
|
||||
msgid "Could not write stats file."
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:352
|
||||
#: lib/bitset_stats.c:293
|
||||
msgid "Could not open stats file for writing."
|
||||
msgstr ""
|
||||
|
||||
#: lib/getopt.c:662
|
||||
#: lib/getopt.c:688 lib/getopt.c:700
|
||||
#, c-format
|
||||
msgid "%s: option `%s' is ambiguous\n"
|
||||
msgstr "%s: opcija `%s' je nejednoznaèna\n"
|
||||
|
||||
#: lib/getopt.c:687
|
||||
#: lib/getopt.c:733 lib/getopt.c:737
|
||||
#, c-format
|
||||
msgid "%s: option `--%s' doesn't allow an argument\n"
|
||||
msgstr "%s: opcija `--%s' ne dopu¹ta argument\n"
|
||||
|
||||
#: lib/getopt.c:692
|
||||
#: lib/getopt.c:746 lib/getopt.c:751
|
||||
#, c-format
|
||||
msgid "%s: option `%c%s' doesn't allow an argument\n"
|
||||
msgstr "%s: opcija `%c%s' ne dopu¹ta argument\n"
|
||||
|
||||
#: lib/getopt.c:710 lib/getopt.c:883
|
||||
#: lib/getopt.c:787 lib/getopt.c:800 lib/getopt.c:1089 lib/getopt.c:1102
|
||||
#, c-format
|
||||
msgid "%s: option `%s' requires an argument\n"
|
||||
msgstr "%s: opcija `%s' zahtijeva argument\n"
|
||||
|
||||
#: lib/getopt.c:739
|
||||
#: lib/getopt.c:838 lib/getopt.c:841
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `--%s'\n"
|
||||
msgstr "%s: neprepoznata opcija `--%s'\n"
|
||||
|
||||
#: lib/getopt.c:743
|
||||
#: lib/getopt.c:849 lib/getopt.c:852
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `%c%s'\n"
|
||||
msgstr "%s: neprepoznata opcija `%c%s'\n"
|
||||
|
||||
#: lib/getopt.c:769
|
||||
#: lib/getopt.c:899 lib/getopt.c:902
|
||||
#, c-format
|
||||
msgid "%s: illegal option -- %c\n"
|
||||
msgstr "%s: nedozvoljena opcija -- %c\n"
|
||||
|
||||
#: lib/getopt.c:772
|
||||
#: lib/getopt.c:908 lib/getopt.c:911
|
||||
#, c-format
|
||||
msgid "%s: invalid option -- %c\n"
|
||||
msgstr "%s: nedozvoljena opcija -- %c\n"
|
||||
|
||||
#: lib/getopt.c:802 lib/getopt.c:932
|
||||
#: lib/getopt.c:958 lib/getopt.c:969 lib/getopt.c:1155 lib/getopt.c:1168
|
||||
#, c-format
|
||||
msgid "%s: option requires an argument -- %c\n"
|
||||
msgstr "%s: opcija zahtijeva argument -- %c\n"
|
||||
|
||||
#: lib/getopt.c:849
|
||||
#: lib/getopt.c:1021 lib/getopt.c:1032
|
||||
#, c-format
|
||||
msgid "%s: option `-W %s' is ambiguous\n"
|
||||
msgstr "%s: opcija `-W %s' je nejednoznaèna\n"
|
||||
|
||||
#: lib/getopt.c:867
|
||||
#: lib/getopt.c:1056 lib/getopt.c:1068
|
||||
#, c-format
|
||||
msgid "%s: option `-W %s' doesn't allow an argument\n"
|
||||
msgstr "%s: opcija `-W %s' ne dopu¹ta argument\n"
|
||||
|
||||
#: lib/obstack.c:496 lib/obstack.c:499 lib/xmalloc.c:66
|
||||
#: lib/obstack.c:487 lib/obstack.c:490 lib/xmalloc.c:63
|
||||
msgid "memory exhausted"
|
||||
msgstr "iscrpljeni memorijski resursi"
|
||||
|
||||
#: lib/quotearg.c:274
|
||||
#: lib/quotearg.c:236
|
||||
msgid "`"
|
||||
msgstr "`"
|
||||
|
||||
#: lib/quotearg.c:275
|
||||
#: lib/quotearg.c:237
|
||||
msgid "'"
|
||||
msgstr "'"
|
||||
|
||||
#: lib/subpipe.c:187
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' could not be invoked"
|
||||
msgstr ""
|
||||
|
||||
#: lib/subpipe.c:189
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' not found"
|
||||
msgstr ""
|
||||
|
||||
#: lib/subpipe.c:191
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' failed"
|
||||
msgstr ""
|
||||
|
||||
#: lib/subpipe.c:192
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' failed (exit status %d)"
|
||||
msgstr ""
|
||||
|
||||
#: lib/timevar.c:476
|
||||
msgid ""
|
||||
"\n"
|
||||
@@ -715,14 +702,28 @@ msgstr ""
|
||||
msgid "time in %s: %ld.%06ld (%ld%%)\n"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "too many states (max %d)"
|
||||
#~ msgstr "previ¹e stanja (maks %d)"
|
||||
|
||||
#~ msgid "reduce"
|
||||
#~ msgstr "reduciraj"
|
||||
|
||||
#~ msgid "shift"
|
||||
#~ msgstr "pomakni"
|
||||
|
||||
#~ msgid "an error"
|
||||
#~ msgstr "gre¹ka"
|
||||
#~ msgid "%d shift/reduce conflict"
|
||||
#~ msgid_plural "%d shift/reduce conflicts"
|
||||
#~ msgstr[0] "%d pomakni/reduciraj konflikat"
|
||||
#~ msgstr[1] "%d pomakni/reduciraj konflikata"
|
||||
|
||||
#~ msgid "and"
|
||||
#~ msgstr "i"
|
||||
|
||||
#~ msgid "State %d contains "
|
||||
#~ msgstr "Stanje %d sadr¾i"
|
||||
|
||||
#~ msgid "conflicts: "
|
||||
#~ msgstr "konflikt:"
|
||||
|
||||
#~ msgid "%s contains "
|
||||
#~ msgstr "%s sadr¾i"
|
||||
@@ -746,12 +747,24 @@ msgstr ""
|
||||
#~ msgid "`%s' is no longer supported"
|
||||
#~ msgstr "`%s' vi¹e nije podr¾ano"
|
||||
|
||||
#~ msgid "%s: no grammar file given\n"
|
||||
#~ msgstr "%s: nije data datoteka sa gramatikom\n"
|
||||
|
||||
#~ msgid "%s: extra arguments ignored after `%s'\n"
|
||||
#~ msgstr "%s: dodatni argumenti se ignoriraju nakon `%s'\n"
|
||||
|
||||
#~ msgid "too many gotos (max %d)"
|
||||
#~ msgstr "previ¹e goto-a (maksimalno %d)"
|
||||
|
||||
#~ msgid "unexpected `/' found and ignored"
|
||||
#~ msgstr "neoèekivan `/' naðen i zanemaren"
|
||||
|
||||
#~ msgid "unterminated comment"
|
||||
#~ msgstr "nezavr¹eni komentar"
|
||||
|
||||
#~ msgid "unexpected end of file"
|
||||
#~ msgstr "neoèekivan kraj datoteke"
|
||||
|
||||
#~ msgid "unescaped newline in constant"
|
||||
#~ msgstr "neoèekivan znak za novu liniju u konstanti"
|
||||
|
||||
@@ -809,12 +822,15 @@ msgstr ""
|
||||
#~ msgid " Skipping to next %c"
|
||||
#~ msgstr " Preskaèem na slijedeæi %c"
|
||||
|
||||
#~ msgid "unterminated string at end of file"
|
||||
#~ msgstr "nezavr¹eni znakovni niz na kraju datoteke"
|
||||
|
||||
#~ msgid "unterminated string"
|
||||
#~ msgstr "nezavr¹eni znakovni niz"
|
||||
|
||||
#~ msgid "invalid @ value"
|
||||
#~ msgstr "nedozvoljena @ vrijednost"
|
||||
|
||||
#~ msgid "%s is invalid"
|
||||
#~ msgstr "%s je nedozvoljeno"
|
||||
|
||||
#~ msgid "unterminated `%{' definition"
|
||||
#~ msgstr "nezavr¹ena `%{' definicija"
|
||||
|
||||
@@ -854,9 +870,6 @@ msgstr ""
|
||||
#~ msgid "no input grammar"
|
||||
#~ msgstr "nema ulazne gramatike"
|
||||
|
||||
#~ msgid "unknown character: %s"
|
||||
#~ msgstr "nepoznati znak: %s"
|
||||
|
||||
#~ msgid "unterminated %guard clause"
|
||||
#~ msgstr "nezavr¹ena %guard klauzula"
|
||||
|
||||
@@ -869,8 +882,14 @@ msgstr ""
|
||||
#~ msgid "previous rule lacks an ending `;'"
|
||||
#~ msgstr "prethodnom pravilu nedostaje zavr¹etak `;'"
|
||||
|
||||
#~ msgid "two @prec's in a row"
|
||||
#~ msgstr "dva @prec's u retku"
|
||||
|
||||
#~ msgid "%%guard present but %%semantic_parser not specified"
|
||||
#~ msgstr "%%guard prisutan ali %%semantic_parser nije specificiran"
|
||||
|
||||
#~ msgid "two actions at end of one rule"
|
||||
#~ msgstr "dvije akcije pri kraju jednog pravila"
|
||||
|
||||
#~ msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||
#~ msgstr "previ¹e simbola (znakovi plus nezavr¹ni znakovi); maksimalno %d"
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
# bison 1.50 (Indonesian)
|
||||
# bison 1.75b (Indonesian)
|
||||
# Copyright (C) 2002 Free Software Foundation, Inc.
|
||||
# This file is distributed under the same license as the bison 1.50 package.
|
||||
# Tedi Heriyanto <[email protected]>, 2002
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: bison 1.50\n"
|
||||
"POT-Creation-Date: 2002-10-14 14:47+0200\n"
|
||||
"PO-Revision-Date: 2002-10-08 17:53+0700\n"
|
||||
"Project-Id-Version: bison 1.75b\n"
|
||||
"POT-Creation-Date: 2003-01-01 01:28-0800\n"
|
||||
"PO-Revision-Date: 2002-11-22 12:24GMT+0700\n"
|
||||
"Last-Translator: Tedi Heriyanto <[email protected]>\n"
|
||||
"Language-Team: Indonesian <[email protected]>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -16,97 +16,99 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: KBabel 0.9.5\n"
|
||||
|
||||
#: src/complain.c:89 lib/error.c:128 lib/error.c:156
|
||||
#: src/complain.c:56 lib/error.c:135 lib/error.c:163
|
||||
msgid "Unknown system error"
|
||||
msgstr "Kesalahan sistem tidak dikenal"
|
||||
|
||||
#: src/complain.c:123 src/complain.c:152
|
||||
#: src/complain.c:79 src/complain.c:94
|
||||
msgid "warning: "
|
||||
msgstr "peringatan: "
|
||||
|
||||
#: src/complain.c:252 src/complain.c:282
|
||||
#: src/complain.c:150 src/complain.c:166
|
||||
msgid "fatal error: "
|
||||
msgstr "kesalahan fatal: "
|
||||
|
||||
#: src/conflicts.c:72
|
||||
#: src/conflicts.c:75
|
||||
#, c-format
|
||||
msgid " Conflict between rule %d and token %s resolved as shift"
|
||||
msgstr " Konflik antara aturan %d dan token %s diselesaikan sebagai shift"
|
||||
|
||||
#: src/conflicts.c:80
|
||||
#: src/conflicts.c:83
|
||||
#, c-format
|
||||
msgid " Conflict between rule %d and token %s resolved as reduce"
|
||||
msgstr " Konflik antara aturan %d dan token %s diselesaikan sebagai reduce"
|
||||
|
||||
#: src/conflicts.c:87
|
||||
#: src/conflicts.c:90
|
||||
#, c-format
|
||||
msgid " Conflict between rule %d and token %s resolved as an error"
|
||||
msgstr ""
|
||||
" Konflik antara aturan %d dan token %s diselesaikan sebagai kesalahan"
|
||||
|
||||
#: src/conflicts.c:402
|
||||
#: src/conflicts.c:398
|
||||
#, c-format
|
||||
msgid "%d shift/reduce conflict"
|
||||
msgid_plural "%d shift/reduce conflicts"
|
||||
msgstr[0] "%d geser/kurangi konflik"
|
||||
msgstr[1] ""
|
||||
msgid "conflicts: %d shift/reduce, %d reduce/reduce\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/conflicts.c:409
|
||||
msgid "and"
|
||||
msgstr "dan"
|
||||
|
||||
#: src/conflicts.c:415
|
||||
#, c-format
|
||||
msgid "%d reduce/reduce conflict"
|
||||
msgid_plural "%d reduce/reduce conflicts"
|
||||
msgstr[0] "%d geser/kurangi konflik"
|
||||
msgstr[1] ""
|
||||
|
||||
#: src/conflicts.c:435
|
||||
msgid "conflicts: "
|
||||
msgstr "konflik: "
|
||||
|
||||
#: src/conflicts.c:437
|
||||
#, c-format
|
||||
msgid " %d shift/reduce"
|
||||
#: src/conflicts.c:401
|
||||
#, fuzzy, c-format
|
||||
msgid "conflicts: %d shift/reduce\n"
|
||||
msgstr " %d geser/kurangi"
|
||||
|
||||
#: src/conflicts.c:441
|
||||
#, c-format
|
||||
msgid " %d reduce/reduce"
|
||||
#: src/conflicts.c:403
|
||||
#, fuzzy, c-format
|
||||
msgid "conflicts: %d reduce/reduce\n"
|
||||
msgstr " %d kurangi/kurangi"
|
||||
|
||||
#: src/conflicts.c:460
|
||||
#, c-format
|
||||
msgid "State %d contains "
|
||||
msgstr "State %d berisi "
|
||||
#: src/conflicts.c:421
|
||||
#, fuzzy, c-format
|
||||
msgid "State %d "
|
||||
msgstr "state %d"
|
||||
|
||||
#: src/conflicts.c:537
|
||||
#: src/conflicts.c:498
|
||||
#, c-format
|
||||
msgid "expected %d shift/reduce conflict"
|
||||
msgid_plural "expected %d shift/reduce conflicts"
|
||||
msgstr[0] "mengharapkan %d shift/reduce konflik"
|
||||
msgstr[1] ""
|
||||
msgstr[1] "mengharapkan %d shift/reduce konflik"
|
||||
|
||||
#: src/files.c:114
|
||||
#: src/conflicts.c:503
|
||||
#, fuzzy
|
||||
msgid "expected 0 reduce/reduce conflicts"
|
||||
msgstr "%d geser/kurangi konflik"
|
||||
|
||||
#: src/files.c:99
|
||||
#, c-format
|
||||
msgid "cannot open file `%s'"
|
||||
msgstr "tidak dapat membuka file `%s'"
|
||||
|
||||
#: src/files.c:133
|
||||
#: src/files.c:115
|
||||
msgid "I/O error"
|
||||
msgstr "Kesalahan I/O"
|
||||
|
||||
#: src/files.c:118
|
||||
msgid "cannot close file"
|
||||
msgstr "tidak dapat menutup file"
|
||||
|
||||
#: src/getargs.c:157
|
||||
#: src/files.c:336
|
||||
#, c-format
|
||||
msgid "conflicting outputs to file %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:182
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information.\n"
|
||||
msgstr "Coba `%s --help' untuk informasi lebih lanjut.\n"
|
||||
|
||||
#: src/getargs.c:188
|
||||
msgid "GNU bison generates parsers for LALR(1) grammars.\n"
|
||||
msgstr "GNU bison generates parsers for LALR(1) grammars.\n"
|
||||
|
||||
#: src/getargs.c:161
|
||||
#: src/getargs.c:192
|
||||
#, c-format
|
||||
msgid "Usage: %s [OPTION]... FILE\n"
|
||||
msgstr "Penggunaan: %s [OPTION]... FILE\n"
|
||||
|
||||
#: src/getargs.c:165
|
||||
#: src/getargs.c:196
|
||||
msgid ""
|
||||
"If a long option shows an argument as mandatory, then it is mandatory\n"
|
||||
"for the equivalent short option also. Similarly for optional arguments.\n"
|
||||
@@ -115,7 +117,7 @@ msgstr ""
|
||||
"juga\n"
|
||||
"untuk option pendek. Hal yang sama untuk argumen opsional.\n"
|
||||
|
||||
#: src/getargs.c:171
|
||||
#: src/getargs.c:202
|
||||
msgid ""
|
||||
"Operation modes:\n"
|
||||
" -h, --help display this help and exit\n"
|
||||
@@ -127,7 +129,7 @@ msgstr ""
|
||||
" -V, --version tampilkan informasi versi dan keluar\n"
|
||||
" -y, --yacc emulasikan POSIX yacc\n"
|
||||
|
||||
#: src/getargs.c:178
|
||||
#: src/getargs.c:209
|
||||
msgid ""
|
||||
"Parser:\n"
|
||||
" -S, --skeleton=FILE specify the skeleton to use\n"
|
||||
@@ -147,7 +149,7 @@ msgstr ""
|
||||
" -n, --no-parser hasilkan hanya tabel\n"
|
||||
" -k, --token-table sertakan tabel nama token\n"
|
||||
|
||||
#: src/getargs.c:190
|
||||
#: src/getargs.c:221
|
||||
msgid ""
|
||||
"Output:\n"
|
||||
" -d, --defines also produce a header file\n"
|
||||
@@ -166,7 +168,7 @@ msgstr ""
|
||||
" -o, --output=FILE simpan output ke FILE\n"
|
||||
" -g, --graph juga hasilkan deskripsi VCG automaton\n"
|
||||
|
||||
#: src/getargs.c:201
|
||||
#: src/getargs.c:232
|
||||
msgid ""
|
||||
"THINGS is a list of comma separated words that can include:\n"
|
||||
" `state' describe the states\n"
|
||||
@@ -184,25 +186,25 @@ msgstr ""
|
||||
" `all' sertakan semua informasi di atas\n"
|
||||
" `none' tiadakan laporan\n"
|
||||
|
||||
#: src/getargs.c:212
|
||||
#: src/getargs.c:243
|
||||
msgid "Report bugs to <[email protected]>.\n"
|
||||
msgstr "Laporkan kesalahan ke <[email protected]>.\n"
|
||||
|
||||
#: src/getargs.c:226
|
||||
#: src/getargs.c:260
|
||||
#, c-format
|
||||
msgid "bison (GNU Bison) %s"
|
||||
msgstr "bison (GNU Bison) %s"
|
||||
|
||||
#: src/getargs.c:228
|
||||
#: src/getargs.c:262
|
||||
msgid "Written by Robert Corbett and Richard Stallman.\n"
|
||||
msgstr "Written by Robert Corbett and Richard Stallman.\n"
|
||||
|
||||
#: src/getargs.c:232
|
||||
#: src/getargs.c:266
|
||||
#, c-format
|
||||
msgid "Copyright (C) %d Free Software Foundation, Inc.\n"
|
||||
msgstr "Copyright (C) %d Free Software Foundation, Inc.\n"
|
||||
|
||||
#: src/getargs.c:234
|
||||
#: src/getargs.c:268
|
||||
msgid ""
|
||||
"This is free software; see the source for copying conditions. There is NO\n"
|
||||
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
|
||||
@@ -210,66 +212,60 @@ msgstr ""
|
||||
"This is free software; see the source for copying conditions. There is NO\n"
|
||||
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
|
||||
|
||||
#: src/getargs.c:395
|
||||
#: src/getargs.c:424
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information.\n"
|
||||
msgstr "Coba `%s --help' untuk informasi lebih lanjut.\n"
|
||||
msgid "missing operand after `%s'"
|
||||
msgstr "operand hilang setelah `%s'"
|
||||
|
||||
#: src/getargs.c:402
|
||||
#: src/getargs.c:426
|
||||
#, c-format
|
||||
msgid "%s: no grammar file given\n"
|
||||
msgstr "%s: tidak diberikan file grammar\n"
|
||||
msgid "extra operand `%s'"
|
||||
msgstr "operand ekstra `%s'"
|
||||
|
||||
#: src/getargs.c:406
|
||||
#, c-format
|
||||
msgid "%s: extra arguments ignored after `%s'\n"
|
||||
msgstr "%s: argumen ekstra diabaikan setelah `%s'\n"
|
||||
|
||||
#: src/gram.c:139
|
||||
#: src/gram.c:142
|
||||
msgid "empty"
|
||||
msgstr "kosong"
|
||||
|
||||
#: src/gram.c:233
|
||||
#: src/gram.c:236
|
||||
msgid "Grammar"
|
||||
msgstr "Grammar"
|
||||
|
||||
#: src/gram.c:321 src/reduce.c:302 src/reduce.c:392
|
||||
#: src/gram.c:324 src/reduce.c:393
|
||||
msgid "warning"
|
||||
msgstr "peringatan"
|
||||
|
||||
#: src/lalr.c:91
|
||||
#, c-format
|
||||
msgid "too many gotos (max %d)"
|
||||
msgstr "terlalu banyak goto (maks %d)"
|
||||
|
||||
#: src/main.c:117
|
||||
#: src/main.c:124
|
||||
msgid "rule never reduced because of conflicts"
|
||||
msgstr "aturan tidak pernah dikurangi karena konflik"
|
||||
|
||||
#: parse-gram.y:347
|
||||
#: src/parse-gram.y:334
|
||||
msgid "POSIX forbids declarations in the grammar"
|
||||
msgstr "POSIX melarang deklarasi dalam grammar"
|
||||
|
||||
#: src/print.c:46
|
||||
#: src/parse-gram.y:457
|
||||
msgid "missing identifier in parameter declaration"
|
||||
msgstr ""
|
||||
|
||||
#: src/print.c:48
|
||||
#, c-format
|
||||
msgid " type %d is %s\n"
|
||||
msgstr " tipe %d adalah %s\n"
|
||||
|
||||
#: src/print.c:162
|
||||
#: src/print.c:164
|
||||
#, c-format
|
||||
msgid "shift, and go to state %d\n"
|
||||
msgstr "geser, dan ke state %d\n"
|
||||
|
||||
#: src/print.c:164
|
||||
#: src/print.c:166
|
||||
#, c-format
|
||||
msgid "go to state %d\n"
|
||||
msgstr "ke state %d\n"
|
||||
|
||||
#: src/print.c:201
|
||||
#: src/print.c:203
|
||||
msgid "error (nonassociative)\n"
|
||||
msgstr "kesalahan(nonasosiatif)\n"
|
||||
|
||||
#: src/print.c:290
|
||||
#: src/print.c:291
|
||||
#, c-format
|
||||
msgid "reduce using rule %d (%s)"
|
||||
msgstr "kurangi gunakan aturan %d (%s)"
|
||||
@@ -287,127 +283,109 @@ msgstr "$default"
|
||||
msgid "state %d"
|
||||
msgstr "state %d"
|
||||
|
||||
#: src/print.c:456
|
||||
#: src/print.c:455
|
||||
msgid "Terminals, with rules where they appear"
|
||||
msgstr "Terminal, dengan aturan tempat mereka muncul"
|
||||
|
||||
#: src/print.c:483
|
||||
#: src/print.c:482
|
||||
msgid "Nonterminals, with rules where they appear"
|
||||
msgstr "Nonterminal, dengan aturan tempat mereka muncul"
|
||||
|
||||
#: src/print.c:512
|
||||
#: src/print.c:511
|
||||
msgid " on left:"
|
||||
msgstr " di kiri:"
|
||||
|
||||
#: src/print.c:527
|
||||
#: src/print.c:526
|
||||
msgid " on right:"
|
||||
msgstr " di kanan:"
|
||||
|
||||
#: src/print.c:555
|
||||
#: src/print.c:554
|
||||
msgid "Rules never reduced"
|
||||
msgstr "Aturan tidak pernah dikurangi"
|
||||
|
||||
#: src/reader.c:52
|
||||
#: src/reader.c:53
|
||||
#, c-format
|
||||
msgid "multiple %s declarations"
|
||||
msgstr "deklarasi ganda %s"
|
||||
|
||||
#: src/reader.c:141
|
||||
#: src/reader.c:138
|
||||
#, c-format
|
||||
msgid "result type clash on merge function %s: `%s' vs. `%s'"
|
||||
msgstr "tipe hasil bentrok pada fungsi merge %s: `%s' vs `%s'"
|
||||
msgid "result type clash on merge function %s: <%s> != <%s>"
|
||||
msgstr "tipe hasil bentrok pada fungsi merge %s: <%s> != <%s>"
|
||||
|
||||
#: src/reader.c:239
|
||||
#: src/reader.c:236
|
||||
#, c-format
|
||||
msgid "rule given for %s, which is a token"
|
||||
msgstr "aturan diberikan untuk %s, yang merupakan sebuah token"
|
||||
|
||||
#: src/reader.c:268
|
||||
#: src/reader.c:265
|
||||
#, c-format
|
||||
msgid "type clash (`%s' `%s') on default action"
|
||||
msgstr "bentrokan tipe (`%s' `%s') pada aksi baku"
|
||||
msgid "type clash on default action: <%s> != <%s>"
|
||||
msgstr "bentrokan tipe pada aksi baku: <%s> != <%s>"
|
||||
|
||||
#: src/reader.c:274
|
||||
#: src/reader.c:271
|
||||
msgid "empty rule for typed nonterminal, and no action"
|
||||
msgstr "aturan kosong untuk nonterminal typed, dan tidak ada aksi"
|
||||
|
||||
#: src/reader.c:344
|
||||
msgid "two @prec's in a row"
|
||||
msgstr "dua @prec dalam satu baris"
|
||||
|
||||
#: src/reader.c:354
|
||||
#: src/reader.c:341 src/reader.c:355 src/reader.c:368
|
||||
#, c-format
|
||||
msgid "%%dprec affects only GLR parsers"
|
||||
msgstr "%%dprec hanya mempengaruhi parser GLR"
|
||||
msgid "only one %s allowed per rule"
|
||||
msgstr "hanya satu %s yang dibolehkan per aturan"
|
||||
|
||||
#: src/reader.c:356
|
||||
#: src/reader.c:351 src/reader.c:366
|
||||
#, c-format
|
||||
msgid "%%dprec must be followed by positive number"
|
||||
msgstr "%%dprec harus diikuti oleh angka positif"
|
||||
msgid "%s affects only GLR parsers"
|
||||
msgstr "%s hanya mempengaruhi parser GLR"
|
||||
|
||||
#: src/reader.c:358
|
||||
#: src/reader.c:353
|
||||
#, c-format
|
||||
msgid "only one %%dprec allowed per rule"
|
||||
msgstr "hanya satu %%dprec yang dibolehkan untuk satu aturan"
|
||||
msgid "%s must be followed by positive number"
|
||||
msgstr "%s harus diikuti angka positif"
|
||||
|
||||
#: src/reader.c:369
|
||||
#, c-format
|
||||
msgid "%%merge affects only GLR parsers"
|
||||
msgstr "%%merge hanya mempengaruhi parser GLR"
|
||||
|
||||
#: src/reader.c:371
|
||||
#, c-format
|
||||
msgid "only one %%merge allowed per rule"
|
||||
msgstr "hanya satu %%merge yang dibolehkan tiap aturan"
|
||||
|
||||
#: src/reader.c:514
|
||||
#: src/reader.c:510
|
||||
msgid "no rules in the input grammar"
|
||||
msgstr "tidak ada aturan dalam grammar input"
|
||||
|
||||
#: src/reader.c:546
|
||||
#, c-format
|
||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||
msgstr "terlalu banyak simbol (token dan nonterminal); maksimum %d"
|
||||
|
||||
#: src/reduce.c:239
|
||||
#: src/reduce.c:241
|
||||
msgid "useless rule"
|
||||
msgstr "aturan tidak berguna"
|
||||
|
||||
#: src/reduce.c:302
|
||||
msgid "useless nonterminal"
|
||||
#, fuzzy, c-format
|
||||
msgid "useless nonterminal: %s"
|
||||
msgstr "nonterminal tidak berguna"
|
||||
|
||||
#: src/reduce.c:349
|
||||
#: src/reduce.c:350
|
||||
msgid "Useless nonterminals"
|
||||
msgstr "Nonterminal tidak berguna"
|
||||
|
||||
#: src/reduce.c:362
|
||||
#: src/reduce.c:363
|
||||
msgid "Terminals which are not used"
|
||||
msgstr "Terminal yang tidak digunakan"
|
||||
|
||||
#: src/reduce.c:371
|
||||
#: src/reduce.c:372
|
||||
msgid "Useless rules"
|
||||
msgstr "Useless rules"
|
||||
|
||||
#: src/reduce.c:387
|
||||
#: src/reduce.c:388
|
||||
#, c-format
|
||||
msgid "%d rule never reduced\n"
|
||||
msgid_plural "%d rules never reduced\n"
|
||||
msgstr[0] "Aturan %d tidak pernah dikurangi\n"
|
||||
msgstr[1] "Aturan %d tidak pernah dikurangi\n"
|
||||
|
||||
#: src/reduce.c:395
|
||||
#: src/reduce.c:396
|
||||
#, c-format
|
||||
msgid "%d useless nonterminal"
|
||||
msgid_plural "%d useless nonterminals"
|
||||
msgstr[0] "nonterminal tidak berguna %d"
|
||||
msgstr[1] "nonterminal tidak berguna %d"
|
||||
|
||||
#: src/reduce.c:401
|
||||
#: src/reduce.c:402
|
||||
msgid " and "
|
||||
msgstr " dan "
|
||||
|
||||
#: src/reduce.c:404
|
||||
#: src/reduce.c:405
|
||||
#, c-format
|
||||
msgid "%d useless rule"
|
||||
msgid_plural "%d useless rules"
|
||||
@@ -419,76 +397,70 @@ msgstr[1] "aturan tidak berguna %d"
|
||||
msgid "start symbol %s does not derive any sentence"
|
||||
msgstr "simbol awal %s tidak melahirkan kalimat"
|
||||
|
||||
#: scan-gram.l:211
|
||||
#: src/scan-gram.l:157
|
||||
msgid "stray `,' treated as white space"
|
||||
msgstr ""
|
||||
|
||||
#: src/scan-gram.l:216
|
||||
#, c-format
|
||||
msgid ": invalid character: `%c'\n"
|
||||
msgstr ": karakter tidak valid: `%c'\n"
|
||||
msgid "invalid directive: %s"
|
||||
msgstr "direktif tidak valid: %s"
|
||||
|
||||
#: scan-gram.l:255
|
||||
msgid ": unexpected end of file in a comment\n"
|
||||
msgstr ": akhir file tidak diharapkan dalam komentar\n"
|
||||
|
||||
#: scan-gram.l:284 scan-gram.l:423
|
||||
msgid ": unexpected end of file in a string\n"
|
||||
msgstr ": akhir file tidak diharapkan dalam string\n"
|
||||
|
||||
#: scan-gram.l:322 scan-gram.l:394
|
||||
msgid ": unexpected end of file in a character\n"
|
||||
msgstr ": akhir file tidak diharapkan dalam karakter\n"
|
||||
|
||||
#: scan-gram.l:343
|
||||
#: src/scan-gram.l:236 src/scan-gram.l:785 src/scan-gram.l:853
|
||||
#, c-format
|
||||
msgid ": invalid escape: %s\n"
|
||||
msgstr ": escape tidak valid: %s\n"
|
||||
msgid "integer out of range: %s"
|
||||
msgstr "integer ke luar batas: %s"
|
||||
|
||||
#: scan-gram.l:364
|
||||
#: src/scan-gram.l:281
|
||||
#, c-format
|
||||
msgid ": unrecognized escape: %s\n"
|
||||
msgstr ": escape tidak dikenal: %s\n"
|
||||
msgid "invalid character: %s"
|
||||
msgstr "karakter tidak valid: %s"
|
||||
|
||||
#: scan-gram.l:485
|
||||
msgid ": unexpected end of file in a braced code\n"
|
||||
msgstr ": akhir file tidak diharapkan dalam kode braced\n"
|
||||
#: src/scan-gram.l:405 src/scan-gram.l:415 src/scan-gram.l:434
|
||||
#, c-format
|
||||
msgid "invalid escape sequence: %s"
|
||||
msgstr "urutan escape tidak valid: %s"
|
||||
|
||||
#: scan-gram.l:514
|
||||
msgid ": unexpected end of file in a prologue\n"
|
||||
msgstr ": akhir file tidak diharapkan dalam prolog\n"
|
||||
#: src/scan-gram.l:439
|
||||
#, c-format
|
||||
msgid "unrecognized escape sequence: %s"
|
||||
msgstr "urutan escape tidak dikenal: %s"
|
||||
|
||||
#: scan-gram.l:572
|
||||
#: src/scan-gram.l:524
|
||||
#, fuzzy, c-format
|
||||
msgid "missing `{' in `%s'"
|
||||
msgstr "operand hilang setelah `%s'"
|
||||
|
||||
#: src/scan-gram.l:757
|
||||
#, c-format
|
||||
msgid "$$ of `%s' has no declared type"
|
||||
msgstr "$$ dari `%s' tidak memiliki tipe yang terdeklarasi"
|
||||
|
||||
#: scan-gram.l:584 scan-gram.l:666
|
||||
#, c-format
|
||||
msgid "invalid value: %s%d"
|
||||
msgstr "nilai tidak valid: %s%d"
|
||||
|
||||
#: scan-gram.l:591
|
||||
#: src/scan-gram.l:776
|
||||
#, c-format
|
||||
msgid "$%d of `%s' has no declared type"
|
||||
msgstr "$%d dari `%s' tidak memiliki tipe terdeklarasi"
|
||||
|
||||
#: scan-gram.l:602 scan-gram.l:619 scan-gram.l:673 scan-gram.l:690
|
||||
#: src/scan-gram.l:820 src/scan-gram.l:887
|
||||
#, c-format
|
||||
msgid "%s is invalid"
|
||||
msgstr "%s tidak valid"
|
||||
msgid "invalid value: %s"
|
||||
msgstr "nilai tidak valid: %s"
|
||||
|
||||
#: src/state.c:145
|
||||
#: src/scan-gram.l:978
|
||||
#, c-format
|
||||
msgid "too many states (max %d)"
|
||||
msgstr "terlalu banyak state (maks %d)"
|
||||
msgid "missing `%s' at end of file"
|
||||
msgstr "`%s' hilang di akhir file"
|
||||
|
||||
#: src/symlist.c:97 src/symlist.c:109
|
||||
#: src/symlist.c:97 src/symlist.c:108
|
||||
msgid "invalid $ value"
|
||||
msgstr "nilai $ tidak valid"
|
||||
|
||||
#: src/symtab.c:81
|
||||
#: src/symtab.c:84
|
||||
#, c-format
|
||||
msgid "type redeclaration for %s"
|
||||
msgstr "redeklarasi tipe untuk %s"
|
||||
|
||||
#: src/symtab.c:98 src/symtab.c:117
|
||||
#: src/symtab.c:101 src/symtab.c:119
|
||||
#, c-format
|
||||
msgid "%s redeclaration for %s"
|
||||
msgstr "%s redeklarasi untuk %s"
|
||||
@@ -498,110 +470,110 @@ msgstr "%s redeklarasi untuk %s"
|
||||
msgid "redefining precedence of %s"
|
||||
msgstr "mendefinisikan kembali presedens %s"
|
||||
|
||||
#: src/symtab.c:157
|
||||
#: src/symtab.c:156
|
||||
#, c-format
|
||||
msgid "symbol %s redefined"
|
||||
msgstr "simbol %s didefinisikan ulang"
|
||||
|
||||
#: src/symtab.c:180
|
||||
#: src/symtab.c:179
|
||||
#, c-format
|
||||
msgid "redefining user token number of %s"
|
||||
msgstr "mendefinisikan ulang nomor token user %s"
|
||||
|
||||
#: src/symtab.c:225
|
||||
#: src/symtab.c:206
|
||||
#, c-format
|
||||
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
||||
msgstr ""
|
||||
"simbol %s digunakan, namun tidak didefinisikan sebagai token dan tidak "
|
||||
"memiliki aturan"
|
||||
|
||||
#: src/symtab.c:244
|
||||
#: src/symtab.c:231
|
||||
#, c-format
|
||||
msgid "symbol `%s' used more than once as a literal string"
|
||||
msgstr "simbol `%s' digunakan lebih dari satu kali sebagai string literal"
|
||||
|
||||
#: src/symtab.c:247
|
||||
#: src/symtab.c:234
|
||||
#, c-format
|
||||
msgid "symbol `%s' given more than one literal string"
|
||||
msgstr "simbol `%s' diberikan lebih dari satu string literal"
|
||||
|
||||
#: src/symtab.c:281
|
||||
#: src/symtab.c:270
|
||||
#, c-format
|
||||
msgid "conflicting precedences for %s and %s"
|
||||
msgstr "presenden konflik untuk %s dan %s"
|
||||
|
||||
#: src/symtab.c:293
|
||||
#: src/symtab.c:282
|
||||
#, c-format
|
||||
msgid "conflicting associativities for %s (%s) and %s (%s)"
|
||||
msgstr "asosiatif konflik untuk %s (%s) dan %s (%s)"
|
||||
|
||||
#: src/symtab.c:363
|
||||
#: src/symtab.c:367
|
||||
#, c-format
|
||||
msgid "tokens %s and %s both assigned number %d"
|
||||
msgstr "token %s dan %s keduanya memiliki angka %d"
|
||||
|
||||
#: src/symtab.c:568
|
||||
#: src/symtab.c:590
|
||||
#, c-format
|
||||
msgid "the start symbol %s is undefined"
|
||||
msgstr "simbol awal %s tidak didefinisikan"
|
||||
|
||||
#: src/symtab.c:572
|
||||
#: src/symtab.c:594
|
||||
#, c-format
|
||||
msgid "the start symbol %s is a token"
|
||||
msgstr "simbol awal %s adalah sebuah token"
|
||||
|
||||
#: lib/argmatch.c:161
|
||||
#: lib/argmatch.c:129
|
||||
#, c-format
|
||||
msgid "invalid argument %s for %s"
|
||||
msgstr "argument %s tidak valid untuk %s"
|
||||
|
||||
#: lib/argmatch.c:162
|
||||
#: lib/argmatch.c:130
|
||||
#, c-format
|
||||
msgid "ambiguous argument %s for %s"
|
||||
msgstr "argumen %s ambigu untuk %s"
|
||||
|
||||
#: lib/argmatch.c:181
|
||||
#: lib/argmatch.c:149
|
||||
msgid "Valid arguments are:"
|
||||
msgstr "Argumen valid adalah:"
|
||||
|
||||
#: lib/bitset_stats.c:235
|
||||
#: lib/bitset_stats.c:178
|
||||
#, c-format
|
||||
msgid "%u bitset_allocs, %u freed (%.2f%%).\n"
|
||||
msgstr "%u bitset_allocs, %u freed (%.2f%%).\n"
|
||||
|
||||
#: lib/bitset_stats.c:238
|
||||
#: lib/bitset_stats.c:181
|
||||
#, c-format
|
||||
msgid "%u bitset_sets, %u cached (%.2f%%)\n"
|
||||
msgstr "%u bitset_sets, %u cached (%.2f%%)\n"
|
||||
|
||||
#: lib/bitset_stats.c:241
|
||||
#: lib/bitset_stats.c:184
|
||||
#, c-format
|
||||
msgid "%u bitset_resets, %u cached (%.2f%%)\n"
|
||||
msgstr "%u bitset_resets, %u cached (%.2f%%)\n"
|
||||
|
||||
#: lib/bitset_stats.c:244
|
||||
#: lib/bitset_stats.c:187
|
||||
#, c-format
|
||||
msgid "%u bitset_tests, %u cached (%.2f%%)\n"
|
||||
msgstr "%u bitset_tests, %u cached (%.2f%%)\n"
|
||||
|
||||
#: lib/bitset_stats.c:248
|
||||
#: lib/bitset_stats.c:191
|
||||
#, c-format
|
||||
msgid "%u bitset_lists\n"
|
||||
msgstr "%u bitset_lists\n"
|
||||
|
||||
#: lib/bitset_stats.c:250
|
||||
#: lib/bitset_stats.c:193
|
||||
msgid "count log histogram\n"
|
||||
msgstr "hitung log histogram\n"
|
||||
|
||||
#: lib/bitset_stats.c:253
|
||||
#: lib/bitset_stats.c:196
|
||||
msgid "size log histogram\n"
|
||||
msgstr "ukuran log histogram\n"
|
||||
|
||||
#: lib/bitset_stats.c:256
|
||||
#: lib/bitset_stats.c:199
|
||||
msgid "density histogram\n"
|
||||
msgstr "kepadatan histogram\n"
|
||||
|
||||
#: lib/bitset_stats.c:272
|
||||
#: lib/bitset_stats.c:213
|
||||
msgid ""
|
||||
"Bitset statistics:\n"
|
||||
"\n"
|
||||
@@ -609,94 +581,114 @@ msgstr ""
|
||||
"Statistik bitset:\n"
|
||||
"\n"
|
||||
|
||||
#: lib/bitset_stats.c:275
|
||||
#: lib/bitset_stats.c:216
|
||||
#, c-format
|
||||
msgid "Accumulated runs = %u\n"
|
||||
msgstr "Run terakumulasi = %u\n"
|
||||
|
||||
#: lib/bitset_stats.c:320
|
||||
#: lib/bitset_stats.c:260 lib/bitset_stats.c:265
|
||||
msgid "Could not read stats file."
|
||||
msgstr "Tidak dapat membaca file stat."
|
||||
|
||||
#: lib/bitset_stats.c:322
|
||||
#: lib/bitset_stats.c:262
|
||||
msgid "Bad stats file size.\n"
|
||||
msgstr "Ukuran file stat buruk.\n"
|
||||
|
||||
#: lib/bitset_stats.c:348
|
||||
#: lib/bitset_stats.c:288 lib/bitset_stats.c:290
|
||||
msgid "Could not write stats file."
|
||||
msgstr "Tidak dapat menulis file stat."
|
||||
|
||||
#: lib/bitset_stats.c:352
|
||||
#: lib/bitset_stats.c:293
|
||||
msgid "Could not open stats file for writing."
|
||||
msgstr "Tidak dapat membuka file stat untuk ditulisi."
|
||||
|
||||
#: lib/getopt.c:662
|
||||
#: lib/getopt.c:688 lib/getopt.c:700
|
||||
#, c-format
|
||||
msgid "%s: option `%s' is ambiguous\n"
|
||||
msgstr "%s: option `%s' ambigu\n"
|
||||
|
||||
#: lib/getopt.c:687
|
||||
#: lib/getopt.c:733 lib/getopt.c:737
|
||||
#, c-format
|
||||
msgid "%s: option `--%s' doesn't allow an argument\n"
|
||||
msgstr "%s: option `--%s' tidak membolehkan sebuah argumen\n"
|
||||
|
||||
#: lib/getopt.c:692
|
||||
#: lib/getopt.c:746 lib/getopt.c:751
|
||||
#, c-format
|
||||
msgid "%s: option `%c%s' doesn't allow an argument\n"
|
||||
msgstr "%s: option `%c%s' tidak membolehkan sebuah argumen\n"
|
||||
|
||||
#: lib/getopt.c:710 lib/getopt.c:883
|
||||
#: lib/getopt.c:787 lib/getopt.c:800 lib/getopt.c:1089 lib/getopt.c:1102
|
||||
#, c-format
|
||||
msgid "%s: option `%s' requires an argument\n"
|
||||
msgstr "%s: option `%s' membutuhkan sebuah argumen\n"
|
||||
|
||||
#: lib/getopt.c:739
|
||||
#: lib/getopt.c:838 lib/getopt.c:841
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `--%s'\n"
|
||||
msgstr "%s: option tidak dikenal `--%s'\n"
|
||||
|
||||
#: lib/getopt.c:743
|
||||
#: lib/getopt.c:849 lib/getopt.c:852
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `%c%s'\n"
|
||||
msgstr "%s: option tidak dikenal `%c%s'\n"
|
||||
|
||||
#: lib/getopt.c:769
|
||||
#: lib/getopt.c:899 lib/getopt.c:902
|
||||
#, c-format
|
||||
msgid "%s: illegal option -- %c\n"
|
||||
msgstr "%s: option ilegal -- %c\n"
|
||||
|
||||
#: lib/getopt.c:772
|
||||
#: lib/getopt.c:908 lib/getopt.c:911
|
||||
#, c-format
|
||||
msgid "%s: invalid option -- %c\n"
|
||||
msgstr "%s: option tidak valid -- %c\n"
|
||||
|
||||
#: lib/getopt.c:802 lib/getopt.c:932
|
||||
#: lib/getopt.c:958 lib/getopt.c:969 lib/getopt.c:1155 lib/getopt.c:1168
|
||||
#, c-format
|
||||
msgid "%s: option requires an argument -- %c\n"
|
||||
msgstr "%s: option membutuhkan sebuah argumen -- %c\n"
|
||||
|
||||
#: lib/getopt.c:849
|
||||
#: lib/getopt.c:1021 lib/getopt.c:1032
|
||||
#, c-format
|
||||
msgid "%s: option `-W %s' is ambiguous\n"
|
||||
msgstr "%s: option `-W %s' ambigu\n"
|
||||
|
||||
#: lib/getopt.c:867
|
||||
#: lib/getopt.c:1056 lib/getopt.c:1068
|
||||
#, c-format
|
||||
msgid "%s: option `-W %s' doesn't allow an argument\n"
|
||||
msgstr "%s: option `-W %s' tidak membolehkan sebuah argumen\n"
|
||||
|
||||
#: lib/obstack.c:496 lib/obstack.c:499 lib/xmalloc.c:66
|
||||
#: lib/obstack.c:487 lib/obstack.c:490 lib/xmalloc.c:63
|
||||
msgid "memory exhausted"
|
||||
msgstr "memori habis"
|
||||
|
||||
#: lib/quotearg.c:274
|
||||
#: lib/quotearg.c:236
|
||||
msgid "`"
|
||||
msgstr "`"
|
||||
|
||||
#: lib/quotearg.c:275
|
||||
#: lib/quotearg.c:237
|
||||
msgid "'"
|
||||
msgstr "'"
|
||||
|
||||
#: lib/subpipe.c:187
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' could not be invoked"
|
||||
msgstr "program subsider `%s' tidak dapat dipanggil"
|
||||
|
||||
#: lib/subpipe.c:189
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' not found"
|
||||
msgstr "program subsider `%s' tidak ditemukan"
|
||||
|
||||
#: lib/subpipe.c:191
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' failed"
|
||||
msgstr "program subsider `%s' gagal"
|
||||
|
||||
#: lib/subpipe.c:192
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' failed (exit status %d)"
|
||||
msgstr "program subsider `%s' gagal (status kegagalan %d)"
|
||||
|
||||
#: lib/timevar.c:476
|
||||
msgid ""
|
||||
"\n"
|
||||
@@ -713,3 +705,17 @@ msgstr " TOTAL :"
|
||||
#, c-format
|
||||
msgid "time in %s: %ld.%06ld (%ld%%)\n"
|
||||
msgstr "waktu dalam %s: %ld.%06ld (%ld%%)\n"
|
||||
|
||||
#~ msgid "%d shift/reduce conflict"
|
||||
#~ msgid_plural "%d shift/reduce conflicts"
|
||||
#~ msgstr[0] "%d geser/kurangi konflik"
|
||||
#~ msgstr[1] "%d geser/kurangi konflik"
|
||||
|
||||
#~ msgid "and"
|
||||
#~ msgstr "dan"
|
||||
|
||||
#~ msgid "conflicts: "
|
||||
#~ msgstr "konflik: "
|
||||
|
||||
#~ msgid "State %d contains "
|
||||
#~ msgstr "State %d berisi "
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU bison 1.30f\n"
|
||||
"POT-Creation-Date: 2002-10-14 14:47+0200\n"
|
||||
"PO-Revision-Date: 2001-12-10 15:59+0900\n"
|
||||
"POT-Creation-Date: 2003-01-01 01:28-0800\n"
|
||||
"PO-Revision-Date: 2002-10-29 01:00-05:00\n"
|
||||
"Last-Translator: Daisuke Yamashita <[email protected]>\n"
|
||||
"Language-Team: Japanese <[email protected]>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -14,93 +14,98 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#: src/complain.c:89 lib/error.c:128 lib/error.c:156
|
||||
#: src/complain.c:56 lib/error.c:135 lib/error.c:163
|
||||
msgid "Unknown system error"
|
||||
msgstr "不明なシステムエラー"
|
||||
|
||||
#: src/complain.c:123 src/complain.c:152
|
||||
#: src/complain.c:79 src/complain.c:94
|
||||
msgid "warning: "
|
||||
msgstr "警告: "
|
||||
|
||||
#: src/complain.c:252 src/complain.c:282
|
||||
#: src/complain.c:150 src/complain.c:166
|
||||
msgid "fatal error: "
|
||||
msgstr "致命的エラー: "
|
||||
|
||||
#: src/conflicts.c:72
|
||||
#: src/conflicts.c:75
|
||||
#, fuzzy, c-format
|
||||
msgid " Conflict between rule %d and token %s resolved as shift"
|
||||
msgstr "状態 %d の規則 %d とトークン %s の競合を%sとして解決。\n"
|
||||
|
||||
#: src/conflicts.c:80
|
||||
#: src/conflicts.c:83
|
||||
#, fuzzy, c-format
|
||||
msgid " Conflict between rule %d and token %s resolved as reduce"
|
||||
msgstr "状態 %d の規則 %d とトークン %s の競合を%sとして解決。\n"
|
||||
|
||||
#: src/conflicts.c:87
|
||||
#: src/conflicts.c:90
|
||||
#, fuzzy, c-format
|
||||
msgid " Conflict between rule %d and token %s resolved as an error"
|
||||
msgstr "状態 %d の規則 %d とトークン %s の競合を%sとして解決。\n"
|
||||
|
||||
#: src/conflicts.c:402
|
||||
#: src/conflicts.c:398
|
||||
#, c-format
|
||||
msgid "%d shift/reduce conflict"
|
||||
msgid_plural "%d shift/reduce conflicts"
|
||||
msgstr[0] "%d シフト/還元衝突"
|
||||
msgid "conflicts: %d shift/reduce, %d reduce/reduce\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/conflicts.c:409
|
||||
msgid "and"
|
||||
msgstr "および"
|
||||
|
||||
#: src/conflicts.c:415
|
||||
#, c-format
|
||||
msgid "%d reduce/reduce conflict"
|
||||
msgid_plural "%d reduce/reduce conflicts"
|
||||
msgstr[0] "%d 還元/還元衝突"
|
||||
|
||||
#: src/conflicts.c:435
|
||||
msgid "conflicts: "
|
||||
msgstr "衝突: "
|
||||
|
||||
#: src/conflicts.c:437
|
||||
#, c-format
|
||||
msgid " %d shift/reduce"
|
||||
#: src/conflicts.c:401
|
||||
#, fuzzy, c-format
|
||||
msgid "conflicts: %d shift/reduce\n"
|
||||
msgstr " %d シフト/還元"
|
||||
|
||||
#: src/conflicts.c:441
|
||||
#, c-format
|
||||
msgid " %d reduce/reduce"
|
||||
#: src/conflicts.c:403
|
||||
#, fuzzy, c-format
|
||||
msgid "conflicts: %d reduce/reduce\n"
|
||||
msgstr " %d 還元/還元"
|
||||
|
||||
#: src/conflicts.c:460
|
||||
#, c-format
|
||||
msgid "State %d contains "
|
||||
msgstr "状態 %d が含むのは "
|
||||
#: src/conflicts.c:421
|
||||
#, fuzzy, c-format
|
||||
msgid "State %d "
|
||||
msgstr "状態 %d"
|
||||
|
||||
#: src/conflicts.c:537
|
||||
#: src/conflicts.c:498
|
||||
#, fuzzy, c-format
|
||||
msgid "expected %d shift/reduce conflict"
|
||||
msgid_plural "expected %d shift/reduce conflicts"
|
||||
msgstr[0] "本来 %d 個のシフト/還元衝突であるはずです\n"
|
||||
|
||||
#: src/files.c:114
|
||||
#: src/conflicts.c:503
|
||||
#, fuzzy
|
||||
msgid "expected 0 reduce/reduce conflicts"
|
||||
msgstr "%d 還元/還元衝突"
|
||||
|
||||
#: src/files.c:99
|
||||
#, c-format
|
||||
msgid "cannot open file `%s'"
|
||||
msgstr "ファイル `%s' を開けません"
|
||||
|
||||
#: src/files.c:133
|
||||
#: src/files.c:115
|
||||
#, fuzzy
|
||||
msgid "I/O error"
|
||||
msgstr "エラー"
|
||||
|
||||
#: src/files.c:118
|
||||
msgid "cannot close file"
|
||||
msgstr "ファイルを閉じることができません"
|
||||
|
||||
#: src/getargs.c:157
|
||||
#: src/files.c:336
|
||||
#, fuzzy, c-format
|
||||
msgid "conflicting outputs to file %s"
|
||||
msgstr "非結合値 %s と %s で競合が生じています"
|
||||
|
||||
#: src/getargs.c:182
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information.\n"
|
||||
msgstr "`%s --help' で詳細情報を参照してください\n"
|
||||
|
||||
#: src/getargs.c:188
|
||||
msgid "GNU bison generates parsers for LALR(1) grammars.\n"
|
||||
msgstr "GNU bison は LALR(1) 文法の構文解析器を生成します。\n"
|
||||
|
||||
#: src/getargs.c:161
|
||||
#: src/getargs.c:192
|
||||
#, c-format
|
||||
msgid "Usage: %s [OPTION]... FILE\n"
|
||||
msgstr "使い方: %s [オプション]... ファイル\n"
|
||||
|
||||
#: src/getargs.c:165
|
||||
#: src/getargs.c:196
|
||||
msgid ""
|
||||
"If a long option shows an argument as mandatory, then it is mandatory\n"
|
||||
"for the equivalent short option also. Similarly for optional arguments.\n"
|
||||
@@ -108,7 +113,7 @@ msgstr ""
|
||||
"ロングオプションで必須の引数が示されていれば、同じ意味のショートオプション\n"
|
||||
"でも同様に必須の引数となります。必須でない選択的引数でも同様です。\n"
|
||||
|
||||
#: src/getargs.c:171
|
||||
#: src/getargs.c:202
|
||||
msgid ""
|
||||
"Operation modes:\n"
|
||||
" -h, --help display this help and exit\n"
|
||||
@@ -120,7 +125,7 @@ msgstr ""
|
||||
" -V, --version バージョン情報を表示して終了する\n"
|
||||
" -y, --yacc POSIX yacc をエミュレイトする\n"
|
||||
|
||||
#: src/getargs.c:178
|
||||
#: src/getargs.c:209
|
||||
msgid ""
|
||||
"Parser:\n"
|
||||
" -S, --skeleton=FILE specify the skeleton to use\n"
|
||||
@@ -140,7 +145,7 @@ msgstr ""
|
||||
" -n, --no-parser テーブルのみを生成する\n"
|
||||
" -k, --token-table トークン名のテーブルを含める\n"
|
||||
|
||||
#: src/getargs.c:190
|
||||
#: src/getargs.c:221
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Output:\n"
|
||||
@@ -159,7 +164,7 @@ msgstr ""
|
||||
" -o, --output=FILE 出力先を FILE とする\n"
|
||||
" -g, --graph オートマトンの VCG 記述子も作成する\n"
|
||||
|
||||
#: src/getargs.c:201
|
||||
#: src/getargs.c:232
|
||||
msgid ""
|
||||
"THINGS is a list of comma separated words that can include:\n"
|
||||
" `state' describe the states\n"
|
||||
@@ -170,26 +175,26 @@ msgid ""
|
||||
" `none' disable the report\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:212
|
||||
#: src/getargs.c:243
|
||||
msgid "Report bugs to <[email protected]>.\n"
|
||||
msgstr "バグレポートは <[email protected]> まで。\n"
|
||||
|
||||
#: src/getargs.c:226
|
||||
#: src/getargs.c:260
|
||||
#, c-format
|
||||
msgid "bison (GNU Bison) %s"
|
||||
msgstr "bison (GNU Bison) %s"
|
||||
|
||||
#: src/getargs.c:228
|
||||
#: src/getargs.c:262
|
||||
msgid "Written by Robert Corbett and Richard Stallman.\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:232
|
||||
#: src/getargs.c:266
|
||||
#, fuzzy, c-format
|
||||
msgid "Copyright (C) %d Free Software Foundation, Inc.\n"
|
||||
msgstr ""
|
||||
"Copyright 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, Inc.\n"
|
||||
|
||||
#: src/getargs.c:234
|
||||
#: src/getargs.c:268
|
||||
msgid ""
|
||||
"This is free software; see the source for copying conditions. There is NO\n"
|
||||
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
|
||||
@@ -200,69 +205,63 @@ msgstr ""
|
||||
"これはフリーソフトウェアです -- 複製についての条件はソースを見ましょう。\n"
|
||||
"一切の保証はありません -- 商業性や目的適合性についての保証すらありません。\n"
|
||||
|
||||
#: src/getargs.c:395
|
||||
#: src/getargs.c:424
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information.\n"
|
||||
msgstr "`%s --help' で詳細情報を参照してください\n"
|
||||
msgid "missing operand after `%s'"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:402
|
||||
#: src/getargs.c:426
|
||||
#, c-format
|
||||
msgid "%s: no grammar file given\n"
|
||||
msgstr "%s: 文法ファイルが指定されていません\n"
|
||||
msgid "extra operand `%s'"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:406
|
||||
#, c-format
|
||||
msgid "%s: extra arguments ignored after `%s'\n"
|
||||
msgstr "%s: `%s' の後ろの余分な引数は無視されました\n"
|
||||
|
||||
#: src/gram.c:139
|
||||
#: src/gram.c:142
|
||||
msgid "empty"
|
||||
msgstr "空"
|
||||
|
||||
#: src/gram.c:233
|
||||
#: src/gram.c:236
|
||||
msgid "Grammar"
|
||||
msgstr "文法"
|
||||
|
||||
#: src/gram.c:321 src/reduce.c:302 src/reduce.c:392
|
||||
#: src/gram.c:324 src/reduce.c:393
|
||||
#, fuzzy
|
||||
msgid "warning"
|
||||
msgstr "警告: "
|
||||
|
||||
#: src/lalr.c:91
|
||||
#, c-format
|
||||
msgid "too many gotos (max %d)"
|
||||
msgstr "goto の数が多すぎます (最大 %d)"
|
||||
|
||||
#: src/main.c:117
|
||||
#: src/main.c:124
|
||||
#, fuzzy
|
||||
msgid "rule never reduced because of conflicts"
|
||||
msgstr " 1 還元/還元衝突"
|
||||
|
||||
#: parse-gram.y:347
|
||||
#: src/parse-gram.y:334
|
||||
msgid "POSIX forbids declarations in the grammar"
|
||||
msgstr ""
|
||||
|
||||
#: src/print.c:46
|
||||
#: src/parse-gram.y:457
|
||||
msgid "missing identifier in parameter declaration"
|
||||
msgstr ""
|
||||
|
||||
#: src/print.c:48
|
||||
#, c-format
|
||||
msgid " type %d is %s\n"
|
||||
msgstr " タイプ %d は %s です\n"
|
||||
|
||||
#: src/print.c:162
|
||||
#: src/print.c:164
|
||||
#, fuzzy, c-format
|
||||
msgid "shift, and go to state %d\n"
|
||||
msgstr " %-4s\tシフト、および状態 %d へ\n"
|
||||
|
||||
#: src/print.c:164
|
||||
#: src/print.c:166
|
||||
#, fuzzy, c-format
|
||||
msgid "go to state %d\n"
|
||||
msgstr " $ \t状態 %d へ\n"
|
||||
|
||||
#: src/print.c:201
|
||||
#: src/print.c:203
|
||||
#, fuzzy
|
||||
msgid "error (nonassociative)\n"
|
||||
msgstr "%-4s\tエラー (非結合)"
|
||||
|
||||
#: src/print.c:290
|
||||
#: src/print.c:291
|
||||
#, fuzzy, c-format
|
||||
msgid "reduce using rule %d (%s)"
|
||||
msgstr "$default\t規則 %d を利用して還元 (%s)"
|
||||
@@ -280,131 +279,112 @@ msgstr ""
|
||||
msgid "state %d"
|
||||
msgstr "状態 %d"
|
||||
|
||||
#: src/print.c:456
|
||||
#: src/print.c:455
|
||||
msgid "Terminals, with rules where they appear"
|
||||
msgstr "出現位置の規則による終端"
|
||||
|
||||
#: src/print.c:483
|
||||
#: src/print.c:482
|
||||
msgid "Nonterminals, with rules where they appear"
|
||||
msgstr "出現位置の規則による非終端"
|
||||
|
||||
#: src/print.c:512
|
||||
#: src/print.c:511
|
||||
msgid " on left:"
|
||||
msgstr " 左辺:"
|
||||
|
||||
#: src/print.c:527
|
||||
#: src/print.c:526
|
||||
msgid " on right:"
|
||||
msgstr " 右辺:"
|
||||
|
||||
#: src/print.c:555
|
||||
#: src/print.c:554
|
||||
#, fuzzy
|
||||
msgid "Rules never reduced"
|
||||
msgstr "%d 個の規則は決して還元されません\n"
|
||||
|
||||
#: src/reader.c:52
|
||||
#: src/reader.c:53
|
||||
#, c-format
|
||||
msgid "multiple %s declarations"
|
||||
msgstr "%s が複数個宣言されました"
|
||||
|
||||
#: src/reader.c:141
|
||||
#: src/reader.c:138
|
||||
#, c-format
|
||||
msgid "result type clash on merge function %s: `%s' vs. `%s'"
|
||||
msgid "result type clash on merge function %s: <%s> != <%s>"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:239
|
||||
#: src/reader.c:236
|
||||
#, c-format
|
||||
msgid "rule given for %s, which is a token"
|
||||
msgstr "%s に規則が与えられ、それはトークンとなります"
|
||||
|
||||
#: src/reader.c:268
|
||||
#, c-format
|
||||
msgid "type clash (`%s' `%s') on default action"
|
||||
#: src/reader.c:265
|
||||
#, fuzzy, c-format
|
||||
msgid "type clash on default action: <%s> != <%s>"
|
||||
msgstr "初期状態の動作では型 (`%s' `%s') が衝突します"
|
||||
|
||||
#: src/reader.c:274
|
||||
#: src/reader.c:271
|
||||
msgid "empty rule for typed nonterminal, and no action"
|
||||
msgstr "空の型付き非終端アイテム用規則であり、動作が起りません"
|
||||
|
||||
#: src/reader.c:344
|
||||
msgid "two @prec's in a row"
|
||||
msgstr "@prec のもの二つが同列になっています"
|
||||
|
||||
#: src/reader.c:354
|
||||
#: src/reader.c:341 src/reader.c:355 src/reader.c:368
|
||||
#, c-format
|
||||
msgid "%%dprec affects only GLR parsers"
|
||||
msgid "only one %s allowed per rule"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:356
|
||||
#: src/reader.c:351 src/reader.c:366
|
||||
#, c-format
|
||||
msgid "%%dprec must be followed by positive number"
|
||||
msgid "%s affects only GLR parsers"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:358
|
||||
#: src/reader.c:353
|
||||
#, c-format
|
||||
msgid "only one %%dprec allowed per rule"
|
||||
msgid "%s must be followed by positive number"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:369
|
||||
#, c-format
|
||||
msgid "%%merge affects only GLR parsers"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:371
|
||||
#, c-format
|
||||
msgid "only one %%merge allowed per rule"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:514
|
||||
#: src/reader.c:510
|
||||
msgid "no rules in the input grammar"
|
||||
msgstr "入力した文法に規則が定義されていません"
|
||||
|
||||
#: src/reader.c:546
|
||||
#, c-format
|
||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||
msgstr "シンボルが多すぎます (トークン + 非終端アイテム) -- 最大 %d"
|
||||
|
||||
#: src/reduce.c:239
|
||||
#: src/reduce.c:241
|
||||
#, fuzzy
|
||||
msgid "useless rule"
|
||||
msgstr "%d 個の無意味な規則"
|
||||
|
||||
#: src/reduce.c:302
|
||||
#, fuzzy
|
||||
msgid "useless nonterminal"
|
||||
msgstr "%d 個の無意味な非終端子"
|
||||
#, fuzzy, c-format
|
||||
msgid "useless nonterminal: %s"
|
||||
msgstr "無意味な非終端子:"
|
||||
|
||||
#: src/reduce.c:349
|
||||
#: src/reduce.c:350
|
||||
#, fuzzy
|
||||
msgid "Useless nonterminals"
|
||||
msgstr "無意味な非終端子:"
|
||||
|
||||
#: src/reduce.c:362
|
||||
#: src/reduce.c:363
|
||||
#, fuzzy
|
||||
msgid "Terminals which are not used"
|
||||
msgstr "利用されない終端子:"
|
||||
|
||||
#: src/reduce.c:371
|
||||
#: src/reduce.c:372
|
||||
#, fuzzy
|
||||
msgid "Useless rules"
|
||||
msgstr "無意味な規則:"
|
||||
|
||||
#: src/reduce.c:387
|
||||
#: src/reduce.c:388
|
||||
#, c-format
|
||||
msgid "%d rule never reduced\n"
|
||||
msgid_plural "%d rules never reduced\n"
|
||||
msgstr[0] "%d 個の規則は決して還元されません\n"
|
||||
|
||||
#: src/reduce.c:395
|
||||
#: src/reduce.c:396
|
||||
#, c-format
|
||||
msgid "%d useless nonterminal"
|
||||
msgid_plural "%d useless nonterminals"
|
||||
msgstr[0] "%d 個の無意味な非終端子"
|
||||
|
||||
#: src/reduce.c:401
|
||||
#: src/reduce.c:402
|
||||
msgid " and "
|
||||
msgstr "および"
|
||||
|
||||
#: src/reduce.c:404
|
||||
#: src/reduce.c:405
|
||||
#, c-format
|
||||
msgid "%d useless rule"
|
||||
msgid_plural "%d useless rules"
|
||||
@@ -415,81 +395,70 @@ msgstr[0] "%d
|
||||
msgid "start symbol %s does not derive any sentence"
|
||||
msgstr "開始シンボル %s はどの文にも由来しません"
|
||||
|
||||
#: scan-gram.l:211
|
||||
#, c-format
|
||||
msgid ": invalid character: `%c'\n"
|
||||
#: src/scan-gram.l:157
|
||||
msgid "stray `,' treated as white space"
|
||||
msgstr ""
|
||||
|
||||
#: scan-gram.l:255
|
||||
#, fuzzy
|
||||
msgid ": unexpected end of file in a comment\n"
|
||||
msgstr "予期しないファイルの終端です"
|
||||
|
||||
#: scan-gram.l:284 scan-gram.l:423
|
||||
#, fuzzy
|
||||
msgid ": unexpected end of file in a string\n"
|
||||
msgstr "予期しないファイルの終端です"
|
||||
|
||||
#: scan-gram.l:322 scan-gram.l:394
|
||||
#, fuzzy
|
||||
msgid ": unexpected end of file in a character\n"
|
||||
msgstr "予期しないファイルの終端です"
|
||||
|
||||
#: scan-gram.l:343
|
||||
#: src/scan-gram.l:216
|
||||
#, fuzzy, c-format
|
||||
msgid ": invalid escape: %s\n"
|
||||
msgid "invalid directive: %s"
|
||||
msgstr "不適切な入力: %s"
|
||||
|
||||
#: scan-gram.l:364
|
||||
#: src/scan-gram.l:236 src/scan-gram.l:785 src/scan-gram.l:853
|
||||
#, c-format
|
||||
msgid "integer out of range: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/scan-gram.l:281
|
||||
#, fuzzy, c-format
|
||||
msgid ": unrecognized escape: %s\n"
|
||||
msgid "invalid character: %s"
|
||||
msgstr "未知の文字: %s"
|
||||
|
||||
#: src/scan-gram.l:405 src/scan-gram.l:415 src/scan-gram.l:434
|
||||
#, fuzzy, c-format
|
||||
msgid "invalid escape sequence: %s"
|
||||
msgstr "不適切な入力: %s"
|
||||
|
||||
#: src/scan-gram.l:439
|
||||
#, fuzzy, c-format
|
||||
msgid "unrecognized escape sequence: %s"
|
||||
msgstr "認識できない: %s"
|
||||
|
||||
#: scan-gram.l:485
|
||||
#, fuzzy
|
||||
msgid ": unexpected end of file in a braced code\n"
|
||||
msgstr "予期しないファイルの終端です"
|
||||
#: src/scan-gram.l:524
|
||||
#, c-format
|
||||
msgid "missing `{' in `%s'"
|
||||
msgstr ""
|
||||
|
||||
#: scan-gram.l:514
|
||||
#, fuzzy
|
||||
msgid ": unexpected end of file in a prologue\n"
|
||||
msgstr "予期しないファイルの終端です"
|
||||
|
||||
#: scan-gram.l:572
|
||||
#: src/scan-gram.l:757
|
||||
#, c-format
|
||||
msgid "$$ of `%s' has no declared type"
|
||||
msgstr "`%s' の $$ に宣言のない型があります"
|
||||
|
||||
#: scan-gram.l:584 scan-gram.l:666
|
||||
#, fuzzy, c-format
|
||||
msgid "invalid value: %s%d"
|
||||
msgstr "不適切な $ の値"
|
||||
|
||||
#: scan-gram.l:591
|
||||
#: src/scan-gram.l:776
|
||||
#, c-format
|
||||
msgid "$%d of `%s' has no declared type"
|
||||
msgstr "$%d 個の `%s' が宣言された型を持っていません"
|
||||
|
||||
#: scan-gram.l:602 scan-gram.l:619 scan-gram.l:673 scan-gram.l:690
|
||||
#, c-format
|
||||
msgid "%s is invalid"
|
||||
msgstr "%s は不適切です"
|
||||
#: src/scan-gram.l:820 src/scan-gram.l:887
|
||||
#, fuzzy, c-format
|
||||
msgid "invalid value: %s"
|
||||
msgstr "不適切な $ の値"
|
||||
|
||||
#: src/state.c:145
|
||||
#, c-format
|
||||
msgid "too many states (max %d)"
|
||||
msgstr "状態が多すぎます (最大 %d)"
|
||||
#: src/scan-gram.l:978
|
||||
#, fuzzy, c-format
|
||||
msgid "missing `%s' at end of file"
|
||||
msgstr "閉じられていない文字列がファイル末尾にあります"
|
||||
|
||||
#: src/symlist.c:97 src/symlist.c:109
|
||||
#: src/symlist.c:97 src/symlist.c:108
|
||||
msgid "invalid $ value"
|
||||
msgstr "不適切な $ の値"
|
||||
|
||||
#: src/symtab.c:81
|
||||
#: src/symtab.c:84
|
||||
#, c-format
|
||||
msgid "type redeclaration for %s"
|
||||
msgstr "%s の型が再定義されました"
|
||||
|
||||
#: src/symtab.c:98 src/symtab.c:117
|
||||
#: src/symtab.c:101 src/symtab.c:119
|
||||
#, fuzzy, c-format
|
||||
msgid "%s redeclaration for %s"
|
||||
msgstr "%s の型が再定義されました"
|
||||
@@ -499,203 +468,223 @@ msgstr "%s
|
||||
msgid "redefining precedence of %s"
|
||||
msgstr "%s に先行した再定義です"
|
||||
|
||||
#: src/symtab.c:157
|
||||
#: src/symtab.c:156
|
||||
#, c-format
|
||||
msgid "symbol %s redefined"
|
||||
msgstr "シンボル %s が再定義されました"
|
||||
|
||||
#: src/symtab.c:180
|
||||
#: src/symtab.c:179
|
||||
#, fuzzy, c-format
|
||||
msgid "redefining user token number of %s"
|
||||
msgstr "%s に先行した再定義です"
|
||||
|
||||
#: src/symtab.c:225
|
||||
#: src/symtab.c:206
|
||||
#, c-format
|
||||
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
||||
msgstr ""
|
||||
"シンボル %s が使われていますが、トークンとして定義されておらず、規則を持ちま"
|
||||
"せん"
|
||||
|
||||
#: src/symtab.c:244
|
||||
#: src/symtab.c:231
|
||||
#, c-format
|
||||
msgid "symbol `%s' used more than once as a literal string"
|
||||
msgstr "シンボル `%s' はリテラル文字列として複数回使われました"
|
||||
|
||||
#: src/symtab.c:247
|
||||
#: src/symtab.c:234
|
||||
#, c-format
|
||||
msgid "symbol `%s' given more than one literal string"
|
||||
msgstr "シンボル `%s' は複数のリテラル文字列が与えられました"
|
||||
|
||||
#: src/symtab.c:281
|
||||
#: src/symtab.c:270
|
||||
#, c-format
|
||||
msgid "conflicting precedences for %s and %s"
|
||||
msgstr "先行している %s と %s で競合が生じています"
|
||||
|
||||
#: src/symtab.c:293
|
||||
#: src/symtab.c:282
|
||||
#, fuzzy, c-format
|
||||
msgid "conflicting associativities for %s (%s) and %s (%s)"
|
||||
msgstr "非結合値 %s と %s で競合が生じています"
|
||||
|
||||
#: src/symtab.c:363
|
||||
#: src/symtab.c:367
|
||||
#, c-format
|
||||
msgid "tokens %s and %s both assigned number %d"
|
||||
msgstr "トークン %s と %s の双方が番号 %d に割り当てられました"
|
||||
|
||||
#: src/symtab.c:568
|
||||
#: src/symtab.c:590
|
||||
#, c-format
|
||||
msgid "the start symbol %s is undefined"
|
||||
msgstr "開始シンボル %s は定義されていません"
|
||||
|
||||
#: src/symtab.c:572
|
||||
#: src/symtab.c:594
|
||||
#, c-format
|
||||
msgid "the start symbol %s is a token"
|
||||
msgstr "開始シンボル %s はトークンです"
|
||||
|
||||
#: lib/argmatch.c:161
|
||||
#: lib/argmatch.c:129
|
||||
#, fuzzy, c-format
|
||||
msgid "invalid argument %s for %s"
|
||||
msgstr "不適切な入力: %s"
|
||||
|
||||
#: lib/argmatch.c:162
|
||||
#: lib/argmatch.c:130
|
||||
#, c-format
|
||||
msgid "ambiguous argument %s for %s"
|
||||
msgstr ""
|
||||
|
||||
#: lib/argmatch.c:181
|
||||
#: lib/argmatch.c:149
|
||||
msgid "Valid arguments are:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:235
|
||||
#: lib/bitset_stats.c:178
|
||||
#, c-format
|
||||
msgid "%u bitset_allocs, %u freed (%.2f%%).\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:238
|
||||
#: lib/bitset_stats.c:181
|
||||
#, c-format
|
||||
msgid "%u bitset_sets, %u cached (%.2f%%)\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:241
|
||||
#: lib/bitset_stats.c:184
|
||||
#, c-format
|
||||
msgid "%u bitset_resets, %u cached (%.2f%%)\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:244
|
||||
#: lib/bitset_stats.c:187
|
||||
#, c-format
|
||||
msgid "%u bitset_tests, %u cached (%.2f%%)\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:248
|
||||
#: lib/bitset_stats.c:191
|
||||
#, c-format
|
||||
msgid "%u bitset_lists\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:250
|
||||
#: lib/bitset_stats.c:193
|
||||
msgid "count log histogram\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:253
|
||||
#: lib/bitset_stats.c:196
|
||||
msgid "size log histogram\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:256
|
||||
#: lib/bitset_stats.c:199
|
||||
msgid "density histogram\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:272
|
||||
#: lib/bitset_stats.c:213
|
||||
msgid ""
|
||||
"Bitset statistics:\n"
|
||||
"\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:275
|
||||
#: lib/bitset_stats.c:216
|
||||
#, c-format
|
||||
msgid "Accumulated runs = %u\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:320
|
||||
#: lib/bitset_stats.c:260 lib/bitset_stats.c:265
|
||||
msgid "Could not read stats file."
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:322
|
||||
#: lib/bitset_stats.c:262
|
||||
msgid "Bad stats file size.\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:348
|
||||
#: lib/bitset_stats.c:288 lib/bitset_stats.c:290
|
||||
msgid "Could not write stats file."
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:352
|
||||
#: lib/bitset_stats.c:293
|
||||
msgid "Could not open stats file for writing."
|
||||
msgstr ""
|
||||
|
||||
#: lib/getopt.c:662
|
||||
#: lib/getopt.c:688 lib/getopt.c:700
|
||||
#, c-format
|
||||
msgid "%s: option `%s' is ambiguous\n"
|
||||
msgstr "%s: オプション `%s' は曖昧です\n"
|
||||
|
||||
#: lib/getopt.c:687
|
||||
#: lib/getopt.c:733 lib/getopt.c:737
|
||||
#, c-format
|
||||
msgid "%s: option `--%s' doesn't allow an argument\n"
|
||||
msgstr "%s: オプション `--%s' は引数を許しません\n"
|
||||
|
||||
#: lib/getopt.c:692
|
||||
#: lib/getopt.c:746 lib/getopt.c:751
|
||||
#, c-format
|
||||
msgid "%s: option `%c%s' doesn't allow an argument\n"
|
||||
msgstr "%s: オプション `%c%s' は引数を許しません\n"
|
||||
|
||||
#: lib/getopt.c:710 lib/getopt.c:883
|
||||
#: lib/getopt.c:787 lib/getopt.c:800 lib/getopt.c:1089 lib/getopt.c:1102
|
||||
#, c-format
|
||||
msgid "%s: option `%s' requires an argument\n"
|
||||
msgstr "%s: オプション `%s' は引数を要求します\n"
|
||||
|
||||
#: lib/getopt.c:739
|
||||
#: lib/getopt.c:838 lib/getopt.c:841
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `--%s'\n"
|
||||
msgstr "%s: 認識できないオプション `--%s' です\n"
|
||||
|
||||
#: lib/getopt.c:743
|
||||
#: lib/getopt.c:849 lib/getopt.c:852
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `%c%s'\n"
|
||||
msgstr "%s: 認識できないオプション `%c%s' です\n"
|
||||
|
||||
#: lib/getopt.c:769
|
||||
#: lib/getopt.c:899 lib/getopt.c:902
|
||||
#, c-format
|
||||
msgid "%s: illegal option -- %c\n"
|
||||
msgstr "%s: 定格外のオプション -- %c\n"
|
||||
|
||||
#: lib/getopt.c:772
|
||||
#: lib/getopt.c:908 lib/getopt.c:911
|
||||
#, c-format
|
||||
msgid "%s: invalid option -- %c\n"
|
||||
msgstr "%s: 不適切なオプション -- %c\n"
|
||||
|
||||
#: lib/getopt.c:802 lib/getopt.c:932
|
||||
#: lib/getopt.c:958 lib/getopt.c:969 lib/getopt.c:1155 lib/getopt.c:1168
|
||||
#, c-format
|
||||
msgid "%s: option requires an argument -- %c\n"
|
||||
msgstr "%s: オプションは引数を要求します -- %c\n"
|
||||
|
||||
#: lib/getopt.c:849
|
||||
#: lib/getopt.c:1021 lib/getopt.c:1032
|
||||
#, c-format
|
||||
msgid "%s: option `-W %s' is ambiguous\n"
|
||||
msgstr "%s: オプション `-W %s' は曖昧です\n"
|
||||
|
||||
#: lib/getopt.c:867
|
||||
#: lib/getopt.c:1056 lib/getopt.c:1068
|
||||
#, c-format
|
||||
msgid "%s: option `-W %s' doesn't allow an argument\n"
|
||||
msgstr "%s: オプション `-W %s' は引数を許しません\n"
|
||||
|
||||
#: lib/obstack.c:496 lib/obstack.c:499 lib/xmalloc.c:66
|
||||
#: lib/obstack.c:487 lib/obstack.c:490 lib/xmalloc.c:63
|
||||
msgid "memory exhausted"
|
||||
msgstr "メモリを使い果たしました"
|
||||
|
||||
#: lib/quotearg.c:274
|
||||
#: lib/quotearg.c:236
|
||||
msgid "`"
|
||||
msgstr "`"
|
||||
|
||||
#: lib/quotearg.c:275
|
||||
#: lib/quotearg.c:237
|
||||
msgid "'"
|
||||
msgstr "'"
|
||||
|
||||
#: lib/subpipe.c:187
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' could not be invoked"
|
||||
msgstr ""
|
||||
|
||||
#: lib/subpipe.c:189
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' not found"
|
||||
msgstr ""
|
||||
|
||||
#: lib/subpipe.c:191
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' failed"
|
||||
msgstr ""
|
||||
|
||||
#: lib/subpipe.c:192
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' failed (exit status %d)"
|
||||
msgstr ""
|
||||
|
||||
#: lib/timevar.c:476
|
||||
msgid ""
|
||||
"\n"
|
||||
@@ -711,14 +700,27 @@ msgstr ""
|
||||
msgid "time in %s: %ld.%06ld (%ld%%)\n"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "too many states (max %d)"
|
||||
#~ msgstr "状態が多すぎます (最大 %d)"
|
||||
|
||||
#~ msgid "reduce"
|
||||
#~ msgstr "還元"
|
||||
|
||||
#~ msgid "shift"
|
||||
#~ msgstr "シフト"
|
||||
|
||||
#~ msgid "an error"
|
||||
#~ msgstr "エラー"
|
||||
#~ msgid "%d shift/reduce conflict"
|
||||
#~ msgid_plural "%d shift/reduce conflicts"
|
||||
#~ msgstr[0] "%d シフト/還元衝突"
|
||||
|
||||
#~ msgid "and"
|
||||
#~ msgstr "および"
|
||||
|
||||
#~ msgid "State %d contains "
|
||||
#~ msgstr "状態 %d が含むのは "
|
||||
|
||||
#~ msgid "conflicts: "
|
||||
#~ msgstr "衝突: "
|
||||
|
||||
#~ msgid "%s contains "
|
||||
#~ msgstr "%s の中身は"
|
||||
@@ -742,12 +744,24 @@ msgstr ""
|
||||
#~ msgid "`%s' is no longer supported"
|
||||
#~ msgstr "`%s' は最早サポートされません"
|
||||
|
||||
#~ msgid "%s: no grammar file given\n"
|
||||
#~ msgstr "%s: 文法ファイルが指定されていません\n"
|
||||
|
||||
#~ msgid "%s: extra arguments ignored after `%s'\n"
|
||||
#~ msgstr "%s: `%s' の後ろの余分な引数は無視されました\n"
|
||||
|
||||
#~ msgid "too many gotos (max %d)"
|
||||
#~ msgstr "goto の数が多すぎます (最大 %d)"
|
||||
|
||||
#~ msgid "unexpected `/' found and ignored"
|
||||
#~ msgstr "予期しない `/' が見つかり、無視されました"
|
||||
|
||||
#~ msgid "unterminated comment"
|
||||
#~ msgstr "閉じていないコメントです"
|
||||
|
||||
#~ msgid "unexpected end of file"
|
||||
#~ msgstr "予期しないファイルの終端です"
|
||||
|
||||
#~ msgid "unescaped newline in constant"
|
||||
#~ msgstr "定数の中にエスケープされていない改行があります"
|
||||
|
||||
@@ -805,12 +819,12 @@ msgstr ""
|
||||
#~ msgid " Skipping to next %c"
|
||||
#~ msgstr " 次の %c にスキップ"
|
||||
|
||||
#~ msgid "unterminated string at end of file"
|
||||
#~ msgstr "閉じられていない文字列がファイル末尾にあります"
|
||||
|
||||
#~ msgid "unterminated string"
|
||||
#~ msgstr "閉じられていない文字列"
|
||||
|
||||
#~ msgid "%s is invalid"
|
||||
#~ msgstr "%s は不適切です"
|
||||
|
||||
#~ msgid "unterminated `%{' definition"
|
||||
#~ msgstr "`%{' 定義 が閉じられていません"
|
||||
|
||||
@@ -850,9 +864,6 @@ msgstr ""
|
||||
#~ msgid "no input grammar"
|
||||
#~ msgstr "文法の入力が無い"
|
||||
|
||||
#~ msgid "unknown character: %s"
|
||||
#~ msgstr "未知の文字: %s"
|
||||
|
||||
#~ msgid "unterminated %guard clause"
|
||||
#~ msgstr "%guard 節が閉じられていません"
|
||||
|
||||
@@ -862,12 +873,18 @@ msgstr ""
|
||||
#~ msgid "grammar starts with vertical bar"
|
||||
#~ msgstr "文法は縦棒 (|) で始めます"
|
||||
|
||||
#~ msgid "two @prec's in a row"
|
||||
#~ msgstr "@prec のもの二つが同列になっています"
|
||||
|
||||
#~ msgid "%%guard present but %%semantic_parser not specified"
|
||||
#~ msgstr "%%guard がありますが %%semantic_parser が指定されていません"
|
||||
|
||||
#~ msgid "two actions at end of one rule"
|
||||
#~ msgstr "一つの規則の終りに二つの動作を指定しています"
|
||||
|
||||
#~ msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||
#~ msgstr "シンボルが多すぎます (トークン + 非終端アイテム) -- 最大 %d"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "\n"
|
||||
#~ "\n"
|
||||
|
||||
+223
-217
@@ -4,9 +4,9 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: bison 1.50\n"
|
||||
"POT-Creation-Date: 2002-10-14 14:47+0200\n"
|
||||
"PO-Revision-Date: 2002-10-07 00:30-0300\n"
|
||||
"Project-Id-Version: bison 1.75b\n"
|
||||
"POT-Creation-Date: 2003-01-01 01:28-0800\n"
|
||||
"PO-Revision-Date: 2002-12-14 02:10-0300\n"
|
||||
"Last-Translator: Alexandre Folle de Menezes <[email protected]>\n"
|
||||
"Language-Team: Brazilian Portuguese <[email protected]>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -14,96 +14,98 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8-bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#: src/complain.c:89 lib/error.c:128 lib/error.c:156
|
||||
#: src/complain.c:56 lib/error.c:135 lib/error.c:163
|
||||
msgid "Unknown system error"
|
||||
msgstr "Erro de sistema desconhecido"
|
||||
|
||||
#: src/complain.c:123 src/complain.c:152
|
||||
#: src/complain.c:79 src/complain.c:94
|
||||
msgid "warning: "
|
||||
msgstr "aviso: "
|
||||
|
||||
#: src/complain.c:252 src/complain.c:282
|
||||
#: src/complain.c:150 src/complain.c:166
|
||||
msgid "fatal error: "
|
||||
msgstr "erro fatal: "
|
||||
|
||||
#: src/conflicts.c:72
|
||||
#: src/conflicts.c:75
|
||||
#, c-format
|
||||
msgid " Conflict between rule %d and token %s resolved as shift"
|
||||
msgstr " Conflito entre a regra %d e a token %s resolvido como `shift`."
|
||||
|
||||
#: src/conflicts.c:80
|
||||
#: src/conflicts.c:83
|
||||
#, c-format
|
||||
msgid " Conflict between rule %d and token %s resolved as reduce"
|
||||
msgstr " Conflito entre a regra %d e a token %s resolvido como `reduce`."
|
||||
|
||||
#: src/conflicts.c:87
|
||||
#: src/conflicts.c:90
|
||||
#, c-format
|
||||
msgid " Conflict between rule %d and token %s resolved as an error"
|
||||
msgstr " Conflito entre a regra %d e a token %s resolvido como um erro."
|
||||
|
||||
#: src/conflicts.c:402
|
||||
#: src/conflicts.c:398
|
||||
#, c-format
|
||||
msgid "%d shift/reduce conflict"
|
||||
msgid_plural "%d shift/reduce conflicts"
|
||||
msgstr[0] "%d conflito de deslocamento/redução"
|
||||
msgstr[1] "%d conflitos de deslocamento/redução"
|
||||
msgid "conflicts: %d shift/reduce, %d reduce/reduce\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/conflicts.c:409
|
||||
msgid "and"
|
||||
msgstr "e"
|
||||
|
||||
#: src/conflicts.c:415
|
||||
#, c-format
|
||||
msgid "%d reduce/reduce conflict"
|
||||
msgid_plural "%d reduce/reduce conflicts"
|
||||
msgstr[0] "%d conflito de redução/redução"
|
||||
msgstr[1] "%d conflitos de redução/redução"
|
||||
|
||||
#: src/conflicts.c:435
|
||||
msgid "conflicts: "
|
||||
msgstr "conflitos: "
|
||||
|
||||
#: src/conflicts.c:437
|
||||
#, c-format
|
||||
msgid " %d shift/reduce"
|
||||
#: src/conflicts.c:401
|
||||
#, fuzzy, c-format
|
||||
msgid "conflicts: %d shift/reduce\n"
|
||||
msgstr " %d deslocamento/redução"
|
||||
|
||||
#: src/conflicts.c:441
|
||||
#, c-format
|
||||
msgid " %d reduce/reduce"
|
||||
#: src/conflicts.c:403
|
||||
#, fuzzy, c-format
|
||||
msgid "conflicts: %d reduce/reduce\n"
|
||||
msgstr " %d redução/redução"
|
||||
|
||||
#: src/conflicts.c:460
|
||||
#, c-format
|
||||
msgid "State %d contains "
|
||||
msgstr "O estado %d contém "
|
||||
#: src/conflicts.c:421
|
||||
#, fuzzy, c-format
|
||||
msgid "State %d "
|
||||
msgstr "estado %d"
|
||||
|
||||
#: src/conflicts.c:537
|
||||
#: src/conflicts.c:498
|
||||
#, c-format
|
||||
msgid "expected %d shift/reduce conflict"
|
||||
msgid_plural "expected %d shift/reduce conflicts"
|
||||
msgstr[0] "esperado: %d conflito de deslocamento/redução"
|
||||
msgstr[1] "esperados: %d conflitos de deslocamento/redução"
|
||||
|
||||
#: src/files.c:114
|
||||
#: src/conflicts.c:503
|
||||
#, fuzzy
|
||||
msgid "expected 0 reduce/reduce conflicts"
|
||||
msgstr "%d conflito de redução/redução"
|
||||
|
||||
#: src/files.c:99
|
||||
#, c-format
|
||||
msgid "cannot open file `%s'"
|
||||
msgstr "impossível abrir o arquivo `%s'"
|
||||
|
||||
#: src/files.c:133
|
||||
#: src/files.c:115
|
||||
msgid "I/O error"
|
||||
msgstr "Erro de E/S"
|
||||
|
||||
#: src/files.c:118
|
||||
msgid "cannot close file"
|
||||
msgstr "impossível fechar o arquivo"
|
||||
|
||||
#: src/getargs.c:157
|
||||
#: src/files.c:336
|
||||
#, c-format
|
||||
msgid "conflicting outputs to file %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:182
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information.\n"
|
||||
msgstr "tente `%s --help' para mais informações.\n"
|
||||
|
||||
#: src/getargs.c:188
|
||||
msgid "GNU bison generates parsers for LALR(1) grammars.\n"
|
||||
msgstr "GNU bison gera analisadores para gramáticas LALR(1).\n"
|
||||
|
||||
#: src/getargs.c:161
|
||||
#: src/getargs.c:192
|
||||
#, c-format
|
||||
msgid "Usage: %s [OPTION]... FILE\n"
|
||||
msgstr "Uso: %s [OPCAO]... ARQUIVO\n"
|
||||
|
||||
#: src/getargs.c:165
|
||||
#: src/getargs.c:196
|
||||
msgid ""
|
||||
"If a long option shows an argument as mandatory, then it is mandatory\n"
|
||||
"for the equivalent short option also. Similarly for optional arguments.\n"
|
||||
@@ -112,7 +114,7 @@ msgstr ""
|
||||
"obrigatório para a opção curta equivalente também. Igualmente para os\n"
|
||||
"argumentos opcionais.\n"
|
||||
|
||||
#: src/getargs.c:171
|
||||
#: src/getargs.c:202
|
||||
msgid ""
|
||||
"Operation modes:\n"
|
||||
" -h, --help display this help and exit\n"
|
||||
@@ -124,7 +126,7 @@ msgstr ""
|
||||
" -V, --version mostra informações de versão e sai\n"
|
||||
" -y, --yacc emula o yacc POSIX\n"
|
||||
|
||||
#: src/getargs.c:178
|
||||
#: src/getargs.c:209
|
||||
msgid ""
|
||||
"Parser:\n"
|
||||
" -S, --skeleton=FILE specify the skeleton to use\n"
|
||||
@@ -144,7 +146,7 @@ msgstr ""
|
||||
" -n, --no-parser apenas gera as tabelas\n"
|
||||
" --k, --token-table inclui uma tabela de nomes de tokens\n"
|
||||
|
||||
#: src/getargs.c:190
|
||||
#: src/getargs.c:221
|
||||
msgid ""
|
||||
"Output:\n"
|
||||
" -d, --defines also produce a header file\n"
|
||||
@@ -163,7 +165,7 @@ msgstr ""
|
||||
" -o, --output=ARQUIVO armazena a saída em ARQUIVO\n"
|
||||
" -g, --graph também produz uma descrição em VCG do autômato\n"
|
||||
|
||||
#: src/getargs.c:201
|
||||
#: src/getargs.c:232
|
||||
msgid ""
|
||||
"THINGS is a list of comma separated words that can include:\n"
|
||||
" `state' describe the states\n"
|
||||
@@ -182,25 +184,25 @@ msgstr ""
|
||||
" `all' inclui todas as informações acima\n"
|
||||
" `none' desabilita o relatório\n"
|
||||
|
||||
#: src/getargs.c:212
|
||||
#: src/getargs.c:243
|
||||
msgid "Report bugs to <[email protected]>.\n"
|
||||
msgstr "Informe os erros para <[email protected]>.\n"
|
||||
|
||||
#: src/getargs.c:226
|
||||
#: src/getargs.c:260
|
||||
#, c-format
|
||||
msgid "bison (GNU Bison) %s"
|
||||
msgstr "bison (GNU bison) %s"
|
||||
|
||||
#: src/getargs.c:228
|
||||
#: src/getargs.c:262
|
||||
msgid "Written by Robert Corbett and Richard Stallman.\n"
|
||||
msgstr "Escrito por Robert Corbett e Richard Stallman.\n"
|
||||
|
||||
#: src/getargs.c:232
|
||||
#: src/getargs.c:266
|
||||
#, c-format
|
||||
msgid "Copyright (C) %d Free Software Foundation, Inc.\n"
|
||||
msgstr "Copyright (C) %d Free Software Foundation, Inc.\n"
|
||||
msgstr "Copyright © %d Free Software Foundation, Inc.\n"
|
||||
|
||||
#: src/getargs.c:234
|
||||
#: src/getargs.c:268
|
||||
msgid ""
|
||||
"This is free software; see the source for copying conditions. There is NO\n"
|
||||
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
|
||||
@@ -211,66 +213,60 @@ msgstr ""
|
||||
"ou\n"
|
||||
"ADEQUAÇÃO À QUALQUER FINALIDADE PARTICULAR.\n"
|
||||
|
||||
#: src/getargs.c:395
|
||||
#: src/getargs.c:424
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information.\n"
|
||||
msgstr "tente `%s --help' para mais informações.\n"
|
||||
msgid "missing operand after `%s'"
|
||||
msgstr "falta operando depois de `%s'"
|
||||
|
||||
#: src/getargs.c:402
|
||||
#: src/getargs.c:426
|
||||
#, c-format
|
||||
msgid "%s: no grammar file given\n"
|
||||
msgstr "%s: nenhum arquivo de gramática foi especificado\n"
|
||||
msgid "extra operand `%s'"
|
||||
msgstr "operando `%s' sobrando"
|
||||
|
||||
#: src/getargs.c:406
|
||||
#, c-format
|
||||
msgid "%s: extra arguments ignored after `%s'\n"
|
||||
msgstr "%s: os argumentos extra ignorados depois de '%s'\n"
|
||||
|
||||
#: src/gram.c:139
|
||||
#: src/gram.c:142
|
||||
msgid "empty"
|
||||
msgstr "vazio"
|
||||
|
||||
#: src/gram.c:233
|
||||
#: src/gram.c:236
|
||||
msgid "Grammar"
|
||||
msgstr "Gramática"
|
||||
|
||||
#: src/gram.c:321 src/reduce.c:302 src/reduce.c:392
|
||||
#: src/gram.c:324 src/reduce.c:393
|
||||
msgid "warning"
|
||||
msgstr "aviso"
|
||||
|
||||
#: src/lalr.c:91
|
||||
#, c-format
|
||||
msgid "too many gotos (max %d)"
|
||||
msgstr "muitos gotos (máximo %d)"
|
||||
|
||||
#: src/main.c:117
|
||||
#: src/main.c:124
|
||||
msgid "rule never reduced because of conflicts"
|
||||
msgstr "regra não reduzida por causa de conflitos"
|
||||
|
||||
#: parse-gram.y:347
|
||||
#: src/parse-gram.y:334
|
||||
msgid "POSIX forbids declarations in the grammar"
|
||||
msgstr "o POSIX proíbe declarações na gramática"
|
||||
|
||||
#: src/print.c:46
|
||||
#: src/parse-gram.y:457
|
||||
msgid "missing identifier in parameter declaration"
|
||||
msgstr ""
|
||||
|
||||
#: src/print.c:48
|
||||
#, c-format
|
||||
msgid " type %d is %s\n"
|
||||
msgstr " tipo %d é %s\n"
|
||||
|
||||
#: src/print.c:162
|
||||
#: src/print.c:164
|
||||
#, c-format
|
||||
msgid "shift, and go to state %d\n"
|
||||
msgstr "deslocar, e ir ao estado %d\n"
|
||||
|
||||
#: src/print.c:164
|
||||
#: src/print.c:166
|
||||
#, c-format
|
||||
msgid "go to state %d\n"
|
||||
msgstr "ir ao estado %d\n"
|
||||
|
||||
#: src/print.c:201
|
||||
#: src/print.c:203
|
||||
msgid "error (nonassociative)\n"
|
||||
msgstr "erro (não associativo)\n"
|
||||
|
||||
#: src/print.c:290
|
||||
#: src/print.c:291
|
||||
#, c-format
|
||||
msgid "reduce using rule %d (%s)"
|
||||
msgstr "reduzir usando a regra %d (%s)"
|
||||
@@ -288,127 +284,109 @@ msgstr "$padr
|
||||
msgid "state %d"
|
||||
msgstr "estado %d"
|
||||
|
||||
#: src/print.c:456
|
||||
#: src/print.c:455
|
||||
msgid "Terminals, with rules where they appear"
|
||||
msgstr "Terminais, com as regras onde eles aparecem"
|
||||
|
||||
#: src/print.c:483
|
||||
#: src/print.c:482
|
||||
msgid "Nonterminals, with rules where they appear"
|
||||
msgstr "Não-terminais com as regras onde eles aparecem"
|
||||
|
||||
#: src/print.c:512
|
||||
#: src/print.c:511
|
||||
msgid " on left:"
|
||||
msgstr " à esquerda:"
|
||||
|
||||
#: src/print.c:527
|
||||
#: src/print.c:526
|
||||
msgid " on right:"
|
||||
msgstr " à direita:"
|
||||
|
||||
#: src/print.c:555
|
||||
#: src/print.c:554
|
||||
msgid "Rules never reduced"
|
||||
msgstr "Regras nunca reduzidas"
|
||||
|
||||
#: src/reader.c:52
|
||||
#: src/reader.c:53
|
||||
#, c-format
|
||||
msgid "multiple %s declarations"
|
||||
msgstr "declarações de %s múltiplas"
|
||||
|
||||
#: src/reader.c:141
|
||||
#: src/reader.c:138
|
||||
#, c-format
|
||||
msgid "result type clash on merge function %s: `%s' vs. `%s'"
|
||||
msgstr "tipo de resultado conflita na fução de mescla %s: `%s' vs. `%s'"
|
||||
msgid "result type clash on merge function %s: <%s> != <%s>"
|
||||
msgstr "tipo de resultado conflita na fução de mescla %s: <%s> != <%s>"
|
||||
|
||||
#: src/reader.c:239
|
||||
#: src/reader.c:236
|
||||
#, c-format
|
||||
msgid "rule given for %s, which is a token"
|
||||
msgstr "regra fornecida para %s, que é um token"
|
||||
|
||||
#: src/reader.c:268
|
||||
#: src/reader.c:265
|
||||
#, c-format
|
||||
msgid "type clash (`%s' `%s') on default action"
|
||||
msgstr "os tipos (`%s' `%s') não concordam na ação padrão"
|
||||
msgid "type clash on default action: <%s> != <%s>"
|
||||
msgstr "conflito de tipos na ação padrão: <%s> != <%s>"
|
||||
|
||||
#: src/reader.c:274
|
||||
#: src/reader.c:271
|
||||
msgid "empty rule for typed nonterminal, and no action"
|
||||
msgstr "regra vazia para um não-terminal com tipo, e não há ações"
|
||||
|
||||
#: src/reader.c:344
|
||||
msgid "two @prec's in a row"
|
||||
msgstr "dois @prec em uma linha"
|
||||
|
||||
#: src/reader.c:354
|
||||
#: src/reader.c:341 src/reader.c:355 src/reader.c:368
|
||||
#, c-format
|
||||
msgid "%%dprec affects only GLR parsers"
|
||||
msgstr "%%dprec afeta apenas analisadores GLR"
|
||||
msgid "only one %s allowed per rule"
|
||||
msgstr "apenas um %s é permitido por regra"
|
||||
|
||||
#: src/reader.c:356
|
||||
#: src/reader.c:351 src/reader.c:366
|
||||
#, c-format
|
||||
msgid "%%dprec must be followed by positive number"
|
||||
msgstr "%%dprec deve ser seguido por um número positivo"
|
||||
msgid "%s affects only GLR parsers"
|
||||
msgstr "%s afeta apenas analisadores GLR"
|
||||
|
||||
#: src/reader.c:358
|
||||
#: src/reader.c:353
|
||||
#, c-format
|
||||
msgid "only one %%dprec allowed per rule"
|
||||
msgstr "apenas um %%dprec é permitido por regra"
|
||||
msgid "%s must be followed by positive number"
|
||||
msgstr "%s deve ser seguido por um número positivo"
|
||||
|
||||
#: src/reader.c:369
|
||||
#, c-format
|
||||
msgid "%%merge affects only GLR parsers"
|
||||
msgstr "%%merge afeta apenas analisadores GLR"
|
||||
|
||||
#: src/reader.c:371
|
||||
#, c-format
|
||||
msgid "only one %%merge allowed per rule"
|
||||
msgstr "apenas um %%merge é permitido por regra"
|
||||
|
||||
#: src/reader.c:514
|
||||
#: src/reader.c:510
|
||||
msgid "no rules in the input grammar"
|
||||
msgstr "não há regras na gramática de entrada"
|
||||
|
||||
#: src/reader.c:546
|
||||
#, c-format
|
||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||
msgstr "muitos símbolos (terminais e não-terminais); máximo %d"
|
||||
|
||||
#: src/reduce.c:239
|
||||
#: src/reduce.c:241
|
||||
msgid "useless rule"
|
||||
msgstr "regra inútil"
|
||||
|
||||
#: src/reduce.c:302
|
||||
msgid "useless nonterminal"
|
||||
#, fuzzy, c-format
|
||||
msgid "useless nonterminal: %s"
|
||||
msgstr "não-terminal inútil"
|
||||
|
||||
#: src/reduce.c:349
|
||||
#: src/reduce.c:350
|
||||
msgid "Useless nonterminals"
|
||||
msgstr "Não-terminais inúteis"
|
||||
|
||||
#: src/reduce.c:362
|
||||
#: src/reduce.c:363
|
||||
msgid "Terminals which are not used"
|
||||
msgstr "Terminais que não foram usados"
|
||||
|
||||
#: src/reduce.c:371
|
||||
#: src/reduce.c:372
|
||||
msgid "Useless rules"
|
||||
msgstr "Regras inúteis"
|
||||
|
||||
#: src/reduce.c:387
|
||||
#: src/reduce.c:388
|
||||
#, c-format
|
||||
msgid "%d rule never reduced\n"
|
||||
msgid_plural "%d rules never reduced\n"
|
||||
msgstr[0] "%d regra que nunca foi reduzida\n"
|
||||
msgstr[1] "%d regras que nunca foram reduzidas\n"
|
||||
|
||||
#: src/reduce.c:395
|
||||
#: src/reduce.c:396
|
||||
#, c-format
|
||||
msgid "%d useless nonterminal"
|
||||
msgid_plural "%d useless nonterminals"
|
||||
msgstr[0] "%d não-terminal inútil"
|
||||
msgstr[1] "%d não-terminal inútil"
|
||||
|
||||
#: src/reduce.c:401
|
||||
#: src/reduce.c:402
|
||||
msgid " and "
|
||||
msgstr " e "
|
||||
|
||||
#: src/reduce.c:404
|
||||
#: src/reduce.c:405
|
||||
#, c-format
|
||||
msgid "%d useless rule"
|
||||
msgid_plural "%d useless rules"
|
||||
@@ -420,76 +398,70 @@ msgstr[1] "%d regras in
|
||||
msgid "start symbol %s does not derive any sentence"
|
||||
msgstr "símbolo de início %s não deriva nenhuma sentença"
|
||||
|
||||
#: scan-gram.l:211
|
||||
#: src/scan-gram.l:157
|
||||
msgid "stray `,' treated as white space"
|
||||
msgstr ""
|
||||
|
||||
#: src/scan-gram.l:216
|
||||
#, c-format
|
||||
msgid ": invalid character: `%c'\n"
|
||||
msgstr ": caractere inválido: `%c'\n"
|
||||
msgid "invalid directive: %s"
|
||||
msgstr "diretiva inválida: %s"
|
||||
|
||||
#: scan-gram.l:255
|
||||
msgid ": unexpected end of file in a comment\n"
|
||||
msgstr ": fim de arquivo inesperado em um comentário\n"
|
||||
|
||||
#: scan-gram.l:284 scan-gram.l:423
|
||||
msgid ": unexpected end of file in a string\n"
|
||||
msgstr ": fim de arquivo inesperado em uma string\n"
|
||||
|
||||
#: scan-gram.l:322 scan-gram.l:394
|
||||
msgid ": unexpected end of file in a character\n"
|
||||
msgstr ": fim de arquivo inesperado em um caractere\n"
|
||||
|
||||
#: scan-gram.l:343
|
||||
#: src/scan-gram.l:236 src/scan-gram.l:785 src/scan-gram.l:853
|
||||
#, c-format
|
||||
msgid ": invalid escape: %s\n"
|
||||
msgstr ": escape inválido: %s\n"
|
||||
msgid "integer out of range: %s"
|
||||
msgstr "inteiro fora de faixa: %s"
|
||||
|
||||
#: scan-gram.l:364
|
||||
#: src/scan-gram.l:281
|
||||
#, c-format
|
||||
msgid ": unrecognized escape: %s\n"
|
||||
msgstr ": escape não reconhecido: %s\n"
|
||||
msgid "invalid character: %s"
|
||||
msgstr "caractere inválido: %s"
|
||||
|
||||
#: scan-gram.l:485
|
||||
msgid ": unexpected end of file in a braced code\n"
|
||||
msgstr ": fim de arquivo inesperado em código entre chaves\n"
|
||||
#: src/scan-gram.l:405 src/scan-gram.l:415 src/scan-gram.l:434
|
||||
#, c-format
|
||||
msgid "invalid escape sequence: %s"
|
||||
msgstr "seqüência de escape inválida: %s"
|
||||
|
||||
#: scan-gram.l:514
|
||||
msgid ": unexpected end of file in a prologue\n"
|
||||
msgstr ": fim de arquivo inesperado em um prólogo\n"
|
||||
#: src/scan-gram.l:439
|
||||
#, c-format
|
||||
msgid "unrecognized escape sequence: %s"
|
||||
msgstr "seqüência de escape não reconhecida: %s"
|
||||
|
||||
#: scan-gram.l:572
|
||||
#: src/scan-gram.l:524
|
||||
#, fuzzy, c-format
|
||||
msgid "missing `{' in `%s'"
|
||||
msgstr "falta operando depois de `%s'"
|
||||
|
||||
#: src/scan-gram.l:757
|
||||
#, c-format
|
||||
msgid "$$ of `%s' has no declared type"
|
||||
msgstr "$$ de `%s' não tem tipo declarado"
|
||||
|
||||
#: scan-gram.l:584 scan-gram.l:666
|
||||
#, c-format
|
||||
msgid "invalid value: %s%d"
|
||||
msgstr "valor inválido: %s%d"
|
||||
|
||||
#: scan-gram.l:591
|
||||
#: src/scan-gram.l:776
|
||||
#, c-format
|
||||
msgid "$%d of `%s' has no declared type"
|
||||
msgstr "$%d de `%s' não tem tipo declarado"
|
||||
|
||||
#: scan-gram.l:602 scan-gram.l:619 scan-gram.l:673 scan-gram.l:690
|
||||
#: src/scan-gram.l:820 src/scan-gram.l:887
|
||||
#, c-format
|
||||
msgid "%s is invalid"
|
||||
msgstr "%s é inválido"
|
||||
msgid "invalid value: %s"
|
||||
msgstr "valor inválido: %s"
|
||||
|
||||
#: src/state.c:145
|
||||
#: src/scan-gram.l:978
|
||||
#, c-format
|
||||
msgid "too many states (max %d)"
|
||||
msgstr "muitos estados (máximo %d)"
|
||||
msgid "missing `%s' at end of file"
|
||||
msgstr "`%s' faltando no final do arquivo"
|
||||
|
||||
#: src/symlist.c:97 src/symlist.c:109
|
||||
#: src/symlist.c:97 src/symlist.c:108
|
||||
msgid "invalid $ value"
|
||||
msgstr "valor $ inválido"
|
||||
|
||||
#: src/symtab.c:81
|
||||
#: src/symtab.c:84
|
||||
#, c-format
|
||||
msgid "type redeclaration for %s"
|
||||
msgstr "redeclaração de tipo para %s"
|
||||
|
||||
#: src/symtab.c:98 src/symtab.c:117
|
||||
#: src/symtab.c:101 src/symtab.c:119
|
||||
#, c-format
|
||||
msgid "%s redeclaration for %s"
|
||||
msgstr "redeclaração de %s para %s"
|
||||
@@ -499,108 +471,108 @@ msgstr "redeclara
|
||||
msgid "redefining precedence of %s"
|
||||
msgstr "redefinindo precedência de %s"
|
||||
|
||||
#: src/symtab.c:157
|
||||
#: src/symtab.c:156
|
||||
#, c-format
|
||||
msgid "symbol %s redefined"
|
||||
msgstr "símbolo %s redefinido"
|
||||
|
||||
#: src/symtab.c:180
|
||||
#: src/symtab.c:179
|
||||
#, c-format
|
||||
msgid "redefining user token number of %s"
|
||||
msgstr "redefinindo número de token de usuário de %s"
|
||||
|
||||
#: src/symtab.c:225
|
||||
#: src/symtab.c:206
|
||||
#, c-format
|
||||
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
||||
msgstr "símbolo %s usado, mas não definido como uma token e não tem regras"
|
||||
|
||||
#: src/symtab.c:244
|
||||
#: src/symtab.c:231
|
||||
#, c-format
|
||||
msgid "symbol `%s' used more than once as a literal string"
|
||||
msgstr "símbolo `%s' usado mais the uma vez como uma string literal"
|
||||
|
||||
#: src/symtab.c:247
|
||||
#: src/symtab.c:234
|
||||
#, c-format
|
||||
msgid "symbol `%s' given more than one literal string"
|
||||
msgstr "símbolo `%s' associado a mais de uma string literal"
|
||||
|
||||
#: src/symtab.c:281
|
||||
#: src/symtab.c:270
|
||||
#, c-format
|
||||
msgid "conflicting precedences for %s and %s"
|
||||
msgstr "precedências conflitantes para %s e %s"
|
||||
|
||||
#: src/symtab.c:293
|
||||
#: src/symtab.c:282
|
||||
#, c-format
|
||||
msgid "conflicting associativities for %s (%s) and %s (%s)"
|
||||
msgstr "valores associativos conflitantes para %s (%s) e %s (%s)"
|
||||
|
||||
#: src/symtab.c:363
|
||||
#: src/symtab.c:367
|
||||
#, c-format
|
||||
msgid "tokens %s and %s both assigned number %d"
|
||||
msgstr "tokens %s e %s associadas ao mesmo número %d"
|
||||
|
||||
#: src/symtab.c:568
|
||||
#: src/symtab.c:590
|
||||
#, c-format
|
||||
msgid "the start symbol %s is undefined"
|
||||
msgstr "o símbolo de início %s não está definido"
|
||||
|
||||
#: src/symtab.c:572
|
||||
#: src/symtab.c:594
|
||||
#, c-format
|
||||
msgid "the start symbol %s is a token"
|
||||
msgstr "o símbolo de início %s é um terminal"
|
||||
|
||||
#: lib/argmatch.c:161
|
||||
#: lib/argmatch.c:129
|
||||
#, c-format
|
||||
msgid "invalid argument %s for %s"
|
||||
msgstr "argumento %s inválido para %s"
|
||||
|
||||
#: lib/argmatch.c:162
|
||||
#: lib/argmatch.c:130
|
||||
#, c-format
|
||||
msgid "ambiguous argument %s for %s"
|
||||
msgstr "argumento %s ambíguo para %s"
|
||||
|
||||
#: lib/argmatch.c:181
|
||||
#: lib/argmatch.c:149
|
||||
msgid "Valid arguments are:"
|
||||
msgstr "Argumentos válidos são:"
|
||||
|
||||
#: lib/bitset_stats.c:235
|
||||
#: lib/bitset_stats.c:178
|
||||
#, c-format
|
||||
msgid "%u bitset_allocs, %u freed (%.2f%%).\n"
|
||||
msgstr "%u bitset_allocs, %u liberados (%.2f%%).\n"
|
||||
|
||||
#: lib/bitset_stats.c:238
|
||||
#: lib/bitset_stats.c:181
|
||||
#, c-format
|
||||
msgid "%u bitset_sets, %u cached (%.2f%%)\n"
|
||||
msgstr "%u bitset_sets, %u em cache (%.2f%%)\n"
|
||||
|
||||
#: lib/bitset_stats.c:241
|
||||
#: lib/bitset_stats.c:184
|
||||
#, c-format
|
||||
msgid "%u bitset_resets, %u cached (%.2f%%)\n"
|
||||
msgstr "%u bitset_resets, %u em cache (%.2f%%)\n"
|
||||
|
||||
#: lib/bitset_stats.c:244
|
||||
#: lib/bitset_stats.c:187
|
||||
#, c-format
|
||||
msgid "%u bitset_tests, %u cached (%.2f%%)\n"
|
||||
msgstr "%u bitset_tests, %u em cache (%.2f%%)\n"
|
||||
|
||||
#: lib/bitset_stats.c:248
|
||||
#: lib/bitset_stats.c:191
|
||||
#, c-format
|
||||
msgid "%u bitset_lists\n"
|
||||
msgstr "%u bitset_lists\n"
|
||||
|
||||
#: lib/bitset_stats.c:250
|
||||
#: lib/bitset_stats.c:193
|
||||
msgid "count log histogram\n"
|
||||
msgstr "histograma de log de contagens\n"
|
||||
|
||||
#: lib/bitset_stats.c:253
|
||||
#: lib/bitset_stats.c:196
|
||||
msgid "size log histogram\n"
|
||||
msgstr "histograma de log de tamanhos\n"
|
||||
|
||||
#: lib/bitset_stats.c:256
|
||||
#: lib/bitset_stats.c:199
|
||||
msgid "density histogram\n"
|
||||
msgstr "histograma de densidades\n"
|
||||
|
||||
#: lib/bitset_stats.c:272
|
||||
#: lib/bitset_stats.c:213
|
||||
msgid ""
|
||||
"Bitset statistics:\n"
|
||||
"\n"
|
||||
@@ -608,94 +580,114 @@ msgstr ""
|
||||
"Estatísticas de bitset:\n"
|
||||
"\n"
|
||||
|
||||
#: lib/bitset_stats.c:275
|
||||
#: lib/bitset_stats.c:216
|
||||
#, c-format
|
||||
msgid "Accumulated runs = %u\n"
|
||||
msgstr "Execuções acumuladas = %u\n"
|
||||
|
||||
#: lib/bitset_stats.c:320
|
||||
#: lib/bitset_stats.c:260 lib/bitset_stats.c:265
|
||||
msgid "Could not read stats file."
|
||||
msgstr "Impossível ler o arquivo de estatísticas."
|
||||
|
||||
#: lib/bitset_stats.c:322
|
||||
#: lib/bitset_stats.c:262
|
||||
msgid "Bad stats file size.\n"
|
||||
msgstr "Tamanho do arquivo de estatísticas com erro.\n"
|
||||
|
||||
#: lib/bitset_stats.c:348
|
||||
#: lib/bitset_stats.c:288 lib/bitset_stats.c:290
|
||||
msgid "Could not write stats file."
|
||||
msgstr "Impossível de escrever no arquivo de estatísticas."
|
||||
|
||||
#: lib/bitset_stats.c:352
|
||||
#: lib/bitset_stats.c:293
|
||||
msgid "Could not open stats file for writing."
|
||||
msgstr "Impossível abrir arquivo de estatísticas para escrita."
|
||||
|
||||
#: lib/getopt.c:662
|
||||
#: lib/getopt.c:688 lib/getopt.c:700
|
||||
#, c-format
|
||||
msgid "%s: option `%s' is ambiguous\n"
|
||||
msgstr "%s: a opção `%s' é ambígua\n"
|
||||
|
||||
#: lib/getopt.c:687
|
||||
#: lib/getopt.c:733 lib/getopt.c:737
|
||||
#, c-format
|
||||
msgid "%s: option `--%s' doesn't allow an argument\n"
|
||||
msgstr "%s: a opção `--%s' no admite nenhum argumento\n"
|
||||
|
||||
#: lib/getopt.c:692
|
||||
#: lib/getopt.c:746 lib/getopt.c:751
|
||||
#, c-format
|
||||
msgid "%s: option `%c%s' doesn't allow an argument\n"
|
||||
msgstr "%s: a opção `%c%s' não admite nenhum argumento\n"
|
||||
|
||||
#: lib/getopt.c:710 lib/getopt.c:883
|
||||
#: lib/getopt.c:787 lib/getopt.c:800 lib/getopt.c:1089 lib/getopt.c:1102
|
||||
#, c-format
|
||||
msgid "%s: option `%s' requires an argument\n"
|
||||
msgstr "%s: a opção `%s' exige um argumento\n"
|
||||
|
||||
#: lib/getopt.c:739
|
||||
#: lib/getopt.c:838 lib/getopt.c:841
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `--%s'\n"
|
||||
msgstr "%s: opção `--%s' não reconhecida\n"
|
||||
|
||||
#: lib/getopt.c:743
|
||||
#: lib/getopt.c:849 lib/getopt.c:852
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `%c%s'\n"
|
||||
msgstr "%s: opção `%c%s' não reconhecida\n"
|
||||
|
||||
#: lib/getopt.c:769
|
||||
#: lib/getopt.c:899 lib/getopt.c:902
|
||||
#, c-format
|
||||
msgid "%s: illegal option -- %c\n"
|
||||
msgstr "%s: opção -- %c ilegal\n"
|
||||
|
||||
#: lib/getopt.c:772
|
||||
#: lib/getopt.c:908 lib/getopt.c:911
|
||||
#, c-format
|
||||
msgid "%s: invalid option -- %c\n"
|
||||
msgstr "%s: opção -- %c inválida\n"
|
||||
|
||||
#: lib/getopt.c:802 lib/getopt.c:932
|
||||
#: lib/getopt.c:958 lib/getopt.c:969 lib/getopt.c:1155 lib/getopt.c:1168
|
||||
#, c-format
|
||||
msgid "%s: option requires an argument -- %c\n"
|
||||
msgstr "%s: a opção -- %c exige um argumento\n"
|
||||
|
||||
#: lib/getopt.c:849
|
||||
#: lib/getopt.c:1021 lib/getopt.c:1032
|
||||
#, c-format
|
||||
msgid "%s: option `-W %s' is ambiguous\n"
|
||||
msgstr "%s: a opção `-W %s' é ambígua\n"
|
||||
|
||||
#: lib/getopt.c:867
|
||||
#: lib/getopt.c:1056 lib/getopt.c:1068
|
||||
#, c-format
|
||||
msgid "%s: option `-W %s' doesn't allow an argument\n"
|
||||
msgstr "%s: a opção `-W %s' não admite nenhum argumento\n"
|
||||
|
||||
#: lib/obstack.c:496 lib/obstack.c:499 lib/xmalloc.c:66
|
||||
#: lib/obstack.c:487 lib/obstack.c:490 lib/xmalloc.c:63
|
||||
msgid "memory exhausted"
|
||||
msgstr "memória esgotada"
|
||||
|
||||
#: lib/quotearg.c:274
|
||||
#: lib/quotearg.c:236
|
||||
msgid "`"
|
||||
msgstr "`"
|
||||
|
||||
#: lib/quotearg.c:275
|
||||
#: lib/quotearg.c:237
|
||||
msgid "'"
|
||||
msgstr "'"
|
||||
|
||||
#: lib/subpipe.c:187
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' could not be invoked"
|
||||
msgstr "programa subsidiário `%s' não pôde ser invocado"
|
||||
|
||||
#: lib/subpipe.c:189
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' not found"
|
||||
msgstr "programa subsidiário `%s' não foi encontrado"
|
||||
|
||||
#: lib/subpipe.c:191
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' failed"
|
||||
msgstr "programa subsidiário `%s' falhou"
|
||||
|
||||
#: lib/subpipe.c:192
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' failed (exit status %d)"
|
||||
msgstr "programa subsidiário `%s' falhou (estado de saída %d)"
|
||||
|
||||
#: lib/timevar.c:476
|
||||
msgid ""
|
||||
"\n"
|
||||
@@ -712,3 +704,17 @@ msgstr " TOTAL :"
|
||||
#, c-format
|
||||
msgid "time in %s: %ld.%06ld (%ld%%)\n"
|
||||
msgstr "tempo em %s: %ld.%06ld (%ld%%)\n"
|
||||
|
||||
#~ msgid "%d shift/reduce conflict"
|
||||
#~ msgid_plural "%d shift/reduce conflicts"
|
||||
#~ msgstr[0] "%d conflito de deslocamento/redução"
|
||||
#~ msgstr[1] "%d conflitos de deslocamento/redução"
|
||||
|
||||
#~ msgid "and"
|
||||
#~ msgstr "e"
|
||||
|
||||
#~ msgid "conflicts: "
|
||||
#~ msgstr "conflitos: "
|
||||
|
||||
#~ msgid "State %d contains "
|
||||
#~ msgstr "O estado %d contém "
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: bison 1.49a\n"
|
||||
"POT-Creation-Date: 2002-10-14 14:47+0200\n"
|
||||
"POT-Creation-Date: 2003-01-01 01:28-0800\n"
|
||||
"PO-Revision-Date: 2002-07-20 13:23+0400\n"
|
||||
"Last-Translator: Dmitry S. Sivachenko <[email protected]>\n"
|
||||
"Language-Team: Russian <[email protected]>\n"
|
||||
@@ -15,76 +15,57 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
|
||||
"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
|
||||
#: src/complain.c:89 lib/error.c:128 lib/error.c:156
|
||||
#: src/complain.c:56 lib/error.c:135 lib/error.c:163
|
||||
msgid "Unknown system error"
|
||||
msgstr "îÅÉÚ×ÅÓÔÎÁÑ ÓÉÓÔÅÍÎÁÑ ÏÛÉÂËÁ"
|
||||
|
||||
#: src/complain.c:123 src/complain.c:152
|
||||
#: src/complain.c:79 src/complain.c:94
|
||||
msgid "warning: "
|
||||
msgstr "ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: "
|
||||
|
||||
#: src/complain.c:252 src/complain.c:282
|
||||
#: src/complain.c:150 src/complain.c:166
|
||||
msgid "fatal error: "
|
||||
msgstr "ÆÁÔÁÌØÎÁÑ ÏÛÉÂËÁ: "
|
||||
|
||||
#: src/conflicts.c:72
|
||||
#: src/conflicts.c:75
|
||||
#, fuzzy, c-format
|
||||
msgid " Conflict between rule %d and token %s resolved as shift"
|
||||
msgstr ""
|
||||
"ëÏÎÆÌÉËÔ × ÓÏÓÔÏÑÎÉÉ %d ÍÅÖÄÕ ÐÒÁ×ÉÌÏÍ %d É ÌÅËÓÅÍÏÊ %s ÒÁÚÒÅÛÅÎ ËÁË %s.\n"
|
||||
|
||||
#: src/conflicts.c:80
|
||||
#: src/conflicts.c:83
|
||||
#, fuzzy, c-format
|
||||
msgid " Conflict between rule %d and token %s resolved as reduce"
|
||||
msgstr ""
|
||||
"ëÏÎÆÌÉËÔ × ÓÏÓÔÏÑÎÉÉ %d ÍÅÖÄÕ ÐÒÁ×ÉÌÏÍ %d É ÌÅËÓÅÍÏÊ %s ÒÁÚÒÅÛÅÎ ËÁË %s.\n"
|
||||
|
||||
#: src/conflicts.c:87
|
||||
#: src/conflicts.c:90
|
||||
#, fuzzy, c-format
|
||||
msgid " Conflict between rule %d and token %s resolved as an error"
|
||||
msgstr ""
|
||||
"ëÏÎÆÌÉËÔ × ÓÏÓÔÏÑÎÉÉ %d ÍÅÖÄÕ ÐÒÁ×ÉÌÏÍ %d É ÌÅËÓÅÍÏÊ %s ÒÁÚÒÅÛÅÎ ËÁË %s.\n"
|
||||
|
||||
#: src/conflicts.c:402
|
||||
#: src/conflicts.c:398
|
||||
#, c-format
|
||||
msgid "%d shift/reduce conflict"
|
||||
msgid_plural "%d shift/reduce conflicts"
|
||||
msgstr[0] "%d ËÏÎÆÌÉËÔ ÓÄ×ÉÇÁ/×Ù×ÏÄÁ"
|
||||
msgstr[1] "%d ËÏÎÆÌÉËÔÁ ÓÄ×ÉÇÁ/×Ù×ÏÄÁ"
|
||||
msgstr[2] "%d ËÏÎÆÌÉËÔÏ× ÓÄ×ÉÇÁ/×Ù×ÏÄÁ"
|
||||
msgid "conflicts: %d shift/reduce, %d reduce/reduce\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/conflicts.c:409
|
||||
msgid "and"
|
||||
msgstr "É"
|
||||
|
||||
#: src/conflicts.c:415
|
||||
#, c-format
|
||||
msgid "%d reduce/reduce conflict"
|
||||
msgid_plural "%d reduce/reduce conflicts"
|
||||
msgstr[0] "%d ËÏÎÆÌÉËÔ ×Ù×ÏÄÁ/×Ù×ÏÄÁ"
|
||||
msgstr[1] "%d ËÏÎÆÌÉËÔÁ ×Ù×ÏÄÁ/×Ù×ÏÄÁ"
|
||||
msgstr[2] "%d ËÏÎÆÌÉËÔÏ× ×Ù×ÏÄÁ/×Ù×ÏÄÁ"
|
||||
|
||||
#: src/conflicts.c:435
|
||||
msgid "conflicts: "
|
||||
msgstr "ËÏÎÆÌÉËÔÙ: "
|
||||
|
||||
#: src/conflicts.c:437
|
||||
#, c-format
|
||||
msgid " %d shift/reduce"
|
||||
#: src/conflicts.c:401
|
||||
#, fuzzy, c-format
|
||||
msgid "conflicts: %d shift/reduce\n"
|
||||
msgstr " %d ÓÄ×ÉÇ/×Ù×ÏÄ"
|
||||
|
||||
#: src/conflicts.c:441
|
||||
#, c-format
|
||||
msgid " %d reduce/reduce"
|
||||
#: src/conflicts.c:403
|
||||
#, fuzzy, c-format
|
||||
msgid "conflicts: %d reduce/reduce\n"
|
||||
msgstr " %d ×Ù×ÏÄ/×Ù×ÏÄ"
|
||||
|
||||
#: src/conflicts.c:460
|
||||
#, c-format
|
||||
msgid "State %d contains "
|
||||
msgstr "óÏÓÔÏÑÎÉÅ %d ÓÏÄÅÒÖÉÔ "
|
||||
#: src/conflicts.c:421
|
||||
#, fuzzy, c-format
|
||||
msgid "State %d "
|
||||
msgstr "ÓÏÓÔÏÑÎÉÅ %d"
|
||||
|
||||
#: src/conflicts.c:537
|
||||
#: src/conflicts.c:498
|
||||
#, fuzzy, c-format
|
||||
msgid "expected %d shift/reduce conflict"
|
||||
msgid_plural "expected %d shift/reduce conflicts"
|
||||
@@ -92,25 +73,45 @@ msgstr[0] "
|
||||
msgstr[1] "ÏÖÉÄÁÌÏÓØ %d ËÏÎÆÌÉËÔÁ ÓÄ×ÉÇÁ/×Ù×ÏÄÁ\n"
|
||||
msgstr[2] "ÏÖÉÄÁÌÏÓØ %d ËÏÎÆÌÉËÔÏ× ÓÄ×ÉÇÁ/×Ù×ÏÄÁ\n"
|
||||
|
||||
#: src/files.c:114
|
||||
#: src/conflicts.c:503
|
||||
#, fuzzy
|
||||
msgid "expected 0 reduce/reduce conflicts"
|
||||
msgstr "%d ËÏÎÆÌÉËÔ ×Ù×ÏÄÁ/×Ù×ÏÄÁ"
|
||||
|
||||
#: src/files.c:99
|
||||
#, c-format
|
||||
msgid "cannot open file `%s'"
|
||||
msgstr "ÎÅ ÕÄÁÅÔÓÑ ÏÔËÒÙÔØ ÆÁÊÌ `%s'"
|
||||
|
||||
#: src/files.c:133
|
||||
#: src/files.c:115
|
||||
#, fuzzy
|
||||
msgid "I/O error"
|
||||
msgstr "ÏÛÉÂËÁ"
|
||||
|
||||
#: src/files.c:118
|
||||
msgid "cannot close file"
|
||||
msgstr "ÎÅ ÕÄÁÅÔÓÑ ÚÁËÒÙÔØ ÆÁÊÌ"
|
||||
|
||||
#: src/getargs.c:157
|
||||
#: src/files.c:336
|
||||
#, fuzzy, c-format
|
||||
msgid "conflicting outputs to file %s"
|
||||
msgstr "ÐÒÏÔÉ×ÏÒÅÞÉ×ÙÅ ÚÎÁÞÅÎÉÑ ÁÓÓÏÃÉÁÔÉ×ÎÏÓÔÉ ÄÌÑ %s É %s"
|
||||
|
||||
#: src/getargs.c:182
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information.\n"
|
||||
msgstr "éÓÐÏÌØÚÕÊÔÅ `%s --help' ÄÌÑ ÄÏÐÏÌÎÉÔÅÌØÎÏÊ ÉÎÆÏÒÍÁÃÉÉ.\n"
|
||||
|
||||
#: src/getargs.c:188
|
||||
msgid "GNU bison generates parsers for LALR(1) grammars.\n"
|
||||
msgstr "GNU bison ÇÅÎÅÒÉÒÕÅÔ ÁÎÁÌÉÚÁÔÏÒÙ ÄÌÑ ÇÒÁÍÍÁÔÉË LALR(1).\n"
|
||||
|
||||
#: src/getargs.c:161
|
||||
#: src/getargs.c:192
|
||||
#, c-format
|
||||
msgid "Usage: %s [OPTION]... FILE\n"
|
||||
msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ëìàþé]... æáêì\n"
|
||||
|
||||
#: src/getargs.c:165
|
||||
#: src/getargs.c:196
|
||||
msgid ""
|
||||
"If a long option shows an argument as mandatory, then it is mandatory\n"
|
||||
"for the equivalent short option also. Similarly for optional arguments.\n"
|
||||
@@ -119,7 +120,7 @@ msgstr ""
|
||||
"Ñ×ÌÑÅÔÓÑ ÏÂÑÚÁÔÅÌØÎÙÍ ÄÌÑ ËÏÒÏÔËÏÊ ÆÏÒÍÙ. ôÏ ÖÅ ËÁÓÁÅÔÓÑ ÎÅÏÂÑÚÁÔÅÌØÎÙÈ\n"
|
||||
"ÁÒÇÕÍÅÎÔÏ×.\n"
|
||||
|
||||
#: src/getargs.c:171
|
||||
#: src/getargs.c:202
|
||||
msgid ""
|
||||
"Operation modes:\n"
|
||||
" -h, --help display this help and exit\n"
|
||||
@@ -131,7 +132,7 @@ msgstr ""
|
||||
" -V, --version ×Ù×ÅÓÔÉ ÉÎÆÏÒÍÁÃÉÀ Ï ×ÅÒÓÉÉ É ×ÙÊÔÉ\n"
|
||||
" -y, --yacc ÜÍÕÌÉÒÏ×ÁÔØ POSIX yacc\n"
|
||||
|
||||
#: src/getargs.c:178
|
||||
#: src/getargs.c:209
|
||||
msgid ""
|
||||
"Parser:\n"
|
||||
" -S, --skeleton=FILE specify the skeleton to use\n"
|
||||
@@ -151,7 +152,7 @@ msgstr ""
|
||||
" -n, --no-parser ÇÅÎÅÒÉÒÏ×ÁÔØ ÔÏÌØËÏ ÔÁÂÌÉÃÙ\n"
|
||||
" -k, --token-table ×ËÌÀÞÉÔØ ÔÁÂÌÉÃÕ ÉÍÅÎ ÌÅËÓÅÍ\n"
|
||||
|
||||
#: src/getargs.c:190
|
||||
#: src/getargs.c:221
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Output:\n"
|
||||
@@ -171,7 +172,7 @@ msgstr ""
|
||||
" -g, --graph ÓÏÚÄÁÔØ ÔÁËÖÅ ÐÏÑÓÎÅÎÉÑ Ë Á×ÔÏÍÁÔÕ × ×ÉÄÅ \n"
|
||||
"VCG-ÇÒÁÆÁ\n"
|
||||
|
||||
#: src/getargs.c:201
|
||||
#: src/getargs.c:232
|
||||
msgid ""
|
||||
"THINGS is a list of comma separated words that can include:\n"
|
||||
" `state' describe the states\n"
|
||||
@@ -182,25 +183,25 @@ msgid ""
|
||||
" `none' disable the report\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:212
|
||||
#: src/getargs.c:243
|
||||
msgid "Report bugs to <[email protected]>.\n"
|
||||
msgstr "ïÛÉÂËÉ ÓÏÏÂÝÁÊÔÅ ÐÏ ÁÄÒÅÓÕ <[email protected]>.\n"
|
||||
|
||||
#: src/getargs.c:226
|
||||
#: src/getargs.c:260
|
||||
#, c-format
|
||||
msgid "bison (GNU Bison) %s"
|
||||
msgstr "bison (GNU Bison) %s"
|
||||
|
||||
#: src/getargs.c:228
|
||||
#: src/getargs.c:262
|
||||
msgid "Written by Robert Corbett and Richard Stallman.\n"
|
||||
msgstr "á×ÔÏÒÙ: òÏÂÅÒÔ ëÏÒÂÅÔ É òÉÞÁÒÄ óÔÏÌÍÅÎ.\n"
|
||||
|
||||
#: src/getargs.c:232
|
||||
#: src/getargs.c:266
|
||||
#, c-format
|
||||
msgid "Copyright (C) %d Free Software Foundation, Inc.\n"
|
||||
msgstr "Copyright (C) %d Free Software Foundation, Inc.\n"
|
||||
|
||||
#: src/getargs.c:234
|
||||
#: src/getargs.c:268
|
||||
msgid ""
|
||||
"This is free software; see the source for copying conditions. There is NO\n"
|
||||
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
|
||||
@@ -211,69 +212,63 @@ msgstr ""
|
||||
"ðòéçïäîïóôé\n"
|
||||
"äìñ ïðòåäåìåîîïê ãåìé.\n"
|
||||
|
||||
#: src/getargs.c:395
|
||||
#: src/getargs.c:424
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information.\n"
|
||||
msgstr "éÓÐÏÌØÚÕÊÔÅ `%s --help' ÄÌÑ ÄÏÐÏÌÎÉÔÅÌØÎÏÊ ÉÎÆÏÒÍÁÃÉÉ.\n"
|
||||
msgid "missing operand after `%s'"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:402
|
||||
#: src/getargs.c:426
|
||||
#, c-format
|
||||
msgid "%s: no grammar file given\n"
|
||||
msgstr "%s: ÎÅ ÚÁÄÁÎ ÆÁÊÌ Ó ÇÒÁÍÍÁÔÉËÏÊ\n"
|
||||
msgid "extra operand `%s'"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:406
|
||||
#, c-format
|
||||
msgid "%s: extra arguments ignored after `%s'\n"
|
||||
msgstr "%s: ÌÉÛÎÉÅ ÁÒÇÕÍÅÎÔÙ ÐÏÓÌÅ `%s' ÉÇÎÏÒÉÒÏ×ÁÎÙ\n"
|
||||
|
||||
#: src/gram.c:139
|
||||
#: src/gram.c:142
|
||||
msgid "empty"
|
||||
msgstr "ÐÕÓÔÏ"
|
||||
|
||||
#: src/gram.c:233
|
||||
#: src/gram.c:236
|
||||
msgid "Grammar"
|
||||
msgstr "çÒÁÍÍÁÔÉËÁ"
|
||||
|
||||
#: src/gram.c:321 src/reduce.c:302 src/reduce.c:392
|
||||
#: src/gram.c:324 src/reduce.c:393
|
||||
#, fuzzy
|
||||
msgid "warning"
|
||||
msgstr "ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: "
|
||||
|
||||
#: src/lalr.c:91
|
||||
#, c-format
|
||||
msgid "too many gotos (max %d)"
|
||||
msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ goto (ÍÁËÓÉÍÁÌØÎÏ %d)"
|
||||
|
||||
#: src/main.c:117
|
||||
#: src/main.c:124
|
||||
#, fuzzy
|
||||
msgid "rule never reduced because of conflicts"
|
||||
msgstr " 1 ËÏÎÆÌÉËÔ ×Ù×ÏÄÁ/×Ù×ÏÄÁ"
|
||||
|
||||
#: parse-gram.y:347
|
||||
#: src/parse-gram.y:334
|
||||
msgid "POSIX forbids declarations in the grammar"
|
||||
msgstr ""
|
||||
|
||||
#: src/print.c:46
|
||||
#: src/parse-gram.y:457
|
||||
msgid "missing identifier in parameter declaration"
|
||||
msgstr ""
|
||||
|
||||
#: src/print.c:48
|
||||
#, c-format
|
||||
msgid " type %d is %s\n"
|
||||
msgstr " ÔÉÐ %d Ñ×ÌÑÅÔÓÑ %s\n"
|
||||
|
||||
#: src/print.c:162
|
||||
#: src/print.c:164
|
||||
#, fuzzy, c-format
|
||||
msgid "shift, and go to state %d\n"
|
||||
msgstr " %-4s\tÓÄ×ÉÇ, É ÐÅÒÅÈÏÄ × ÓÏÓÔÏÑÎÉÅ %d\n"
|
||||
|
||||
#: src/print.c:164
|
||||
#: src/print.c:166
|
||||
#, fuzzy, c-format
|
||||
msgid "go to state %d\n"
|
||||
msgstr " %-4s\tÐÅÒÅÈÏÄ × ÓÏÓÔÏÑÎÉÅ %d\n"
|
||||
|
||||
#: src/print.c:201
|
||||
#: src/print.c:203
|
||||
#, fuzzy
|
||||
msgid "error (nonassociative)\n"
|
||||
msgstr "%-4s\tÏÛÉÂËÁ (ÎÅÁÓÓÏÃÉÁÔÉ×ÎÁÑ)"
|
||||
|
||||
#: src/print.c:290
|
||||
#: src/print.c:291
|
||||
#, fuzzy, c-format
|
||||
msgid "reduce using rule %d (%s)"
|
||||
msgstr "$default\t×Ù×ÏÄ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ÐÒÁ×ÉÌÁ %d (%s)"
|
||||
@@ -291,116 +286,97 @@ msgstr ""
|
||||
msgid "state %d"
|
||||
msgstr "ÓÏÓÔÏÑÎÉÅ %d"
|
||||
|
||||
#: src/print.c:456
|
||||
#: src/print.c:455
|
||||
msgid "Terminals, with rules where they appear"
|
||||
msgstr "ôÅÒÍÉÎÁÌØÎÙÅ ÓÉÍ×ÏÌÙ Ó ÐÒÁ×ÉÌÁÍÉ, × ËÏÔÏÒÙÈ ÏÎÉ ÐÏÑ×ÌÑÀÔÓÑ"
|
||||
|
||||
#: src/print.c:483
|
||||
#: src/print.c:482
|
||||
msgid "Nonterminals, with rules where they appear"
|
||||
msgstr "îÅÔÅÒÍÉÎÁÌØÎÙÅ ÓÉÍ×ÏÌÙ Ó ÐÒÁ×ÉÌÁÍÉ, × ËÏÔÏÒÙÈ ÏÎÉ ÐÏÑ×ÌÑÀÔÓÑ"
|
||||
|
||||
#: src/print.c:512
|
||||
#: src/print.c:511
|
||||
msgid " on left:"
|
||||
msgstr " ÎÁÌÅ×Ï:"
|
||||
|
||||
#: src/print.c:527
|
||||
#: src/print.c:526
|
||||
msgid " on right:"
|
||||
msgstr " ÎÁÐÒÁ×Ï:"
|
||||
|
||||
#: src/print.c:555
|
||||
#: src/print.c:554
|
||||
#, fuzzy
|
||||
msgid "Rules never reduced"
|
||||
msgstr "%d ÐÒÁ×ÉÌÏ ÎÅ Ó×ÅÄÅÎÏ\n"
|
||||
|
||||
#: src/reader.c:52
|
||||
#: src/reader.c:53
|
||||
#, c-format
|
||||
msgid "multiple %s declarations"
|
||||
msgstr "ÍÎÏÖÅÓÔ×ÅÎÎÏÅ ÏÐÉÓÁÎÉÅ %s"
|
||||
|
||||
#: src/reader.c:141
|
||||
#: src/reader.c:138
|
||||
#, c-format
|
||||
msgid "result type clash on merge function %s: `%s' vs. `%s'"
|
||||
msgid "result type clash on merge function %s: <%s> != <%s>"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:239
|
||||
#: src/reader.c:236
|
||||
#, c-format
|
||||
msgid "rule given for %s, which is a token"
|
||||
msgstr "ÐÒÁ×ÉÌÏ ÚÁÄÁÎÏ ÄÌÑ %s, ËÏÔÏÒÙÊ Ñ×ÌÑÅÔÓÑ ÌÅËÓÅÍÏÊ"
|
||||
|
||||
#: src/reader.c:268
|
||||
#, c-format
|
||||
msgid "type clash (`%s' `%s') on default action"
|
||||
#: src/reader.c:265
|
||||
#, fuzzy, c-format
|
||||
msgid "type clash on default action: <%s> != <%s>"
|
||||
msgstr "ËÏÎÆÌÉËÔ ÔÉÐÏ× (`%s' `%s') ÎÁ ÄÅÊÓÔ×ÉÉ ÐÏ ÕÍÏÌÞÁÎÉÀ"
|
||||
|
||||
#: src/reader.c:274
|
||||
#: src/reader.c:271
|
||||
msgid "empty rule for typed nonterminal, and no action"
|
||||
msgstr ""
|
||||
"ÐÕÓÔÏÅ ÐÒÁ×ÉÌÏ ÄÌÑ ÔÉÐÉÚÉÒÏ×ÁÎÎÏÇÏ ÎÅÔÅÒÍÉÎÁÌØÎÏÇÏ ÓÉÍ×ÏÌÁ, É ÎÅÔ ÄÅÊÓÔ×ÉÑ"
|
||||
|
||||
#: src/reader.c:344
|
||||
msgid "two @prec's in a row"
|
||||
msgstr "Ä×Á @prec ÐÏÄÒÑÄ"
|
||||
|
||||
#: src/reader.c:354
|
||||
#: src/reader.c:341 src/reader.c:355 src/reader.c:368
|
||||
#, c-format
|
||||
msgid "%%dprec affects only GLR parsers"
|
||||
msgid "only one %s allowed per rule"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:356
|
||||
#: src/reader.c:351 src/reader.c:366
|
||||
#, c-format
|
||||
msgid "%%dprec must be followed by positive number"
|
||||
msgid "%s affects only GLR parsers"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:358
|
||||
#: src/reader.c:353
|
||||
#, c-format
|
||||
msgid "only one %%dprec allowed per rule"
|
||||
msgid "%s must be followed by positive number"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:369
|
||||
#, c-format
|
||||
msgid "%%merge affects only GLR parsers"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:371
|
||||
#, c-format
|
||||
msgid "only one %%merge allowed per rule"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:514
|
||||
#: src/reader.c:510
|
||||
msgid "no rules in the input grammar"
|
||||
msgstr "ÏÔÓÕÔÓÔ×ÕÀÔ ÐÒÁ×ÉÌÁ ×Ï ×ÈÏÄÎÏÊ ÇÒÁÍÍÁÔÉËÅ"
|
||||
|
||||
#: src/reader.c:546
|
||||
#, c-format
|
||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||
msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÓÉÍ×ÏÌÏ× (ÌÅËÓÅÍÙ ÐÌÀÓ ÎÅÔÅÒÍÉÎÁÌÙ); ÍÁËÓÉÍÁÌØÎÏ %d"
|
||||
|
||||
#: src/reduce.c:239
|
||||
#: src/reduce.c:241
|
||||
#, fuzzy
|
||||
msgid "useless rule"
|
||||
msgstr "%d ÂÅÓÐÏÌÅÚÎÏÅ ÐÒÁ×ÉÌÏ"
|
||||
|
||||
#: src/reduce.c:302
|
||||
#, fuzzy
|
||||
msgid "useless nonterminal"
|
||||
msgstr "%d ÂÅÓÐÏÌÅÚÎÙÊ ÎÅÔÅÒÍÉÎÁÌ"
|
||||
#, fuzzy, c-format
|
||||
msgid "useless nonterminal: %s"
|
||||
msgstr "âÅÓÐÏÌÅÚÎÙÅ ÎÅÔÅÒÍÉÎÁÌÙ:"
|
||||
|
||||
#: src/reduce.c:349
|
||||
#: src/reduce.c:350
|
||||
#, fuzzy
|
||||
msgid "Useless nonterminals"
|
||||
msgstr "âÅÓÐÏÌÅÚÎÙÅ ÎÅÔÅÒÍÉÎÁÌÙ:"
|
||||
|
||||
#: src/reduce.c:362
|
||||
#: src/reduce.c:363
|
||||
#, fuzzy
|
||||
msgid "Terminals which are not used"
|
||||
msgstr "îÅÉÓÐÏÌØÚÏ×ÁÎÎÙÅ ÔÅÒÍÉÎÁÌÙ:"
|
||||
|
||||
#: src/reduce.c:371
|
||||
#: src/reduce.c:372
|
||||
#, fuzzy
|
||||
msgid "Useless rules"
|
||||
msgstr "âÅÓÐÏÌÅÚÎÙÅ ÐÒÁ×ÉÌÁ:"
|
||||
|
||||
#: src/reduce.c:387
|
||||
#: src/reduce.c:388
|
||||
#, c-format
|
||||
msgid "%d rule never reduced\n"
|
||||
msgid_plural "%d rules never reduced\n"
|
||||
@@ -408,7 +384,7 @@ msgstr[0] "%d
|
||||
msgstr[1] "%d ÐÒÁ×ÉÌÁ ÎÅ Ó×ÅÄÅÎÏ\n"
|
||||
msgstr[2] "%d ÐÒÁ×ÉÌ ÎÅ Ó×ÅÄÅÎÏ\n"
|
||||
|
||||
#: src/reduce.c:395
|
||||
#: src/reduce.c:396
|
||||
#, c-format
|
||||
msgid "%d useless nonterminal"
|
||||
msgid_plural "%d useless nonterminals"
|
||||
@@ -416,11 +392,11 @@ msgstr[0] "%d
|
||||
msgstr[1] "%d ÂÅÓÐÏÌÅÚÎÙÈ ÎÅÔÅÒÍÉÎÁÌÁ"
|
||||
msgstr[2] "%d ÂÅÓÐÏÌÅÚÎÙÈ ÎÅÔÅÒÍÉÎÁÌÏ×"
|
||||
|
||||
#: src/reduce.c:401
|
||||
#: src/reduce.c:402
|
||||
msgid " and "
|
||||
msgstr " É "
|
||||
|
||||
#: src/reduce.c:404
|
||||
#: src/reduce.c:405
|
||||
#, c-format
|
||||
msgid "%d useless rule"
|
||||
msgid_plural "%d useless rules"
|
||||
@@ -433,81 +409,70 @@ msgstr[2] "%d
|
||||
msgid "start symbol %s does not derive any sentence"
|
||||
msgstr "îÁÞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s ÎÅ ×Ù×ÏÄÉÔ ÎÉ ÏÄÎÏÇÏ ÐÒÅÄÌÏÖÅÎÉÑ"
|
||||
|
||||
#: scan-gram.l:211
|
||||
#, c-format
|
||||
msgid ": invalid character: `%c'\n"
|
||||
#: src/scan-gram.l:157
|
||||
msgid "stray `,' treated as white space"
|
||||
msgstr ""
|
||||
|
||||
#: scan-gram.l:255
|
||||
#, fuzzy
|
||||
msgid ": unexpected end of file in a comment\n"
|
||||
msgstr "ÎÅÏÖÉÄÁÎÎÙÊ ËÏÎÅÃ ÆÁÊÌÁ"
|
||||
|
||||
#: scan-gram.l:284 scan-gram.l:423
|
||||
#, fuzzy
|
||||
msgid ": unexpected end of file in a string\n"
|
||||
msgstr "ÎÅÏÖÉÄÁÎÎÙÊ ËÏÎÅÃ ÆÁÊÌÁ"
|
||||
|
||||
#: scan-gram.l:322 scan-gram.l:394
|
||||
#, fuzzy
|
||||
msgid ": unexpected end of file in a character\n"
|
||||
msgstr "ÎÅÏÖÉÄÁÎÎÙÊ ËÏÎÅÃ ÆÁÊÌÁ"
|
||||
|
||||
#: scan-gram.l:343
|
||||
#: src/scan-gram.l:216
|
||||
#, fuzzy, c-format
|
||||
msgid ": invalid escape: %s\n"
|
||||
msgid "invalid directive: %s"
|
||||
msgstr "ÎÅ×ÅÒÎÙÅ ×ÈÏÄÎÙÅ ÄÁÎÎÙÅ: %s"
|
||||
|
||||
#: src/scan-gram.l:236 src/scan-gram.l:785 src/scan-gram.l:853
|
||||
#, c-format
|
||||
msgid "integer out of range: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/scan-gram.l:281
|
||||
#, fuzzy, c-format
|
||||
msgid "invalid character: %s"
|
||||
msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ ÓÉÍ×ÏÌ: %s"
|
||||
|
||||
#: src/scan-gram.l:405 src/scan-gram.l:415 src/scan-gram.l:434
|
||||
#, fuzzy, c-format
|
||||
msgid "invalid escape sequence: %s"
|
||||
msgstr "ÎÅ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ: %s%d"
|
||||
|
||||
#: scan-gram.l:364
|
||||
#: src/scan-gram.l:439
|
||||
#, fuzzy, c-format
|
||||
msgid ": unrecognized escape: %s\n"
|
||||
msgid "unrecognized escape sequence: %s"
|
||||
msgstr "ÎÅÒÁÓÐÏÚÎÁÎÏ: %s"
|
||||
|
||||
#: scan-gram.l:485
|
||||
#, fuzzy
|
||||
msgid ": unexpected end of file in a braced code\n"
|
||||
msgstr "ÎÅÏÖÉÄÁÎÎÙÊ ËÏÎÅÃ ÆÁÊÌÁ"
|
||||
#: src/scan-gram.l:524
|
||||
#, c-format
|
||||
msgid "missing `{' in `%s'"
|
||||
msgstr ""
|
||||
|
||||
#: scan-gram.l:514
|
||||
#, fuzzy
|
||||
msgid ": unexpected end of file in a prologue\n"
|
||||
msgstr "ÎÅÏÖÉÄÁÎÎÙÊ ËÏÎÅÃ ÆÁÊÌÁ"
|
||||
|
||||
#: scan-gram.l:572
|
||||
#: src/scan-gram.l:757
|
||||
#, c-format
|
||||
msgid "$$ of `%s' has no declared type"
|
||||
msgstr "$$ × `%s' ÎÅ ÉÍÅÅÔ ÏÐÉÓÁÎÎÏÇÏ ÔÉÐÁ"
|
||||
|
||||
#: scan-gram.l:584 scan-gram.l:666
|
||||
#, c-format
|
||||
msgid "invalid value: %s%d"
|
||||
msgstr "ÎÅ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ: %s%d"
|
||||
|
||||
#: scan-gram.l:591
|
||||
#: src/scan-gram.l:776
|
||||
#, c-format
|
||||
msgid "$%d of `%s' has no declared type"
|
||||
msgstr "$%d ÉÚ `%s' ÎÅ ÉÍÅÅÔ ÏÐÉÓÁÎÎÏÇÏ ÔÉÐÁ"
|
||||
|
||||
#: scan-gram.l:602 scan-gram.l:619 scan-gram.l:673 scan-gram.l:690
|
||||
#, c-format
|
||||
msgid "%s is invalid"
|
||||
msgstr "ÎÅ×ÅÒÎÙÊ ÚÎÁË %s"
|
||||
#: src/scan-gram.l:820 src/scan-gram.l:887
|
||||
#, fuzzy, c-format
|
||||
msgid "invalid value: %s"
|
||||
msgstr "ÎÅ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ: %s%d"
|
||||
|
||||
#: src/state.c:145
|
||||
#, c-format
|
||||
msgid "too many states (max %d)"
|
||||
msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÓÏÓÔÏÑÎÉÊ (ÍÁËÓÉÍÁÌØÎÏ %d)"
|
||||
#: src/scan-gram.l:978
|
||||
#, fuzzy, c-format
|
||||
msgid "missing `%s' at end of file"
|
||||
msgstr "ÎÅÚÁËÏÎÞÅÎÎÁÑ ÓÔÒÏËÁ × ËÏÎÃÅ ÆÁÊÌÁ"
|
||||
|
||||
#: src/symlist.c:97 src/symlist.c:109
|
||||
#: src/symlist.c:97 src/symlist.c:108
|
||||
msgid "invalid $ value"
|
||||
msgstr "ÎÅ×ÅÒÎÏÅ $ ÚÎÁÞÅÎÉÅ"
|
||||
|
||||
#: src/symtab.c:81
|
||||
#: src/symtab.c:84
|
||||
#, c-format
|
||||
msgid "type redeclaration for %s"
|
||||
msgstr "ÐÏ×ÔÏÒÎÏÅ ÏÐÉÓÁÎÉÅ ÔÉÐÁ ÄÌÑ %s"
|
||||
|
||||
#: src/symtab.c:98 src/symtab.c:117
|
||||
#: src/symtab.c:101 src/symtab.c:119
|
||||
#, fuzzy, c-format
|
||||
msgid "%s redeclaration for %s"
|
||||
msgstr "ÐÏ×ÔÏÒÎÏÅ ÏÐÉÓÁÎÉÅ ÔÉÐÁ ÄÌÑ %s"
|
||||
@@ -517,201 +482,221 @@ msgstr "
|
||||
msgid "redefining precedence of %s"
|
||||
msgstr "ÐÅÒÅÏÐÒÅÄÅÌÅÎÉÅ ÐÒÉÏÒÉÔÅÔÁ ÄÌÑ %s"
|
||||
|
||||
#: src/symtab.c:157
|
||||
#: src/symtab.c:156
|
||||
#, c-format
|
||||
msgid "symbol %s redefined"
|
||||
msgstr "ÐÏ×ÔÏÒÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ ÓÉÍ×ÏÌÁ %s"
|
||||
|
||||
#: src/symtab.c:180
|
||||
#: src/symtab.c:179
|
||||
#, fuzzy, c-format
|
||||
msgid "redefining user token number of %s"
|
||||
msgstr "ÐÅÒÅÏÐÒÅÄÅÌÅÎÉÅ ÐÒÉÏÒÉÔÅÔÁ ÄÌÑ %s"
|
||||
|
||||
#: src/symtab.c:225
|
||||
#: src/symtab.c:206
|
||||
#, c-format
|
||||
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
||||
msgstr "ÓÉÍ×ÏÌ %s ÉÓÐÏÌØÚÕÅÔÓÑ, ÎÏ ÎÅ ÏÐÒÅÄÅÌÅÎ ËÁË ÌÅËÓÅÍÁ É ÎÅ ÉÍÅÅÔ ÐÒÁ×ÉÌ"
|
||||
|
||||
#: src/symtab.c:244
|
||||
#: src/symtab.c:231
|
||||
#, c-format
|
||||
msgid "symbol `%s' used more than once as a literal string"
|
||||
msgstr ""
|
||||
|
||||
#: src/symtab.c:247
|
||||
#: src/symtab.c:234
|
||||
#, c-format
|
||||
msgid "symbol `%s' given more than one literal string"
|
||||
msgstr ""
|
||||
|
||||
#: src/symtab.c:281
|
||||
#: src/symtab.c:270
|
||||
#, c-format
|
||||
msgid "conflicting precedences for %s and %s"
|
||||
msgstr "ÐÒÏÔÉ×ÏÒÅÞÉ×ÙÅ ÐÒÉÏÒÉÔÅÔÙ ÄÌÑ %s É %s"
|
||||
|
||||
#: src/symtab.c:293
|
||||
#: src/symtab.c:282
|
||||
#, fuzzy, c-format
|
||||
msgid "conflicting associativities for %s (%s) and %s (%s)"
|
||||
msgstr "ÐÒÏÔÉ×ÏÒÅÞÉ×ÙÅ ÚÎÁÞÅÎÉÑ ÁÓÓÏÃÉÁÔÉ×ÎÏÓÔÉ ÄÌÑ %s É %s"
|
||||
|
||||
#: src/symtab.c:363
|
||||
#: src/symtab.c:367
|
||||
#, c-format
|
||||
msgid "tokens %s and %s both assigned number %d"
|
||||
msgstr "ÏÂÅÉÍ ÌÅËÓÅÍÁÍ %s É %s ÐÒÉÓ×ÏÅÎ ÎÏÍÅÒ %d"
|
||||
|
||||
#: src/symtab.c:568
|
||||
#: src/symtab.c:590
|
||||
#, c-format
|
||||
msgid "the start symbol %s is undefined"
|
||||
msgstr "ÎÁÞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s ÎÅÏÐÒÅÄÅÌÅÎ"
|
||||
|
||||
#: src/symtab.c:572
|
||||
#: src/symtab.c:594
|
||||
#, c-format
|
||||
msgid "the start symbol %s is a token"
|
||||
msgstr "ÎÁÞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s Ñ×ÌÑÅÔÓÑ ÌÅËÓÅÍÏÊ"
|
||||
|
||||
#: lib/argmatch.c:161
|
||||
#: lib/argmatch.c:129
|
||||
#, fuzzy, c-format
|
||||
msgid "invalid argument %s for %s"
|
||||
msgstr "ÎÅ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ: %s%d"
|
||||
|
||||
#: lib/argmatch.c:162
|
||||
#: lib/argmatch.c:130
|
||||
#, c-format
|
||||
msgid "ambiguous argument %s for %s"
|
||||
msgstr ""
|
||||
|
||||
#: lib/argmatch.c:181
|
||||
#: lib/argmatch.c:149
|
||||
msgid "Valid arguments are:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:235
|
||||
#: lib/bitset_stats.c:178
|
||||
#, c-format
|
||||
msgid "%u bitset_allocs, %u freed (%.2f%%).\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:238
|
||||
#: lib/bitset_stats.c:181
|
||||
#, c-format
|
||||
msgid "%u bitset_sets, %u cached (%.2f%%)\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:241
|
||||
#: lib/bitset_stats.c:184
|
||||
#, c-format
|
||||
msgid "%u bitset_resets, %u cached (%.2f%%)\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:244
|
||||
#: lib/bitset_stats.c:187
|
||||
#, c-format
|
||||
msgid "%u bitset_tests, %u cached (%.2f%%)\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:248
|
||||
#: lib/bitset_stats.c:191
|
||||
#, c-format
|
||||
msgid "%u bitset_lists\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:250
|
||||
#: lib/bitset_stats.c:193
|
||||
msgid "count log histogram\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:253
|
||||
#: lib/bitset_stats.c:196
|
||||
msgid "size log histogram\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:256
|
||||
#: lib/bitset_stats.c:199
|
||||
msgid "density histogram\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:272
|
||||
#: lib/bitset_stats.c:213
|
||||
msgid ""
|
||||
"Bitset statistics:\n"
|
||||
"\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:275
|
||||
#: lib/bitset_stats.c:216
|
||||
#, c-format
|
||||
msgid "Accumulated runs = %u\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:320
|
||||
#: lib/bitset_stats.c:260 lib/bitset_stats.c:265
|
||||
msgid "Could not read stats file."
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:322
|
||||
#: lib/bitset_stats.c:262
|
||||
msgid "Bad stats file size.\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:348
|
||||
#: lib/bitset_stats.c:288 lib/bitset_stats.c:290
|
||||
msgid "Could not write stats file."
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:352
|
||||
#: lib/bitset_stats.c:293
|
||||
msgid "Could not open stats file for writing."
|
||||
msgstr ""
|
||||
|
||||
#: lib/getopt.c:662
|
||||
#: lib/getopt.c:688 lib/getopt.c:700
|
||||
#, c-format
|
||||
msgid "%s: option `%s' is ambiguous\n"
|
||||
msgstr "%s: ÎÅÏÄÎÏÚÎÁÞÎÙÊ ËÌÀÞ `%s'\n"
|
||||
|
||||
#: lib/getopt.c:687
|
||||
#: lib/getopt.c:733 lib/getopt.c:737
|
||||
#, c-format
|
||||
msgid "%s: option `--%s' doesn't allow an argument\n"
|
||||
msgstr "%s: ËÌÀÞ `--%s' ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÂÅÚ ÁÒÇÕÍÅÎÔÁ\n"
|
||||
|
||||
#: lib/getopt.c:692
|
||||
#: lib/getopt.c:746 lib/getopt.c:751
|
||||
#, c-format
|
||||
msgid "%s: option `%c%s' doesn't allow an argument\n"
|
||||
msgstr "%s: ËÌÀÞ `%c%s' ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÂÅÚ ÁÒÇÕÍÅÎÔÁ\n"
|
||||
|
||||
#: lib/getopt.c:710 lib/getopt.c:883
|
||||
#: lib/getopt.c:787 lib/getopt.c:800 lib/getopt.c:1089 lib/getopt.c:1102
|
||||
#, c-format
|
||||
msgid "%s: option `%s' requires an argument\n"
|
||||
msgstr "%s: ËÌÀÞ `%s' ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ Ó ÁÒÇÕÍÅÎÔÏÍ\n"
|
||||
|
||||
#: lib/getopt.c:739
|
||||
#: lib/getopt.c:838 lib/getopt.c:841
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `--%s'\n"
|
||||
msgstr "%s: ÎÅÉÚ×ÅÓÔÎÙÊ ËÌÀÞ `--%s'\n"
|
||||
|
||||
#: lib/getopt.c:743
|
||||
#: lib/getopt.c:849 lib/getopt.c:852
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `%c%s'\n"
|
||||
msgstr "%s: ÎÅÉÚ×ÅÓÔÎÙÊ ËÌÀÞ `%c%s'\n"
|
||||
|
||||
#: lib/getopt.c:769
|
||||
#: lib/getopt.c:899 lib/getopt.c:902
|
||||
#, c-format
|
||||
msgid "%s: illegal option -- %c\n"
|
||||
msgstr "%s: ÎÅÄÏÐÕÓÔÉÍÙÊ ËÌÀÞ -- %c\n"
|
||||
|
||||
#: lib/getopt.c:772
|
||||
#: lib/getopt.c:908 lib/getopt.c:911
|
||||
#, c-format
|
||||
msgid "%s: invalid option -- %c\n"
|
||||
msgstr "%s: ÎÅ×ÅÒÎÙÊ ËÌÀÞ -- %c\n"
|
||||
|
||||
#: lib/getopt.c:802 lib/getopt.c:932
|
||||
#: lib/getopt.c:958 lib/getopt.c:969 lib/getopt.c:1155 lib/getopt.c:1168
|
||||
#, c-format
|
||||
msgid "%s: option requires an argument -- %c\n"
|
||||
msgstr "%s: ËÌÀÞ ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ Ó ÁÒÇÕÍÅÎÔÏÍ -- %c\n"
|
||||
|
||||
#: lib/getopt.c:849
|
||||
#: lib/getopt.c:1021 lib/getopt.c:1032
|
||||
#, c-format
|
||||
msgid "%s: option `-W %s' is ambiguous\n"
|
||||
msgstr "%s: ÎÅÏÄÎÏÚÎÁÞÎÙÊ ËÌÀÞ `-W %s'\n"
|
||||
|
||||
#: lib/getopt.c:867
|
||||
#: lib/getopt.c:1056 lib/getopt.c:1068
|
||||
#, c-format
|
||||
msgid "%s: option `-W %s' doesn't allow an argument\n"
|
||||
msgstr "%s: ËÌÀÞ `-W %s' ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÂÅÚ ÁÒÇÕÍÅÎÔÁ\n"
|
||||
|
||||
#: lib/obstack.c:496 lib/obstack.c:499 lib/xmalloc.c:66
|
||||
#: lib/obstack.c:487 lib/obstack.c:490 lib/xmalloc.c:63
|
||||
msgid "memory exhausted"
|
||||
msgstr "ÐÁÍÑÔØ ÉÓÞÅÒÐÁÎÁ"
|
||||
|
||||
#: lib/quotearg.c:274
|
||||
#: lib/quotearg.c:236
|
||||
msgid "`"
|
||||
msgstr "`"
|
||||
|
||||
#: lib/quotearg.c:275
|
||||
#: lib/quotearg.c:237
|
||||
msgid "'"
|
||||
msgstr "'"
|
||||
|
||||
#: lib/subpipe.c:187
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' could not be invoked"
|
||||
msgstr ""
|
||||
|
||||
#: lib/subpipe.c:189
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' not found"
|
||||
msgstr ""
|
||||
|
||||
#: lib/subpipe.c:191
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' failed"
|
||||
msgstr ""
|
||||
|
||||
#: lib/subpipe.c:192
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' failed (exit status %d)"
|
||||
msgstr ""
|
||||
|
||||
#: lib/timevar.c:476
|
||||
msgid ""
|
||||
"\n"
|
||||
@@ -727,14 +712,29 @@ msgstr ""
|
||||
msgid "time in %s: %ld.%06ld (%ld%%)\n"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "too many states (max %d)"
|
||||
#~ msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÓÏÓÔÏÑÎÉÊ (ÍÁËÓÉÍÁÌØÎÏ %d)"
|
||||
|
||||
#~ msgid "reduce"
|
||||
#~ msgstr "×Ù×ÏÄ"
|
||||
|
||||
#~ msgid "shift"
|
||||
#~ msgstr "ÓÄ×ÉÇ"
|
||||
|
||||
#~ msgid "an error"
|
||||
#~ msgstr "ÏÛÉÂËÁ"
|
||||
#~ msgid "%d shift/reduce conflict"
|
||||
#~ msgid_plural "%d shift/reduce conflicts"
|
||||
#~ msgstr[0] "%d ËÏÎÆÌÉËÔ ÓÄ×ÉÇÁ/×Ù×ÏÄÁ"
|
||||
#~ msgstr[1] "%d ËÏÎÆÌÉËÔÁ ÓÄ×ÉÇÁ/×Ù×ÏÄÁ"
|
||||
#~ msgstr[2] "%d ËÏÎÆÌÉËÔÏ× ÓÄ×ÉÇÁ/×Ù×ÏÄÁ"
|
||||
|
||||
#~ msgid "and"
|
||||
#~ msgstr "É"
|
||||
|
||||
#~ msgid "State %d contains "
|
||||
#~ msgstr "óÏÓÔÏÑÎÉÅ %d ÓÏÄÅÒÖÉÔ "
|
||||
|
||||
#~ msgid "conflicts: "
|
||||
#~ msgstr "ËÏÎÆÌÉËÔÙ: "
|
||||
|
||||
#~ msgid "%s contains "
|
||||
#~ msgstr "%s ÓÏÄÅÒÖÉÔ "
|
||||
@@ -742,12 +742,24 @@ msgstr ""
|
||||
#~ msgid "`%s' is no longer supported"
|
||||
#~ msgstr "`%s' ÂÏÌØÛÅ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ"
|
||||
|
||||
#~ msgid "%s: no grammar file given\n"
|
||||
#~ msgstr "%s: ÎÅ ÚÁÄÁÎ ÆÁÊÌ Ó ÇÒÁÍÍÁÔÉËÏÊ\n"
|
||||
|
||||
#~ msgid "%s: extra arguments ignored after `%s'\n"
|
||||
#~ msgstr "%s: ÌÉÛÎÉÅ ÁÒÇÕÍÅÎÔÙ ÐÏÓÌÅ `%s' ÉÇÎÏÒÉÒÏ×ÁÎÙ\n"
|
||||
|
||||
#~ msgid "too many gotos (max %d)"
|
||||
#~ msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ goto (ÍÁËÓÉÍÁÌØÎÏ %d)"
|
||||
|
||||
#~ msgid "unexpected `/' found and ignored"
|
||||
#~ msgstr "×ÓÔÒÅÞÅÎ É ÐÒÏÉÇÎÏÒÉÒÏ×ÁÎ ÎÅÏÖÉÄÁÎÎÙÊ ÓÉÍ×ÏÌ `/'"
|
||||
|
||||
#~ msgid "unterminated comment"
|
||||
#~ msgstr "ÎÅÚÁËÏÎÞÅÎÎÙÊ ËÏÍÍÅÎÔÁÒÉÊ"
|
||||
|
||||
#~ msgid "unexpected end of file"
|
||||
#~ msgstr "ÎÅÏÖÉÄÁÎÎÙÊ ËÏÎÅÃ ÆÁÊÌÁ"
|
||||
|
||||
#~ msgid "unescaped newline in constant"
|
||||
#~ msgstr "ÎÅÜËÒÁÎÉÒÏ×ÁÎÎÙÊ ÐÅÒÅ×ÏÄ ÓÔÒÏËÉ × ËÏÎÓÔÁÎÔÅ"
|
||||
|
||||
@@ -815,12 +827,12 @@ msgstr ""
|
||||
#~ msgid " Skipping to next %c"
|
||||
#~ msgstr " ðÒÏÐÕÓË ÄÏ ÓÌÅÄÕÀÝÅÇÏ %c"
|
||||
|
||||
#~ msgid "unterminated string at end of file"
|
||||
#~ msgstr "ÎÅÚÁËÏÎÞÅÎÎÁÑ ÓÔÒÏËÁ × ËÏÎÃÅ ÆÁÊÌÁ"
|
||||
|
||||
#~ msgid "unterminated string"
|
||||
#~ msgstr "ÎÅÚÁËÏÎÞÅÎÎÁÑ ÓÔÒÏËÁ"
|
||||
|
||||
#~ msgid "%s is invalid"
|
||||
#~ msgstr "ÎÅ×ÅÒÎÙÊ ÚÎÁË %s"
|
||||
|
||||
#~ msgid "unterminated `%{' definition"
|
||||
#~ msgstr "ÎÅÚÁËÏÎÞÅÎÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ `%{'"
|
||||
|
||||
@@ -860,9 +872,6 @@ msgstr ""
|
||||
#~ msgid "no input grammar"
|
||||
#~ msgstr "ÎÅÔ ×ÈÏÄÎÏÊ ÇÒÁÍÍÁÔÉËÉ"
|
||||
|
||||
#~ msgid "unknown character: %s"
|
||||
#~ msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ ÓÉÍ×ÏÌ: %s"
|
||||
|
||||
#~ msgid "ill-formed rule: initial symbol not followed by colon"
|
||||
#~ msgstr "ÎÅ×ÅÒÎÏÅ ÐÒÁ×ÉÌÏ: Ä×ÏÅÔÏÞÉÅ ÎÅ ÓÌÅÄÕÅÔ ÚÁ ÎÁÞÁÌØÎÙÍ ÓÉÍ×ÏÌÏÍ"
|
||||
|
||||
@@ -872,14 +881,17 @@ msgstr ""
|
||||
#~ msgid "previous rule lacks an ending `;'"
|
||||
#~ msgstr "× ÐÒÅÄÙÄÕÝÅÍ ÐÒÁ×ÉÌÅ ÏÔÓÕÔÓÔ×ÕÅÔ ÚÁ×ÅÒÛÁÀÝÁÑ `;'"
|
||||
|
||||
#~ msgid "two @prec's in a row"
|
||||
#~ msgstr "Ä×Á @prec ÐÏÄÒÑÄ"
|
||||
|
||||
#~ msgid "%%guard present but %%semantic_parser not specified"
|
||||
#~ msgstr "%%guard ÐÒÉÓÕÔÓÔ×ÕÅÔ, Á %%semantic_parser ÎÅ ÚÁÄÁÎ"
|
||||
|
||||
#~ msgid "two actions at end of one rule"
|
||||
#~ msgstr "Ä×Á ÄÅÊÓÔ×ÉÑ × ËÏÎÃÅ ÏÄÎÏÇÏ ÐÒÁ×ÉÌÁ"
|
||||
|
||||
#~ msgid "invalid input: %s"
|
||||
#~ msgstr "ÎÅ×ÅÒÎÙÅ ×ÈÏÄÎÙÅ ÄÁÎÎÙÅ: %s"
|
||||
#~ msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||
#~ msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÓÉÍ×ÏÌÏ× (ÌÅËÓÅÍÙ ÐÌÀÓ ÎÅÔÅÒÍÉÎÁÌÙ); ÍÁËÓÉÍÁÌØÎÏ %d"
|
||||
|
||||
#~ msgid "maximum table size (%d) exceeded"
|
||||
#~ msgstr "ÐÒÅ×ÙÛÅÎ ÍÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÔÁÂÌÉÃÙ (%d)"
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: bison 1.50\n"
|
||||
"POT-Creation-Date: 2002-10-14 14:47+0200\n"
|
||||
"PO-Revision-Date: 2002-10-08 19:02+0200\n"
|
||||
"Project-Id-Version: bison 1.75e\n"
|
||||
"POT-Creation-Date: 2003-01-01 01:28-0800\n"
|
||||
"PO-Revision-Date: 2002-12-28 20:27+0100\n"
|
||||
"Last-Translator: Göran Uddeborg <[email protected]>\n"
|
||||
"Language-Team: Swedish <[email protected]>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -15,96 +15,98 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: src/complain.c:89 lib/error.c:128 lib/error.c:156
|
||||
#: src/complain.c:56 lib/error.c:135 lib/error.c:163
|
||||
msgid "Unknown system error"
|
||||
msgstr "Okänt systemfel"
|
||||
|
||||
#: src/complain.c:123 src/complain.c:152
|
||||
#: src/complain.c:79 src/complain.c:94
|
||||
msgid "warning: "
|
||||
msgstr "varning: "
|
||||
|
||||
#: src/complain.c:252 src/complain.c:282
|
||||
#: src/complain.c:150 src/complain.c:166
|
||||
msgid "fatal error: "
|
||||
msgstr "ödesdigert fel: "
|
||||
|
||||
#: src/conflicts.c:72
|
||||
#: src/conflicts.c:75
|
||||
#, c-format
|
||||
msgid " Conflict between rule %d and token %s resolved as shift"
|
||||
msgstr " Konflikt mellan regel %d och element %s löstes som skift"
|
||||
|
||||
#: src/conflicts.c:80
|
||||
#: src/conflicts.c:83
|
||||
#, c-format
|
||||
msgid " Conflict between rule %d and token %s resolved as reduce"
|
||||
msgstr " Konflikt mellan regel %d och element %s löstes som reducera"
|
||||
|
||||
#: src/conflicts.c:87
|
||||
#: src/conflicts.c:90
|
||||
#, c-format
|
||||
msgid " Conflict between rule %d and token %s resolved as an error"
|
||||
msgstr " Konflikt mellan regel %d och element %s löstes som ett fel"
|
||||
|
||||
#: src/conflicts.c:402
|
||||
#: src/conflicts.c:398
|
||||
#, c-format
|
||||
msgid "%d shift/reduce conflict"
|
||||
msgid_plural "%d shift/reduce conflicts"
|
||||
msgstr[0] "%d skifta/reducerakonflikt"
|
||||
msgstr[1] "%d skifta/reducerakonflikter"
|
||||
msgid "conflicts: %d shift/reduce, %d reduce/reduce\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/conflicts.c:409
|
||||
msgid "and"
|
||||
msgstr "och"
|
||||
|
||||
#: src/conflicts.c:415
|
||||
#, c-format
|
||||
msgid "%d reduce/reduce conflict"
|
||||
msgid_plural "%d reduce/reduce conflicts"
|
||||
msgstr[0] "%d reducera/reducerakonflikt"
|
||||
msgstr[1] "%d reducera/reducerakonflikter"
|
||||
|
||||
#: src/conflicts.c:435
|
||||
msgid "conflicts: "
|
||||
msgstr "konflikter: "
|
||||
|
||||
#: src/conflicts.c:437
|
||||
#, c-format
|
||||
msgid " %d shift/reduce"
|
||||
#: src/conflicts.c:401
|
||||
#, fuzzy, c-format
|
||||
msgid "conflicts: %d shift/reduce\n"
|
||||
msgstr " %d skifta/reducera"
|
||||
|
||||
#: src/conflicts.c:441
|
||||
#, c-format
|
||||
msgid " %d reduce/reduce"
|
||||
#: src/conflicts.c:403
|
||||
#, fuzzy, c-format
|
||||
msgid "conflicts: %d reduce/reduce\n"
|
||||
msgstr " %d reducera/reducera"
|
||||
|
||||
#: src/conflicts.c:460
|
||||
#, c-format
|
||||
msgid "State %d contains "
|
||||
msgstr "Tillstånd %d innehåller "
|
||||
#: src/conflicts.c:421
|
||||
#, fuzzy, c-format
|
||||
msgid "State %d "
|
||||
msgstr "tillstånd %d"
|
||||
|
||||
#: src/conflicts.c:537
|
||||
#: src/conflicts.c:498
|
||||
#, c-format
|
||||
msgid "expected %d shift/reduce conflict"
|
||||
msgid_plural "expected %d shift/reduce conflicts"
|
||||
msgstr[0] "förväntade %d skifta/reducerakonflikt"
|
||||
msgstr[1] "förväntade %d skifta/reducerakonflikter"
|
||||
|
||||
#: src/files.c:114
|
||||
#: src/conflicts.c:503
|
||||
#, fuzzy
|
||||
msgid "expected 0 reduce/reduce conflicts"
|
||||
msgstr "%d reducera/reducerakonflikt"
|
||||
|
||||
#: src/files.c:99
|
||||
#, c-format
|
||||
msgid "cannot open file `%s'"
|
||||
msgstr "kan inte öppna filen \"%s\""
|
||||
|
||||
#: src/files.c:133
|
||||
#: src/files.c:115
|
||||
msgid "I/O error"
|
||||
msgstr "I/O-fel"
|
||||
|
||||
#: src/files.c:118
|
||||
msgid "cannot close file"
|
||||
msgstr "kan inte stänga fil"
|
||||
|
||||
#: src/getargs.c:157
|
||||
#: src/files.c:336
|
||||
#, c-format
|
||||
msgid "conflicting outputs to file %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:182
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information.\n"
|
||||
msgstr "Försök med \"%s --help\" för mer information.\n"
|
||||
|
||||
#: src/getargs.c:188
|
||||
msgid "GNU bison generates parsers for LALR(1) grammars.\n"
|
||||
msgstr "GNU bison genererar parsrar för LALR(1)-grammatiker.\n"
|
||||
|
||||
#: src/getargs.c:161
|
||||
#: src/getargs.c:192
|
||||
#, c-format
|
||||
msgid "Usage: %s [OPTION]... FILE\n"
|
||||
msgstr "Användning: %s [FLAGGA]... FIL\n"
|
||||
|
||||
#: src/getargs.c:165
|
||||
#: src/getargs.c:196
|
||||
msgid ""
|
||||
"If a long option shows an argument as mandatory, then it is mandatory\n"
|
||||
"for the equivalent short option also. Similarly for optional arguments.\n"
|
||||
@@ -113,7 +115,7 @@ msgstr ""
|
||||
"obligatoriskt för den motsvarande korta flaggan också. Motsvarande\n"
|
||||
"för valfria argument.\n"
|
||||
|
||||
#: src/getargs.c:171
|
||||
#: src/getargs.c:202
|
||||
msgid ""
|
||||
"Operation modes:\n"
|
||||
" -h, --help display this help and exit\n"
|
||||
@@ -125,7 +127,7 @@ msgstr ""
|
||||
" -V, --version visa versionsinformation och avsluta\n"
|
||||
" -y, --yacc emulera POSIX-yacc\n"
|
||||
|
||||
#: src/getargs.c:178
|
||||
#: src/getargs.c:209
|
||||
msgid ""
|
||||
"Parser:\n"
|
||||
" -S, --skeleton=FILE specify the skeleton to use\n"
|
||||
@@ -145,7 +147,7 @@ msgstr ""
|
||||
" -n, --no-parser generera endast tabellerna\n"
|
||||
" -k, --token-table inkludera en tabell över elementnamn\n"
|
||||
|
||||
#: src/getargs.c:190
|
||||
#: src/getargs.c:221
|
||||
msgid ""
|
||||
"Output:\n"
|
||||
" -d, --defines also produce a header file\n"
|
||||
@@ -164,7 +166,7 @@ msgstr ""
|
||||
" -o, --output=FIL lägg utdata i FIL\n"
|
||||
" -g, --graph skapa också en VCG-beskrivning av automaten\n"
|
||||
|
||||
#: src/getargs.c:201
|
||||
#: src/getargs.c:232
|
||||
msgid ""
|
||||
"THINGS is a list of comma separated words that can include:\n"
|
||||
" `state' describe the states\n"
|
||||
@@ -182,27 +184,27 @@ msgstr ""
|
||||
" \"all\" inkludera all ovanstående information\n"
|
||||
" \"none\" avaktivera rapporten\n"
|
||||
|
||||
#: src/getargs.c:212
|
||||
#: src/getargs.c:243
|
||||
msgid "Report bugs to <[email protected]>.\n"
|
||||
msgstr ""
|
||||
"Rapportera fel till <[email protected]>.\n"
|
||||
"Rapportera synpunkter på översättningen till <[email protected]>.\n"
|
||||
|
||||
#: src/getargs.c:226
|
||||
#: src/getargs.c:260
|
||||
#, c-format
|
||||
msgid "bison (GNU Bison) %s"
|
||||
msgstr "bison (GNU Bison) %s"
|
||||
|
||||
#: src/getargs.c:228
|
||||
#: src/getargs.c:262
|
||||
msgid "Written by Robert Corbett and Richard Stallman.\n"
|
||||
msgstr "Skriven av Robert Corbett och Richard Stallman.\n"
|
||||
|
||||
#: src/getargs.c:232
|
||||
#: src/getargs.c:266
|
||||
#, c-format
|
||||
msgid "Copyright (C) %d Free Software Foundation, Inc.\n"
|
||||
msgstr "Copyright © %d Free Software Foundation, Inc.\n"
|
||||
|
||||
#: src/getargs.c:234
|
||||
#: src/getargs.c:268
|
||||
msgid ""
|
||||
"This is free software; see the source for copying conditions. There is NO\n"
|
||||
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
|
||||
@@ -211,66 +213,60 @@ msgstr ""
|
||||
"finns INGEN garanti, inte ens för SÄLJBARHET eller LÄMPLIGHET FÖR ETT\n"
|
||||
"SPECIELLT ÄNDAMÅL.\n"
|
||||
|
||||
#: src/getargs.c:395
|
||||
#: src/getargs.c:424
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information.\n"
|
||||
msgstr "Försök med \"%s --help\" för mer information.\n"
|
||||
msgid "missing operand after `%s'"
|
||||
msgstr "saknad operand efter \"%s\""
|
||||
|
||||
#: src/getargs.c:402
|
||||
#: src/getargs.c:426
|
||||
#, c-format
|
||||
msgid "%s: no grammar file given\n"
|
||||
msgstr "%s: ingen grammatikfil angiven\n"
|
||||
msgid "extra operand `%s'"
|
||||
msgstr "extra operand \"%s\""
|
||||
|
||||
#: src/getargs.c:406
|
||||
#, c-format
|
||||
msgid "%s: extra arguments ignored after `%s'\n"
|
||||
msgstr "%s: extra argument ignorerade efter \"%s\"\n"
|
||||
|
||||
#: src/gram.c:139
|
||||
#: src/gram.c:142
|
||||
msgid "empty"
|
||||
msgstr "tom"
|
||||
|
||||
#: src/gram.c:233
|
||||
#: src/gram.c:236
|
||||
msgid "Grammar"
|
||||
msgstr "Grammatik"
|
||||
|
||||
#: src/gram.c:321 src/reduce.c:302 src/reduce.c:392
|
||||
#: src/gram.c:324 src/reduce.c:393
|
||||
msgid "warning"
|
||||
msgstr "varning"
|
||||
|
||||
#: src/lalr.c:91
|
||||
#, c-format
|
||||
msgid "too many gotos (max %d)"
|
||||
msgstr "för många goto (max %d)"
|
||||
|
||||
#: src/main.c:117
|
||||
#: src/main.c:124
|
||||
msgid "rule never reduced because of conflicts"
|
||||
msgstr "regel aldrig reducerad på grund av konflikter"
|
||||
|
||||
#: parse-gram.y:347
|
||||
#: src/parse-gram.y:334
|
||||
msgid "POSIX forbids declarations in the grammar"
|
||||
msgstr "POSIX förbjuder deklarationer i grammatiken"
|
||||
|
||||
#: src/print.c:46
|
||||
#: src/parse-gram.y:457
|
||||
msgid "missing identifier in parameter declaration"
|
||||
msgstr "identiferare saknas i parameterdeklaration"
|
||||
|
||||
#: src/print.c:48
|
||||
#, c-format
|
||||
msgid " type %d is %s\n"
|
||||
msgstr " typ %d är %s\n"
|
||||
|
||||
#: src/print.c:162
|
||||
#: src/print.c:164
|
||||
#, c-format
|
||||
msgid "shift, and go to state %d\n"
|
||||
msgstr "skifta, och gå till tillstånd %d\n"
|
||||
|
||||
#: src/print.c:164
|
||||
#: src/print.c:166
|
||||
#, c-format
|
||||
msgid "go to state %d\n"
|
||||
msgstr "gå till tillstånd %d\n"
|
||||
|
||||
#: src/print.c:201
|
||||
#: src/print.c:203
|
||||
msgid "error (nonassociative)\n"
|
||||
msgstr "fel (ickeassociativ)\n"
|
||||
|
||||
#: src/print.c:290
|
||||
#: src/print.c:291
|
||||
#, c-format
|
||||
msgid "reduce using rule %d (%s)"
|
||||
msgstr "reducera med regel %d (%s)"
|
||||
@@ -288,127 +284,109 @@ msgstr "$standard"
|
||||
msgid "state %d"
|
||||
msgstr "tillstånd %d"
|
||||
|
||||
#: src/print.c:456
|
||||
#: src/print.c:455
|
||||
msgid "Terminals, with rules where they appear"
|
||||
msgstr "Terminaler, med regler där de förekommer"
|
||||
|
||||
#: src/print.c:483
|
||||
#: src/print.c:482
|
||||
msgid "Nonterminals, with rules where they appear"
|
||||
msgstr "Icketerminaler, med regler där de förekommer"
|
||||
|
||||
#: src/print.c:512
|
||||
#: src/print.c:511
|
||||
msgid " on left:"
|
||||
msgstr " till vänster:"
|
||||
|
||||
#: src/print.c:527
|
||||
#: src/print.c:526
|
||||
msgid " on right:"
|
||||
msgstr " till höger:"
|
||||
|
||||
#: src/print.c:555
|
||||
#: src/print.c:554
|
||||
msgid "Rules never reduced"
|
||||
msgstr "Aldrig reducerade regler"
|
||||
|
||||
#: src/reader.c:52
|
||||
#: src/reader.c:53
|
||||
#, c-format
|
||||
msgid "multiple %s declarations"
|
||||
msgstr "flera %s-deklarationer"
|
||||
|
||||
#: src/reader.c:141
|
||||
#: src/reader.c:138
|
||||
#, c-format
|
||||
msgid "result type clash on merge function %s: `%s' vs. `%s'"
|
||||
msgstr "resultattypskonflikt vid sammanslagningsfunktion %s: \"%s\" mot \"%s\""
|
||||
msgid "result type clash on merge function %s: <%s> != <%s>"
|
||||
msgstr "resultattypskonflikt vid sammanslagningsfunktion %s: <%s> != <%s>"
|
||||
|
||||
#: src/reader.c:239
|
||||
#: src/reader.c:236
|
||||
#, c-format
|
||||
msgid "rule given for %s, which is a token"
|
||||
msgstr "regel given för %s, som är ett element"
|
||||
|
||||
#: src/reader.c:268
|
||||
#: src/reader.c:265
|
||||
#, c-format
|
||||
msgid "type clash (`%s' `%s') on default action"
|
||||
msgstr "typkonflikt (\"%s\" \"%s\") för standardåtgärd"
|
||||
msgid "type clash on default action: <%s> != <%s>"
|
||||
msgstr "typkonflikt för standardåtgärd: <%s> <%s>"
|
||||
|
||||
#: src/reader.c:274
|
||||
#: src/reader.c:271
|
||||
msgid "empty rule for typed nonterminal, and no action"
|
||||
msgstr "tom regel för typad icketerminal, och ingen åtgärd"
|
||||
|
||||
#: src/reader.c:344
|
||||
msgid "two @prec's in a row"
|
||||
msgstr "två @prec i rad"
|
||||
|
||||
#: src/reader.c:354
|
||||
#: src/reader.c:341 src/reader.c:355 src/reader.c:368
|
||||
#, c-format
|
||||
msgid "%%dprec affects only GLR parsers"
|
||||
msgstr "%%dprec påverkar endast GLR-parsrar"
|
||||
msgid "only one %s allowed per rule"
|
||||
msgstr "endast en %s tillåts per regel"
|
||||
|
||||
#: src/reader.c:356
|
||||
#: src/reader.c:351 src/reader.c:366
|
||||
#, c-format
|
||||
msgid "%%dprec must be followed by positive number"
|
||||
msgstr "%%dprec måste följas av ett positivt tal"
|
||||
msgid "%s affects only GLR parsers"
|
||||
msgstr "%s påverkar endast GLR-parsrar"
|
||||
|
||||
#: src/reader.c:358
|
||||
#: src/reader.c:353
|
||||
#, c-format
|
||||
msgid "only one %%dprec allowed per rule"
|
||||
msgstr "endast en %%dprec tillåts per regel"
|
||||
msgid "%s must be followed by positive number"
|
||||
msgstr "%s måste följas av ett positivt tal"
|
||||
|
||||
#: src/reader.c:369
|
||||
#, c-format
|
||||
msgid "%%merge affects only GLR parsers"
|
||||
msgstr "%%merge påverkar endast GLR-parsrar"
|
||||
|
||||
#: src/reader.c:371
|
||||
#, c-format
|
||||
msgid "only one %%merge allowed per rule"
|
||||
msgstr "endast en %%merge tillåts per regel"
|
||||
|
||||
#: src/reader.c:514
|
||||
#: src/reader.c:510
|
||||
msgid "no rules in the input grammar"
|
||||
msgstr "inga regler i ingrammatiken"
|
||||
|
||||
#: src/reader.c:546
|
||||
#, c-format
|
||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||
msgstr "för många symboler (element plus icketerminaler); max %d"
|
||||
|
||||
#: src/reduce.c:239
|
||||
#: src/reduce.c:241
|
||||
msgid "useless rule"
|
||||
msgstr "oanvändbar regel"
|
||||
|
||||
#: src/reduce.c:302
|
||||
msgid "useless nonterminal"
|
||||
msgstr "oanvändbar icketerminal"
|
||||
#, c-format
|
||||
msgid "useless nonterminal: %s"
|
||||
msgstr "oanvändbar icketerminal: %s"
|
||||
|
||||
#: src/reduce.c:349
|
||||
#: src/reduce.c:350
|
||||
msgid "Useless nonterminals"
|
||||
msgstr "Oanvändbara icketerminaler"
|
||||
|
||||
#: src/reduce.c:362
|
||||
#: src/reduce.c:363
|
||||
msgid "Terminals which are not used"
|
||||
msgstr "Terminaler som inte används"
|
||||
|
||||
#: src/reduce.c:371
|
||||
#: src/reduce.c:372
|
||||
msgid "Useless rules"
|
||||
msgstr "Oanvändbara regler"
|
||||
|
||||
#: src/reduce.c:387
|
||||
#: src/reduce.c:388
|
||||
#, c-format
|
||||
msgid "%d rule never reduced\n"
|
||||
msgid_plural "%d rules never reduced\n"
|
||||
msgstr[0] "%d regel reduceras aldrig\n"
|
||||
msgstr[1] "%d regler reduceras aldrig\n"
|
||||
|
||||
#: src/reduce.c:395
|
||||
#: src/reduce.c:396
|
||||
#, c-format
|
||||
msgid "%d useless nonterminal"
|
||||
msgid_plural "%d useless nonterminals"
|
||||
msgstr[0] "%d oanvändbar icketerminal"
|
||||
msgstr[1] "%d oanvändbara icketerminaler"
|
||||
|
||||
#: src/reduce.c:401
|
||||
#: src/reduce.c:402
|
||||
msgid " and "
|
||||
msgstr " och "
|
||||
|
||||
#: src/reduce.c:404
|
||||
#: src/reduce.c:405
|
||||
#, c-format
|
||||
msgid "%d useless rule"
|
||||
msgid_plural "%d useless rules"
|
||||
@@ -420,76 +398,70 @@ msgstr[1] "%d oanv
|
||||
msgid "start symbol %s does not derive any sentence"
|
||||
msgstr "startsymbolen %s genererar inga meningar"
|
||||
|
||||
#: scan-gram.l:211
|
||||
#: src/scan-gram.l:157
|
||||
msgid "stray `,' treated as white space"
|
||||
msgstr "vilsekommet \",\" hanterat som blank"
|
||||
|
||||
#: src/scan-gram.l:216
|
||||
#, c-format
|
||||
msgid ": invalid character: `%c'\n"
|
||||
msgstr ": ogiltigt tecken: \"%c\"\n"
|
||||
msgid "invalid directive: %s"
|
||||
msgstr "ogiltigt direktiv: %s"
|
||||
|
||||
#: scan-gram.l:255
|
||||
msgid ": unexpected end of file in a comment\n"
|
||||
msgstr ": oväntat filslut i en kommentar\n"
|
||||
|
||||
#: scan-gram.l:284 scan-gram.l:423
|
||||
msgid ": unexpected end of file in a string\n"
|
||||
msgstr ": oväntat filslut i en sträng\n"
|
||||
|
||||
#: scan-gram.l:322 scan-gram.l:394
|
||||
msgid ": unexpected end of file in a character\n"
|
||||
msgstr ": oväntat filslut i ett tecken\n"
|
||||
|
||||
#: scan-gram.l:343
|
||||
#: src/scan-gram.l:236 src/scan-gram.l:785 src/scan-gram.l:853
|
||||
#, c-format
|
||||
msgid ": invalid escape: %s\n"
|
||||
msgstr ": ogiltig specialsekvens: %s\n"
|
||||
msgid "integer out of range: %s"
|
||||
msgstr "heltal utanför intervall: %s"
|
||||
|
||||
#: scan-gram.l:364
|
||||
#: src/scan-gram.l:281
|
||||
#, c-format
|
||||
msgid ": unrecognized escape: %s\n"
|
||||
msgstr ": okänd specialsekvens: %s\n"
|
||||
msgid "invalid character: %s"
|
||||
msgstr "ogiltigt tecken: %s"
|
||||
|
||||
#: scan-gram.l:485
|
||||
msgid ": unexpected end of file in a braced code\n"
|
||||
msgstr ": oväntat filslut i kod inom klamrar\n"
|
||||
#: src/scan-gram.l:405 src/scan-gram.l:415 src/scan-gram.l:434
|
||||
#, c-format
|
||||
msgid "invalid escape sequence: %s"
|
||||
msgstr "ogiltig specialsekvens: %s"
|
||||
|
||||
#: scan-gram.l:514
|
||||
msgid ": unexpected end of file in a prologue\n"
|
||||
msgstr ": oväntat filslut i en prolog\n"
|
||||
#: src/scan-gram.l:439
|
||||
#, c-format
|
||||
msgid "unrecognized escape sequence: %s"
|
||||
msgstr "okänd specialsekvens: %s"
|
||||
|
||||
#: scan-gram.l:572
|
||||
#: src/scan-gram.l:524
|
||||
#, c-format
|
||||
msgid "missing `{' in `%s'"
|
||||
msgstr "saknad \"{\" i \"%s\""
|
||||
|
||||
#: src/scan-gram.l:757
|
||||
#, c-format
|
||||
msgid "$$ of `%s' has no declared type"
|
||||
msgstr "$$ för \"%s\" har ingen deklarerad typ"
|
||||
|
||||
#: scan-gram.l:584 scan-gram.l:666
|
||||
#, c-format
|
||||
msgid "invalid value: %s%d"
|
||||
msgstr "felaktigt värde: %s%d"
|
||||
|
||||
#: scan-gram.l:591
|
||||
#: src/scan-gram.l:776
|
||||
#, c-format
|
||||
msgid "$%d of `%s' has no declared type"
|
||||
msgstr "$%d för \"%s\" har ingen deklarerad typ"
|
||||
|
||||
#: scan-gram.l:602 scan-gram.l:619 scan-gram.l:673 scan-gram.l:690
|
||||
#: src/scan-gram.l:820 src/scan-gram.l:887
|
||||
#, c-format
|
||||
msgid "%s is invalid"
|
||||
msgstr "%s är felaktigt"
|
||||
msgid "invalid value: %s"
|
||||
msgstr "felaktigt värde: %s"
|
||||
|
||||
#: src/state.c:145
|
||||
#: src/scan-gram.l:978
|
||||
#, c-format
|
||||
msgid "too many states (max %d)"
|
||||
msgstr "för många tillstånd (max %d)"
|
||||
msgid "missing `%s' at end of file"
|
||||
msgstr "saknat \"%s\" vid filslut"
|
||||
|
||||
#: src/symlist.c:97 src/symlist.c:109
|
||||
#: src/symlist.c:97 src/symlist.c:108
|
||||
msgid "invalid $ value"
|
||||
msgstr "felaktigt $-värde"
|
||||
|
||||
#: src/symtab.c:81
|
||||
#: src/symtab.c:84
|
||||
#, c-format
|
||||
msgid "type redeclaration for %s"
|
||||
msgstr "typen omdeklarerad för %s"
|
||||
|
||||
#: src/symtab.c:98 src/symtab.c:117
|
||||
#: src/symtab.c:101 src/symtab.c:119
|
||||
#, c-format
|
||||
msgid "%s redeclaration for %s"
|
||||
msgstr "%s-omdeklaration för %s"
|
||||
@@ -499,110 +471,110 @@ msgstr "%s-omdeklaration f
|
||||
msgid "redefining precedence of %s"
|
||||
msgstr "omdefinition av precedens för %s"
|
||||
|
||||
#: src/symtab.c:157
|
||||
#: src/symtab.c:156
|
||||
#, c-format
|
||||
msgid "symbol %s redefined"
|
||||
msgstr "symbolen %s omdefinierad"
|
||||
|
||||
#: src/symtab.c:180
|
||||
#: src/symtab.c:179
|
||||
#, c-format
|
||||
msgid "redefining user token number of %s"
|
||||
msgstr "omdefinition av elementnummer för %s"
|
||||
|
||||
#: src/symtab.c:225
|
||||
#: src/symtab.c:206
|
||||
#, c-format
|
||||
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
||||
msgstr ""
|
||||
"symbolen %s används, men är inte definierad som ett element och har inga "
|
||||
"regler"
|
||||
|
||||
#: src/symtab.c:244
|
||||
#: src/symtab.c:231
|
||||
#, c-format
|
||||
msgid "symbol `%s' used more than once as a literal string"
|
||||
msgstr "symbolen \"%s\" används mer än en gång som en bokstavlig sträng"
|
||||
|
||||
#: src/symtab.c:247
|
||||
#: src/symtab.c:234
|
||||
#, c-format
|
||||
msgid "symbol `%s' given more than one literal string"
|
||||
msgstr "symbolen \"%s\" har fått mer än en bokstavlig sträng"
|
||||
|
||||
#: src/symtab.c:281
|
||||
#: src/symtab.c:270
|
||||
#, c-format
|
||||
msgid "conflicting precedences for %s and %s"
|
||||
msgstr "motstridiga precedenser mellan %s och %s"
|
||||
|
||||
#: src/symtab.c:293
|
||||
#: src/symtab.c:282
|
||||
#, c-format
|
||||
msgid "conflicting associativities for %s (%s) and %s (%s)"
|
||||
msgstr "motstridiga associativiteter för %s (%s) och %s (%s)"
|
||||
|
||||
#: src/symtab.c:363
|
||||
#: src/symtab.c:367
|
||||
#, c-format
|
||||
msgid "tokens %s and %s both assigned number %d"
|
||||
msgstr "elementen %s och %s har båda fått nummer %d"
|
||||
|
||||
#: src/symtab.c:568
|
||||
#: src/symtab.c:590
|
||||
#, c-format
|
||||
msgid "the start symbol %s is undefined"
|
||||
msgstr "startsymbolen %s är odefinierad"
|
||||
|
||||
#: src/symtab.c:572
|
||||
#: src/symtab.c:594
|
||||
#, c-format
|
||||
msgid "the start symbol %s is a token"
|
||||
msgstr "startsymbolen %s är ett element"
|
||||
|
||||
#: lib/argmatch.c:161
|
||||
#: lib/argmatch.c:129
|
||||
#, c-format
|
||||
msgid "invalid argument %s for %s"
|
||||
msgstr "ogiltigt argument %s till %s"
|
||||
|
||||
#: lib/argmatch.c:162
|
||||
#: lib/argmatch.c:130
|
||||
#, c-format
|
||||
msgid "ambiguous argument %s for %s"
|
||||
msgstr "tvetydigt argument %s till %s"
|
||||
|
||||
#: lib/argmatch.c:181
|
||||
#: lib/argmatch.c:149
|
||||
msgid "Valid arguments are:"
|
||||
msgstr "Giltiga argument är:"
|
||||
|
||||
#: lib/bitset_stats.c:235
|
||||
#: lib/bitset_stats.c:178
|
||||
#, c-format
|
||||
msgid "%u bitset_allocs, %u freed (%.2f%%).\n"
|
||||
msgstr "%u bitmängdallokeringar, %u frianden (%.2f%%).\n"
|
||||
|
||||
#: lib/bitset_stats.c:238
|
||||
#: lib/bitset_stats.c:181
|
||||
#, c-format
|
||||
msgid "%u bitset_sets, %u cached (%.2f%%)\n"
|
||||
msgstr "%u bitmängdmängder, %u cachade (%.2f%%)\n"
|
||||
|
||||
#: lib/bitset_stats.c:241
|
||||
#: lib/bitset_stats.c:184
|
||||
#, c-format
|
||||
msgid "%u bitset_resets, %u cached (%.2f%%)\n"
|
||||
msgstr "%u bitmängdåterställanden, %u cachade (%.2f%%)\n"
|
||||
|
||||
#: lib/bitset_stats.c:244
|
||||
#: lib/bitset_stats.c:187
|
||||
#, c-format
|
||||
msgid "%u bitset_tests, %u cached (%.2f%%)\n"
|
||||
msgstr "%u bitmängdtester, %u cachade (%.2f%%)\n"
|
||||
|
||||
#: lib/bitset_stats.c:248
|
||||
#: lib/bitset_stats.c:191
|
||||
#, c-format
|
||||
msgid "%u bitset_lists\n"
|
||||
msgstr "%u bitmängdlistor\n"
|
||||
|
||||
#: lib/bitset_stats.c:250
|
||||
#: lib/bitset_stats.c:193
|
||||
msgid "count log histogram\n"
|
||||
msgstr "anropslogghistogram\n"
|
||||
|
||||
#: lib/bitset_stats.c:253
|
||||
#: lib/bitset_stats.c:196
|
||||
msgid "size log histogram\n"
|
||||
msgstr "storlekslogghistogram\n"
|
||||
|
||||
#: lib/bitset_stats.c:256
|
||||
#: lib/bitset_stats.c:199
|
||||
msgid "density histogram\n"
|
||||
msgstr "densitetshistogram\n"
|
||||
|
||||
#: lib/bitset_stats.c:272
|
||||
#: lib/bitset_stats.c:213
|
||||
msgid ""
|
||||
"Bitset statistics:\n"
|
||||
"\n"
|
||||
@@ -610,97 +582,117 @@ msgstr ""
|
||||
"Bitmängdsstatistik:\n"
|
||||
"\n"
|
||||
|
||||
#: lib/bitset_stats.c:275
|
||||
#: lib/bitset_stats.c:216
|
||||
#, c-format
|
||||
msgid "Accumulated runs = %u\n"
|
||||
msgstr "Accumulerade körningar = %u\n"
|
||||
msgstr "Ackumulerade körningar = %u\n"
|
||||
|
||||
#: lib/bitset_stats.c:320
|
||||
#: lib/bitset_stats.c:260 lib/bitset_stats.c:265
|
||||
msgid "Could not read stats file."
|
||||
msgstr "Kunde inte läsa statistikfil."
|
||||
|
||||
#: lib/bitset_stats.c:322
|
||||
#: lib/bitset_stats.c:262
|
||||
msgid "Bad stats file size.\n"
|
||||
msgstr "Dålig statistikfilstorlek.\n"
|
||||
|
||||
#: lib/bitset_stats.c:348
|
||||
#: lib/bitset_stats.c:288 lib/bitset_stats.c:290
|
||||
msgid "Could not write stats file."
|
||||
msgstr "Kunde inte skriva statistikfil."
|
||||
|
||||
#: lib/bitset_stats.c:352
|
||||
#: lib/bitset_stats.c:293
|
||||
msgid "Could not open stats file for writing."
|
||||
msgstr "Kunde inte öppna statistikfil för skrivning."
|
||||
|
||||
#: lib/getopt.c:662
|
||||
#: lib/getopt.c:688 lib/getopt.c:700
|
||||
#, c-format
|
||||
msgid "%s: option `%s' is ambiguous\n"
|
||||
msgstr "%s: flaggan \"%s\" är tvetydig\n"
|
||||
|
||||
#: lib/getopt.c:687
|
||||
#: lib/getopt.c:733 lib/getopt.c:737
|
||||
#, c-format
|
||||
msgid "%s: option `--%s' doesn't allow an argument\n"
|
||||
msgstr "%s: flaggan \"--%s\" tar inget argument\n"
|
||||
|
||||
#: lib/getopt.c:692
|
||||
#: lib/getopt.c:746 lib/getopt.c:751
|
||||
#, c-format
|
||||
msgid "%s: option `%c%s' doesn't allow an argument\n"
|
||||
msgstr "%s: flaggan \"%c%s\" tar inget argument\n"
|
||||
|
||||
#: lib/getopt.c:710 lib/getopt.c:883
|
||||
#: lib/getopt.c:787 lib/getopt.c:800 lib/getopt.c:1089 lib/getopt.c:1102
|
||||
#, c-format
|
||||
msgid "%s: option `%s' requires an argument\n"
|
||||
msgstr "%s: flaggan \"%s\" behöver ett argument\n"
|
||||
|
||||
#: lib/getopt.c:739
|
||||
#: lib/getopt.c:838 lib/getopt.c:841
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `--%s'\n"
|
||||
msgstr "%s: okänd flagga \"--%s\"\n"
|
||||
|
||||
#: lib/getopt.c:743
|
||||
#: lib/getopt.c:849 lib/getopt.c:852
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `%c%s'\n"
|
||||
msgstr "%s: okänd flagga \"%c%s\"\n"
|
||||
|
||||
#: lib/getopt.c:769
|
||||
#: lib/getopt.c:899 lib/getopt.c:902
|
||||
#, c-format
|
||||
msgid "%s: illegal option -- %c\n"
|
||||
msgstr "%s: otillåten flagga -- %c\n"
|
||||
|
||||
#: lib/getopt.c:772
|
||||
#: lib/getopt.c:908 lib/getopt.c:911
|
||||
#, c-format
|
||||
msgid "%s: invalid option -- %c\n"
|
||||
msgstr "%s: ogiltig flagga --%c\n"
|
||||
|
||||
#: lib/getopt.c:802 lib/getopt.c:932
|
||||
#: lib/getopt.c:958 lib/getopt.c:969 lib/getopt.c:1155 lib/getopt.c:1168
|
||||
#, c-format
|
||||
msgid "%s: option requires an argument -- %c\n"
|
||||
msgstr "%s: flaggan behöver ett argument -- %c\n"
|
||||
|
||||
#: lib/getopt.c:849
|
||||
#: lib/getopt.c:1021 lib/getopt.c:1032
|
||||
#, c-format
|
||||
msgid "%s: option `-W %s' is ambiguous\n"
|
||||
msgstr "%s: flaggan \"-W %s\" är tvetydig\n"
|
||||
|
||||
#: lib/getopt.c:867
|
||||
#: lib/getopt.c:1056 lib/getopt.c:1068
|
||||
#, c-format
|
||||
msgid "%s: option `-W %s' doesn't allow an argument\n"
|
||||
msgstr "%s: flaggan \"-W %s\" tar inget argument\n"
|
||||
|
||||
#: lib/obstack.c:496 lib/obstack.c:499 lib/xmalloc.c:66
|
||||
#: lib/obstack.c:487 lib/obstack.c:490 lib/xmalloc.c:63
|
||||
msgid "memory exhausted"
|
||||
msgstr "minnet slut"
|
||||
|
||||
# När vi går över till Unicode mer allmänt kanske vi bör översätta båda dessa
|
||||
# med U+201D (RIGHT DOUBLE QUOTATION MARK) på svenska. Eller?
|
||||
#
|
||||
#: lib/quotearg.c:274
|
||||
#: lib/quotearg.c:236
|
||||
msgid "`"
|
||||
msgstr "\""
|
||||
|
||||
#: lib/quotearg.c:275
|
||||
#: lib/quotearg.c:237
|
||||
msgid "'"
|
||||
msgstr "\""
|
||||
|
||||
#: lib/subpipe.c:187
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' could not be invoked"
|
||||
msgstr "underprogram \"%s\" kunde inte köras"
|
||||
|
||||
#: lib/subpipe.c:189
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' not found"
|
||||
msgstr "underprogram \"%s\" hittades inte"
|
||||
|
||||
#: lib/subpipe.c:191
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' failed"
|
||||
msgstr "underprogram \"%s\" misslyckades"
|
||||
|
||||
#: lib/subpipe.c:192
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' failed (exit status %d)"
|
||||
msgstr "underprogram \"%s\" misslyckades (slutstatus %d)"
|
||||
|
||||
#: lib/timevar.c:476
|
||||
msgid ""
|
||||
"\n"
|
||||
@@ -718,22 +710,16 @@ msgstr " TOTALT :"
|
||||
msgid "time in %s: %ld.%06ld (%ld%%)\n"
|
||||
msgstr "tid i %s: %ld.%06ld (%ld%%)\n"
|
||||
|
||||
# RTC betyder "reflexive transitive closure"
|
||||
# Firsts är ett variabelnamn
|
||||
#~ msgid "RTC: Firsts Input"
|
||||
#~ msgstr "RTH: Firsts-indata"
|
||||
#~ msgid "%d shift/reduce conflict"
|
||||
#~ msgid_plural "%d shift/reduce conflicts"
|
||||
#~ msgstr[0] "%d skifta/reducerakonflikt"
|
||||
#~ msgstr[1] "%d skifta/reducerakonflikter"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Num (Prec, Assoc, Useful, Ritem Range) Lhs -> Rhs (Ritem range) [Num]\n"
|
||||
#~ msgstr ""
|
||||
#~ "Num (Prec, Assoc, Användbar, Robjektintervall) Vhs -> Hhs "
|
||||
#~ "(Hobjektintervall) [Num]\n"
|
||||
#~ msgid "and"
|
||||
#~ msgstr "och"
|
||||
|
||||
#~ msgid "Lookaheads: BEGIN\n"
|
||||
#~ msgstr "Framåtblickar: START\n"
|
||||
#~ msgid "conflicts: "
|
||||
#~ msgstr "konflikter: "
|
||||
|
||||
#~ msgid "State %d: %d lookaheads\n"
|
||||
#~ msgstr "Tillstånd %d: %d framåtblickar\n"
|
||||
|
||||
#~ msgid "Lookaheads: END\n"
|
||||
#~ msgstr "Framåtblickar: SLUT\n"
|
||||
#~ msgid "State %d contains "
|
||||
#~ msgstr "Tillstånd %d innehåller "
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: bison 1.49a\n"
|
||||
"POT-Creation-Date: 2002-10-14 14:47+0200\n"
|
||||
"POT-Creation-Date: 2003-01-01 01:28-0800\n"
|
||||
"PO-Revision-Date: 2002-06-25 11:03GMT +02:00\n"
|
||||
"Last-Translator: Altuð Bayram <[email protected]>\n"
|
||||
"Language-Team: Turkish <[email protected]>\n"
|
||||
@@ -15,102 +15,105 @@ msgstr ""
|
||||
"X-Generator: KBabel 0.9.5\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#: src/complain.c:89 lib/error.c:128 lib/error.c:156
|
||||
#: src/complain.c:56 lib/error.c:135 lib/error.c:163
|
||||
msgid "Unknown system error"
|
||||
msgstr "Bilinmeyen sistem hatasý"
|
||||
|
||||
#: src/complain.c:123 src/complain.c:152
|
||||
#: src/complain.c:79 src/complain.c:94
|
||||
msgid "warning: "
|
||||
msgstr "uyarý: "
|
||||
|
||||
#: src/complain.c:252 src/complain.c:282
|
||||
#: src/complain.c:150 src/complain.c:166
|
||||
msgid "fatal error: "
|
||||
msgstr "ölümcül hata:"
|
||||
|
||||
#: src/conflicts.c:72
|
||||
#: src/conflicts.c:75
|
||||
#, fuzzy, c-format
|
||||
msgid " Conflict between rule %d and token %s resolved as shift"
|
||||
msgstr ""
|
||||
"%d durumu içinde %d kuralý ve %s andaçý arasýndaki çeliþki %s olarak\n"
|
||||
"çözümlendi.\n"
|
||||
|
||||
#: src/conflicts.c:80
|
||||
#: src/conflicts.c:83
|
||||
#, fuzzy, c-format
|
||||
msgid " Conflict between rule %d and token %s resolved as reduce"
|
||||
msgstr ""
|
||||
"%d durumu içinde %d kuralý ve %s andaçý arasýndaki çeliþki %s olarak\n"
|
||||
"çözümlendi.\n"
|
||||
|
||||
#: src/conflicts.c:87
|
||||
#: src/conflicts.c:90
|
||||
#, fuzzy, c-format
|
||||
msgid " Conflict between rule %d and token %s resolved as an error"
|
||||
msgstr ""
|
||||
"%d durumu içinde %d kuralý ve %s andaçý arasýndaki çeliþki %s olarak\n"
|
||||
"çözümlendi.\n"
|
||||
|
||||
#: src/conflicts.c:402
|
||||
#: src/conflicts.c:398
|
||||
#, c-format
|
||||
msgid "%d shift/reduce conflict"
|
||||
msgid_plural "%d shift/reduce conflicts"
|
||||
msgstr[0] "%d öteleme/indirgeme çeliþkisi"
|
||||
msgstr[1] "%d öteleme/indirgeme çeliþkisi"
|
||||
msgid "conflicts: %d shift/reduce, %d reduce/reduce\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/conflicts.c:409
|
||||
msgid "and"
|
||||
msgstr "ve"
|
||||
|
||||
#: src/conflicts.c:415
|
||||
#, c-format
|
||||
msgid "%d reduce/reduce conflict"
|
||||
msgid_plural "%d reduce/reduce conflicts"
|
||||
msgstr[0] "%d indirgeme/indirgeme çeliþkisi"
|
||||
msgstr[1] "%d indirgeme/indirgeme çeliþkisi"
|
||||
|
||||
#: src/conflicts.c:435
|
||||
msgid "conflicts: "
|
||||
msgstr "çeliþkiler: "
|
||||
|
||||
#: src/conflicts.c:437
|
||||
#, c-format
|
||||
msgid " %d shift/reduce"
|
||||
#: src/conflicts.c:401
|
||||
#, fuzzy, c-format
|
||||
msgid "conflicts: %d shift/reduce\n"
|
||||
msgstr " %d öteleme/indirgeme"
|
||||
|
||||
#: src/conflicts.c:441
|
||||
#, c-format
|
||||
msgid " %d reduce/reduce"
|
||||
#: src/conflicts.c:403
|
||||
#, fuzzy, c-format
|
||||
msgid "conflicts: %d reduce/reduce\n"
|
||||
msgstr " %d indirgeme/indirgeme"
|
||||
|
||||
#: src/conflicts.c:460
|
||||
#, c-format
|
||||
msgid "State %d contains "
|
||||
msgstr "%d durumu içerir"
|
||||
#: src/conflicts.c:421
|
||||
#, fuzzy, c-format
|
||||
msgid "State %d "
|
||||
msgstr "durum %d"
|
||||
|
||||
#: src/conflicts.c:537
|
||||
#: src/conflicts.c:498
|
||||
#, fuzzy, c-format
|
||||
msgid "expected %d shift/reduce conflict"
|
||||
msgid_plural "expected %d shift/reduce conflicts"
|
||||
msgstr[0] "beklenen %d öteleme/indirgeme çeliþkisi\n"
|
||||
msgstr[1] "beklenen %d öteleme/indirgeme çeliþkisi\n"
|
||||
|
||||
#: src/files.c:114
|
||||
#: src/conflicts.c:503
|
||||
#, fuzzy
|
||||
msgid "expected 0 reduce/reduce conflicts"
|
||||
msgstr "%d indirgeme/indirgeme çeliþkisi"
|
||||
|
||||
#: src/files.c:99
|
||||
#, c-format
|
||||
msgid "cannot open file `%s'"
|
||||
msgstr "`%s' dosyasý açýlamadý"
|
||||
|
||||
#: src/files.c:133
|
||||
#: src/files.c:115
|
||||
#, fuzzy
|
||||
msgid "I/O error"
|
||||
msgstr "bir hata"
|
||||
|
||||
#: src/files.c:118
|
||||
msgid "cannot close file"
|
||||
msgstr "dosya kapatýlamýyor"
|
||||
|
||||
#: src/getargs.c:157
|
||||
#: src/files.c:336
|
||||
#, fuzzy, c-format
|
||||
msgid "conflicting outputs to file %s"
|
||||
msgstr "%s ve %s için çeliþen birleþmeli deðerler"
|
||||
|
||||
#: src/getargs.c:182
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information.\n"
|
||||
msgstr "Daha fazla bilgi için `%s --help' yazýn.\n"
|
||||
|
||||
#: src/getargs.c:188
|
||||
msgid "GNU bison generates parsers for LALR(1) grammars.\n"
|
||||
msgstr "GNU bison LALR(1) gramerler için ayrýþtýrýcýlar üretir.\n"
|
||||
|
||||
#: src/getargs.c:161
|
||||
#: src/getargs.c:192
|
||||
#, c-format
|
||||
msgid "Usage: %s [OPTION]... FILE\n"
|
||||
msgstr "Kullaným: %s [SEÇENEK]... DOSYA\n"
|
||||
|
||||
#: src/getargs.c:165
|
||||
#: src/getargs.c:196
|
||||
msgid ""
|
||||
"If a long option shows an argument as mandatory, then it is mandatory\n"
|
||||
"for the equivalent short option also. Similarly for optional arguments.\n"
|
||||
@@ -120,7 +123,7 @@ msgstr ""
|
||||
"seçenek için de geçerlidir. Bu durum, seçimli argümanlar için de "
|
||||
"geçerlidir.\n"
|
||||
|
||||
#: src/getargs.c:171
|
||||
#: src/getargs.c:202
|
||||
msgid ""
|
||||
"Operation modes:\n"
|
||||
" -h, --help display this help and exit\n"
|
||||
@@ -132,7 +135,7 @@ msgstr ""
|
||||
" -V, --version sürüm bilgisini ver ve çýk\n"
|
||||
" -y, --yacc POSIX yacc öykünmesi\n"
|
||||
|
||||
#: src/getargs.c:178
|
||||
#: src/getargs.c:209
|
||||
msgid ""
|
||||
"Parser:\n"
|
||||
" -S, --skeleton=FILE specify the skeleton to use\n"
|
||||
@@ -152,7 +155,7 @@ msgstr ""
|
||||
" -n, --no-parser sadece tablolarý üret\n"
|
||||
" -k, --token-table andaç isimlerinin bir tablosunu içer\n"
|
||||
|
||||
#: src/getargs.c:190
|
||||
#: src/getargs.c:221
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Output:\n"
|
||||
@@ -171,7 +174,7 @@ msgstr ""
|
||||
" -o, --output=DOSYA çýktýyý dosyaya býrakýr\n"
|
||||
" -g, --graph otomatýn bir VCG grafik açýklamasýný da üretir\n"
|
||||
|
||||
#: src/getargs.c:201
|
||||
#: src/getargs.c:232
|
||||
msgid ""
|
||||
"THINGS is a list of comma separated words that can include:\n"
|
||||
" `state' describe the states\n"
|
||||
@@ -182,27 +185,27 @@ msgid ""
|
||||
" `none' disable the report\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:212
|
||||
#: src/getargs.c:243
|
||||
msgid "Report bugs to <[email protected]>.\n"
|
||||
msgstr ""
|
||||
"Hatalarý <[email protected]>'a,\n"
|
||||
"çeviri hatalarýný <[email protected]>'e bildir.\n"
|
||||
|
||||
#: src/getargs.c:226
|
||||
#: src/getargs.c:260
|
||||
#, c-format
|
||||
msgid "bison (GNU Bison) %s"
|
||||
msgstr "bison (GNU Bison) %s"
|
||||
|
||||
#: src/getargs.c:228
|
||||
#: src/getargs.c:262
|
||||
msgid "Written by Robert Corbett and Richard Stallman.\n"
|
||||
msgstr "Yazanlar: Robert Corbett ve Richard Stallman.\n"
|
||||
|
||||
#: src/getargs.c:232
|
||||
#: src/getargs.c:266
|
||||
#, c-format
|
||||
msgid "Copyright (C) %d Free Software Foundation, Inc.\n"
|
||||
msgstr "Telif Hakký (C) %d Free Software Foundation, Inc.\n"
|
||||
|
||||
#: src/getargs.c:234
|
||||
#: src/getargs.c:268
|
||||
msgid ""
|
||||
"This is free software; see the source for copying conditions. There is NO\n"
|
||||
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
|
||||
@@ -211,68 +214,62 @@ msgstr ""
|
||||
"Hiçbir garantisi yoktur; hatta SATILABÝLÝRLÝÐÝ veya ÞAHSÝ KULLANIMINIZA\n"
|
||||
"UYGUNLUÐU için bile garanti verilmez.\n"
|
||||
|
||||
#: src/getargs.c:395
|
||||
#: src/getargs.c:424
|
||||
#, c-format
|
||||
msgid "Try `%s --help' for more information.\n"
|
||||
msgstr "Daha fazla bilgi için `%s --help' yazýn.\n"
|
||||
msgid "missing operand after `%s'"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:402
|
||||
#: src/getargs.c:426
|
||||
#, c-format
|
||||
msgid "%s: no grammar file given\n"
|
||||
msgstr "%s: gramer dosyasý verilmemiþ\n"
|
||||
msgid "extra operand `%s'"
|
||||
msgstr ""
|
||||
|
||||
#: src/getargs.c:406
|
||||
#, c-format
|
||||
msgid "%s: extra arguments ignored after `%s'\n"
|
||||
msgstr "%s: '%s' den sonraki argümanlar yoksayýldý\n"
|
||||
|
||||
#: src/gram.c:139
|
||||
#: src/gram.c:142
|
||||
msgid "empty"
|
||||
msgstr "boþ"
|
||||
|
||||
#: src/gram.c:233
|
||||
#: src/gram.c:236
|
||||
msgid "Grammar"
|
||||
msgstr "Gramer"
|
||||
|
||||
#: src/gram.c:321 src/reduce.c:302 src/reduce.c:392
|
||||
#: src/gram.c:324 src/reduce.c:393
|
||||
#, fuzzy
|
||||
msgid "warning"
|
||||
msgstr "uyarý: "
|
||||
|
||||
#: src/lalr.c:91
|
||||
#, c-format
|
||||
msgid "too many gotos (max %d)"
|
||||
msgstr "gotos çok fazla (en fazla %d)"
|
||||
|
||||
#: src/main.c:117
|
||||
#: src/main.c:124
|
||||
msgid "rule never reduced because of conflicts"
|
||||
msgstr ""
|
||||
|
||||
#: parse-gram.y:347
|
||||
#: src/parse-gram.y:334
|
||||
msgid "POSIX forbids declarations in the grammar"
|
||||
msgstr ""
|
||||
|
||||
#: src/print.c:46
|
||||
#: src/parse-gram.y:457
|
||||
msgid "missing identifier in parameter declaration"
|
||||
msgstr ""
|
||||
|
||||
#: src/print.c:48
|
||||
#, c-format
|
||||
msgid " type %d is %s\n"
|
||||
msgstr " tip %d %s'dir\n"
|
||||
|
||||
#: src/print.c:162
|
||||
#: src/print.c:164
|
||||
#, fuzzy, c-format
|
||||
msgid "shift, and go to state %d\n"
|
||||
msgstr " %-4s\tötele, ve durum %d'ye git\n"
|
||||
|
||||
#: src/print.c:164
|
||||
#: src/print.c:166
|
||||
#, fuzzy, c-format
|
||||
msgid "go to state %d\n"
|
||||
msgstr " %-4s\tdurum %d'ye git\n"
|
||||
|
||||
#: src/print.c:201
|
||||
#: src/print.c:203
|
||||
#, fuzzy
|
||||
msgid "error (nonassociative)\n"
|
||||
msgstr "%-4s\thata (birleþmeli deðil)"
|
||||
|
||||
#: src/print.c:290
|
||||
#: src/print.c:291
|
||||
#, fuzzy, c-format
|
||||
msgid "reduce using rule %d (%s)"
|
||||
msgstr "$default\tindirgeme kural %d (%s)'i kullanýyor"
|
||||
@@ -290,134 +287,115 @@ msgstr ""
|
||||
msgid "state %d"
|
||||
msgstr "durum %d"
|
||||
|
||||
#: src/print.c:456
|
||||
#: src/print.c:455
|
||||
msgid "Terminals, with rules where they appear"
|
||||
msgstr "Sabit simgeler, kurallarýnýn bulunduklarý yerde"
|
||||
|
||||
#: src/print.c:483
|
||||
#: src/print.c:482
|
||||
msgid "Nonterminals, with rules where they appear"
|
||||
msgstr "Deðiþken simgeler, kurallarýnýn bulunduklarý yerde"
|
||||
|
||||
#: src/print.c:512
|
||||
#: src/print.c:511
|
||||
msgid " on left:"
|
||||
msgstr " solda:"
|
||||
|
||||
#: src/print.c:527
|
||||
#: src/print.c:526
|
||||
msgid " on right:"
|
||||
msgstr " saðda:"
|
||||
|
||||
#: src/print.c:555
|
||||
#: src/print.c:554
|
||||
#, fuzzy
|
||||
msgid "Rules never reduced"
|
||||
msgstr "%d kural asla indirgenmedi\n"
|
||||
|
||||
#: src/reader.c:52
|
||||
#: src/reader.c:53
|
||||
#, c-format
|
||||
msgid "multiple %s declarations"
|
||||
msgstr "çoklu %s bildirimleri"
|
||||
|
||||
#: src/reader.c:141
|
||||
#: src/reader.c:138
|
||||
#, c-format
|
||||
msgid "result type clash on merge function %s: `%s' vs. `%s'"
|
||||
msgid "result type clash on merge function %s: <%s> != <%s>"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:239
|
||||
#: src/reader.c:236
|
||||
#, c-format
|
||||
msgid "rule given for %s, which is a token"
|
||||
msgstr "bir andaç olan %s için verilen kural"
|
||||
|
||||
#: src/reader.c:268
|
||||
#, c-format
|
||||
msgid "type clash (`%s' `%s') on default action"
|
||||
#: src/reader.c:265
|
||||
#, fuzzy, c-format
|
||||
msgid "type clash on default action: <%s> != <%s>"
|
||||
msgstr "öntanýmlý eylem üzerinde (`%s' `%s') tip çatýþmasý"
|
||||
|
||||
#: src/reader.c:274
|
||||
#: src/reader.c:271
|
||||
msgid "empty rule for typed nonterminal, and no action"
|
||||
msgstr ""
|
||||
"Tipli deðiþken simge için boþ kural tanýmlanmýþ, ve eylem belirtilmemiþ"
|
||||
|
||||
#: src/reader.c:344
|
||||
msgid "two @prec's in a row"
|
||||
msgstr "bir satýrda iki @prec"
|
||||
|
||||
#: src/reader.c:354
|
||||
#: src/reader.c:341 src/reader.c:355 src/reader.c:368
|
||||
#, c-format
|
||||
msgid "%%dprec affects only GLR parsers"
|
||||
msgid "only one %s allowed per rule"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:356
|
||||
#: src/reader.c:351 src/reader.c:366
|
||||
#, c-format
|
||||
msgid "%%dprec must be followed by positive number"
|
||||
msgid "%s affects only GLR parsers"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:358
|
||||
#: src/reader.c:353
|
||||
#, c-format
|
||||
msgid "only one %%dprec allowed per rule"
|
||||
msgid "%s must be followed by positive number"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:369
|
||||
#, c-format
|
||||
msgid "%%merge affects only GLR parsers"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:371
|
||||
#, c-format
|
||||
msgid "only one %%merge allowed per rule"
|
||||
msgstr ""
|
||||
|
||||
#: src/reader.c:514
|
||||
#: src/reader.c:510
|
||||
msgid "no rules in the input grammar"
|
||||
msgstr "girdi grameri içinde kurallar yok"
|
||||
|
||||
#: src/reader.c:546
|
||||
#, c-format
|
||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||
msgstr "çok fazla simge var (andaçlar ve deðiþken simgeler); en fazla %d"
|
||||
|
||||
#: src/reduce.c:239
|
||||
#: src/reduce.c:241
|
||||
#, fuzzy
|
||||
msgid "useless rule"
|
||||
msgstr "%d yararsýz kural"
|
||||
|
||||
#: src/reduce.c:302
|
||||
#, fuzzy
|
||||
msgid "useless nonterminal"
|
||||
msgstr "%d yararsýz deðiþken simge"
|
||||
#, fuzzy, c-format
|
||||
msgid "useless nonterminal: %s"
|
||||
msgstr "Yararsýz deðiþken simgeler:"
|
||||
|
||||
#: src/reduce.c:349
|
||||
#: src/reduce.c:350
|
||||
#, fuzzy
|
||||
msgid "Useless nonterminals"
|
||||
msgstr "Yararsýz deðiþken simgeler:"
|
||||
|
||||
#: src/reduce.c:362
|
||||
#: src/reduce.c:363
|
||||
#, fuzzy
|
||||
msgid "Terminals which are not used"
|
||||
msgstr "Kullanýlmayan sabit simgeler:"
|
||||
|
||||
#: src/reduce.c:371
|
||||
#: src/reduce.c:372
|
||||
#, fuzzy
|
||||
msgid "Useless rules"
|
||||
msgstr "Yararsýz kurallar:"
|
||||
|
||||
#: src/reduce.c:387
|
||||
#: src/reduce.c:388
|
||||
#, c-format
|
||||
msgid "%d rule never reduced\n"
|
||||
msgid_plural "%d rules never reduced\n"
|
||||
msgstr[0] "%d kural asla indirgenmedi\n"
|
||||
msgstr[1] "%d kural asla indirgenmedi\n"
|
||||
|
||||
#: src/reduce.c:395
|
||||
#: src/reduce.c:396
|
||||
#, c-format
|
||||
msgid "%d useless nonterminal"
|
||||
msgid_plural "%d useless nonterminals"
|
||||
msgstr[0] "%d yararsýz deðiþken simge"
|
||||
msgstr[1] "%d yararsýz deðiþken simge"
|
||||
|
||||
#: src/reduce.c:401
|
||||
#: src/reduce.c:402
|
||||
msgid " and "
|
||||
msgstr " ve "
|
||||
|
||||
#: src/reduce.c:404
|
||||
#: src/reduce.c:405
|
||||
#, c-format
|
||||
msgid "%d useless rule"
|
||||
msgid_plural "%d useless rules"
|
||||
@@ -429,81 +407,70 @@ msgstr[1] "%d yarars
|
||||
msgid "start symbol %s does not derive any sentence"
|
||||
msgstr "Baþlangýç simgesi %s herhangi bir cümleden türemez"
|
||||
|
||||
#: scan-gram.l:211
|
||||
#, c-format
|
||||
msgid ": invalid character: `%c'\n"
|
||||
#: src/scan-gram.l:157
|
||||
msgid "stray `,' treated as white space"
|
||||
msgstr ""
|
||||
|
||||
#: scan-gram.l:255
|
||||
#, fuzzy
|
||||
msgid ": unexpected end of file in a comment\n"
|
||||
msgstr "beklenmeyen dosya sonu"
|
||||
|
||||
#: scan-gram.l:284 scan-gram.l:423
|
||||
#, fuzzy
|
||||
msgid ": unexpected end of file in a string\n"
|
||||
msgstr "beklenmeyen dosya sonu"
|
||||
|
||||
#: scan-gram.l:322 scan-gram.l:394
|
||||
#, fuzzy
|
||||
msgid ": unexpected end of file in a character\n"
|
||||
msgstr "beklenmeyen dosya sonu"
|
||||
|
||||
#: scan-gram.l:343
|
||||
#: src/scan-gram.l:216
|
||||
#, fuzzy, c-format
|
||||
msgid ": invalid escape: %s\n"
|
||||
msgid "invalid directive: %s"
|
||||
msgstr "geçersiz girdi: %s"
|
||||
|
||||
#: src/scan-gram.l:236 src/scan-gram.l:785 src/scan-gram.l:853
|
||||
#, c-format
|
||||
msgid "integer out of range: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/scan-gram.l:281
|
||||
#, fuzzy, c-format
|
||||
msgid "invalid character: %s"
|
||||
msgstr "bilinmeyen karakter: %s"
|
||||
|
||||
#: src/scan-gram.l:405 src/scan-gram.l:415 src/scan-gram.l:434
|
||||
#, fuzzy, c-format
|
||||
msgid "invalid escape sequence: %s"
|
||||
msgstr "geçersiz deðer: %s%d"
|
||||
|
||||
#: scan-gram.l:364
|
||||
#: src/scan-gram.l:439
|
||||
#, fuzzy, c-format
|
||||
msgid ": unrecognized escape: %s\n"
|
||||
msgid "unrecognized escape sequence: %s"
|
||||
msgstr "tanýnmayan: %s"
|
||||
|
||||
#: scan-gram.l:485
|
||||
#, fuzzy
|
||||
msgid ": unexpected end of file in a braced code\n"
|
||||
msgstr "beklenmeyen dosya sonu"
|
||||
#: src/scan-gram.l:524
|
||||
#, c-format
|
||||
msgid "missing `{' in `%s'"
|
||||
msgstr ""
|
||||
|
||||
#: scan-gram.l:514
|
||||
#, fuzzy
|
||||
msgid ": unexpected end of file in a prologue\n"
|
||||
msgstr "beklenmeyen dosya sonu"
|
||||
|
||||
#: scan-gram.l:572
|
||||
#: src/scan-gram.l:757
|
||||
#, c-format
|
||||
msgid "$$ of `%s' has no declared type"
|
||||
msgstr "`%s''in $$'ý bildirilmiþ tip deðil"
|
||||
|
||||
#: scan-gram.l:584 scan-gram.l:666
|
||||
#, c-format
|
||||
msgid "invalid value: %s%d"
|
||||
msgstr "geçersiz deðer: %s%d"
|
||||
|
||||
#: scan-gram.l:591
|
||||
#: src/scan-gram.l:776
|
||||
#, c-format
|
||||
msgid "$%d of `%s' has no declared type"
|
||||
msgstr "`%2$s''in %1$d'i bildirilmiþ tip deðil"
|
||||
|
||||
#: scan-gram.l:602 scan-gram.l:619 scan-gram.l:673 scan-gram.l:690
|
||||
#, c-format
|
||||
msgid "%s is invalid"
|
||||
msgstr "%s geçersizdir"
|
||||
#: src/scan-gram.l:820 src/scan-gram.l:887
|
||||
#, fuzzy, c-format
|
||||
msgid "invalid value: %s"
|
||||
msgstr "geçersiz deðer: %s%d"
|
||||
|
||||
#: src/state.c:145
|
||||
#, c-format
|
||||
msgid "too many states (max %d)"
|
||||
msgstr "çok fazla durum (en fazla %d)"
|
||||
#: src/scan-gram.l:978
|
||||
#, fuzzy, c-format
|
||||
msgid "missing `%s' at end of file"
|
||||
msgstr "dosyanýn sonunda sonlandýrýlmamýþ dizge"
|
||||
|
||||
#: src/symlist.c:97 src/symlist.c:109
|
||||
#: src/symlist.c:97 src/symlist.c:108
|
||||
msgid "invalid $ value"
|
||||
msgstr "geçersiz $ deðeri"
|
||||
|
||||
#: src/symtab.c:81
|
||||
#: src/symtab.c:84
|
||||
#, c-format
|
||||
msgid "type redeclaration for %s"
|
||||
msgstr "%s için yeniden tip bildirimi"
|
||||
|
||||
#: src/symtab.c:98 src/symtab.c:117
|
||||
#: src/symtab.c:101 src/symtab.c:119
|
||||
#, fuzzy, c-format
|
||||
msgid "%s redeclaration for %s"
|
||||
msgstr "%s için yeniden tip bildirimi"
|
||||
@@ -513,202 +480,222 @@ msgstr "%s i
|
||||
msgid "redefining precedence of %s"
|
||||
msgstr "%s'in önceliði tekrar tanýmlandý"
|
||||
|
||||
#: src/symtab.c:157
|
||||
#: src/symtab.c:156
|
||||
#, c-format
|
||||
msgid "symbol %s redefined"
|
||||
msgstr "%s simgesi yeniden tanýmlandý"
|
||||
|
||||
#: src/symtab.c:180
|
||||
#: src/symtab.c:179
|
||||
#, fuzzy, c-format
|
||||
msgid "redefining user token number of %s"
|
||||
msgstr "%s'in önceliði tekrar tanýmlandý"
|
||||
|
||||
#: src/symtab.c:225
|
||||
#: src/symtab.c:206
|
||||
#, c-format
|
||||
msgid "symbol %s is used, but is not defined as a token and has no rules"
|
||||
msgstr ""
|
||||
"simge %s kullanýldý, fakat bir andaç olarak tanýmlanmadý ve kurallarý yok"
|
||||
|
||||
#: src/symtab.c:244
|
||||
#: src/symtab.c:231
|
||||
#, c-format
|
||||
msgid "symbol `%s' used more than once as a literal string"
|
||||
msgstr "simge `%s' bir harfiyen uyumlu dizgi gibi birden fazla kullanýldý"
|
||||
|
||||
#: src/symtab.c:247
|
||||
#: src/symtab.c:234
|
||||
#, c-format
|
||||
msgid "symbol `%s' given more than one literal string"
|
||||
msgstr "simge `%s' bir harfiyen uyumlu dizgi gibi birden fazla verilmiþ"
|
||||
|
||||
#: src/symtab.c:281
|
||||
#: src/symtab.c:270
|
||||
#, c-format
|
||||
msgid "conflicting precedences for %s and %s"
|
||||
msgstr "%s ve %s için çeliþen öncelikler"
|
||||
|
||||
#: src/symtab.c:293
|
||||
#: src/symtab.c:282
|
||||
#, fuzzy, c-format
|
||||
msgid "conflicting associativities for %s (%s) and %s (%s)"
|
||||
msgstr "%s ve %s için çeliþen birleþmeli deðerler"
|
||||
|
||||
#: src/symtab.c:363
|
||||
#: src/symtab.c:367
|
||||
#, c-format
|
||||
msgid "tokens %s and %s both assigned number %d"
|
||||
msgstr "%s ve %s andaçlarýnýn her ikisi %d sayýsýna atandý"
|
||||
|
||||
#: src/symtab.c:568
|
||||
#: src/symtab.c:590
|
||||
#, c-format
|
||||
msgid "the start symbol %s is undefined"
|
||||
msgstr "baþlangýç simgesi %s tanýmlanmadý"
|
||||
|
||||
#: src/symtab.c:572
|
||||
#: src/symtab.c:594
|
||||
#, c-format
|
||||
msgid "the start symbol %s is a token"
|
||||
msgstr "baþlangýç simgesi %s bir andaçtýr"
|
||||
|
||||
#: lib/argmatch.c:161
|
||||
#: lib/argmatch.c:129
|
||||
#, fuzzy, c-format
|
||||
msgid "invalid argument %s for %s"
|
||||
msgstr "geçersiz deðer: %s%d"
|
||||
|
||||
#: lib/argmatch.c:162
|
||||
#: lib/argmatch.c:130
|
||||
#, c-format
|
||||
msgid "ambiguous argument %s for %s"
|
||||
msgstr ""
|
||||
|
||||
#: lib/argmatch.c:181
|
||||
#: lib/argmatch.c:149
|
||||
msgid "Valid arguments are:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:235
|
||||
#: lib/bitset_stats.c:178
|
||||
#, c-format
|
||||
msgid "%u bitset_allocs, %u freed (%.2f%%).\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:238
|
||||
#: lib/bitset_stats.c:181
|
||||
#, c-format
|
||||
msgid "%u bitset_sets, %u cached (%.2f%%)\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:241
|
||||
#: lib/bitset_stats.c:184
|
||||
#, c-format
|
||||
msgid "%u bitset_resets, %u cached (%.2f%%)\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:244
|
||||
#: lib/bitset_stats.c:187
|
||||
#, c-format
|
||||
msgid "%u bitset_tests, %u cached (%.2f%%)\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:248
|
||||
#: lib/bitset_stats.c:191
|
||||
#, c-format
|
||||
msgid "%u bitset_lists\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:250
|
||||
#: lib/bitset_stats.c:193
|
||||
msgid "count log histogram\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:253
|
||||
#: lib/bitset_stats.c:196
|
||||
msgid "size log histogram\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:256
|
||||
#: lib/bitset_stats.c:199
|
||||
msgid "density histogram\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:272
|
||||
#: lib/bitset_stats.c:213
|
||||
msgid ""
|
||||
"Bitset statistics:\n"
|
||||
"\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:275
|
||||
#: lib/bitset_stats.c:216
|
||||
#, c-format
|
||||
msgid "Accumulated runs = %u\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:320
|
||||
#: lib/bitset_stats.c:260 lib/bitset_stats.c:265
|
||||
msgid "Could not read stats file."
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:322
|
||||
#: lib/bitset_stats.c:262
|
||||
msgid "Bad stats file size.\n"
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:348
|
||||
#: lib/bitset_stats.c:288 lib/bitset_stats.c:290
|
||||
msgid "Could not write stats file."
|
||||
msgstr ""
|
||||
|
||||
#: lib/bitset_stats.c:352
|
||||
#: lib/bitset_stats.c:293
|
||||
msgid "Could not open stats file for writing."
|
||||
msgstr ""
|
||||
|
||||
#: lib/getopt.c:662
|
||||
#: lib/getopt.c:688 lib/getopt.c:700
|
||||
#, c-format
|
||||
msgid "%s: option `%s' is ambiguous\n"
|
||||
msgstr "%s: `%s' seçeneði belirsiz\n"
|
||||
|
||||
#: lib/getopt.c:687
|
||||
#: lib/getopt.c:733 lib/getopt.c:737
|
||||
#, c-format
|
||||
msgid "%s: option `--%s' doesn't allow an argument\n"
|
||||
msgstr "%s: `--%s' seçeneði argümansýz kullanýlýr\n"
|
||||
|
||||
#: lib/getopt.c:692
|
||||
#: lib/getopt.c:746 lib/getopt.c:751
|
||||
#, c-format
|
||||
msgid "%s: option `%c%s' doesn't allow an argument\n"
|
||||
msgstr "%s: seçenek `%c%s' argümansýz kullanýlýr\n"
|
||||
|
||||
#: lib/getopt.c:710 lib/getopt.c:883
|
||||
#: lib/getopt.c:787 lib/getopt.c:800 lib/getopt.c:1089 lib/getopt.c:1102
|
||||
#, c-format
|
||||
msgid "%s: option `%s' requires an argument\n"
|
||||
msgstr "%s: `%s' seçeneði bir argümanla kullanýlýr\n"
|
||||
|
||||
#: lib/getopt.c:739
|
||||
#: lib/getopt.c:838 lib/getopt.c:841
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `--%s'\n"
|
||||
msgstr "%s: `--%s' seçeneði bilinmiyor\n"
|
||||
|
||||
#: lib/getopt.c:743
|
||||
#: lib/getopt.c:849 lib/getopt.c:852
|
||||
#, c-format
|
||||
msgid "%s: unrecognized option `%c%s'\n"
|
||||
msgstr "%s: `%c%s' seçeneði bilinmiyor\n"
|
||||
|
||||
#: lib/getopt.c:769
|
||||
#: lib/getopt.c:899 lib/getopt.c:902
|
||||
#, c-format
|
||||
msgid "%s: illegal option -- %c\n"
|
||||
msgstr "%s: kuraldýþý seçenek -- %c\n"
|
||||
|
||||
#: lib/getopt.c:772
|
||||
#: lib/getopt.c:908 lib/getopt.c:911
|
||||
#, c-format
|
||||
msgid "%s: invalid option -- %c\n"
|
||||
msgstr "%s: geçersiz seçenek -- %c\n"
|
||||
|
||||
#: lib/getopt.c:802 lib/getopt.c:932
|
||||
#: lib/getopt.c:958 lib/getopt.c:969 lib/getopt.c:1155 lib/getopt.c:1168
|
||||
#, c-format
|
||||
msgid "%s: option requires an argument -- %c\n"
|
||||
msgstr "%s: seçenek bir argümanla kullanýlýr -- %c\n"
|
||||
|
||||
#: lib/getopt.c:849
|
||||
#: lib/getopt.c:1021 lib/getopt.c:1032
|
||||
#, c-format
|
||||
msgid "%s: option `-W %s' is ambiguous\n"
|
||||
msgstr "%s: `-W %s' seçeneði belirsiz\n"
|
||||
|
||||
#: lib/getopt.c:867
|
||||
#: lib/getopt.c:1056 lib/getopt.c:1068
|
||||
#, c-format
|
||||
msgid "%s: option `-W %s' doesn't allow an argument\n"
|
||||
msgstr "%s: `-W %s' seçeneði argümansýz kullanýlýr\n"
|
||||
|
||||
#: lib/obstack.c:496 lib/obstack.c:499 lib/xmalloc.c:66
|
||||
#: lib/obstack.c:487 lib/obstack.c:490 lib/xmalloc.c:63
|
||||
msgid "memory exhausted"
|
||||
msgstr "bellek tükendi"
|
||||
|
||||
#: lib/quotearg.c:274
|
||||
#: lib/quotearg.c:236
|
||||
msgid "`"
|
||||
msgstr "`"
|
||||
|
||||
#: lib/quotearg.c:275
|
||||
#: lib/quotearg.c:237
|
||||
msgid "'"
|
||||
msgstr "'"
|
||||
|
||||
#: lib/subpipe.c:187
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' could not be invoked"
|
||||
msgstr ""
|
||||
|
||||
#: lib/subpipe.c:189
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' not found"
|
||||
msgstr ""
|
||||
|
||||
#: lib/subpipe.c:191
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' failed"
|
||||
msgstr ""
|
||||
|
||||
#: lib/subpipe.c:192
|
||||
#, c-format
|
||||
msgid "subsidiary program `%s' failed (exit status %d)"
|
||||
msgstr ""
|
||||
|
||||
#: lib/timevar.c:476
|
||||
msgid ""
|
||||
"\n"
|
||||
@@ -724,14 +711,28 @@ msgstr ""
|
||||
msgid "time in %s: %ld.%06ld (%ld%%)\n"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "too many states (max %d)"
|
||||
#~ msgstr "çok fazla durum (en fazla %d)"
|
||||
|
||||
#~ msgid "reduce"
|
||||
#~ msgstr "indirgeme"
|
||||
|
||||
#~ msgid "shift"
|
||||
#~ msgstr "shift"
|
||||
|
||||
#~ msgid "an error"
|
||||
#~ msgstr "bir hata"
|
||||
#~ msgid "%d shift/reduce conflict"
|
||||
#~ msgid_plural "%d shift/reduce conflicts"
|
||||
#~ msgstr[0] "%d öteleme/indirgeme çeliþkisi"
|
||||
#~ msgstr[1] "%d öteleme/indirgeme çeliþkisi"
|
||||
|
||||
#~ msgid "and"
|
||||
#~ msgstr "ve"
|
||||
|
||||
#~ msgid "State %d contains "
|
||||
#~ msgstr "%d durumu içerir"
|
||||
|
||||
#~ msgid "conflicts: "
|
||||
#~ msgstr "çeliþkiler: "
|
||||
|
||||
#~ msgid "%s contains "
|
||||
#~ msgstr "%s içerir"
|
||||
@@ -739,12 +740,24 @@ msgstr ""
|
||||
#~ msgid "`%s' is no longer supported"
|
||||
#~ msgstr "`%s' artýk desteklenmeyecek"
|
||||
|
||||
#~ msgid "%s: no grammar file given\n"
|
||||
#~ msgstr "%s: gramer dosyasý verilmemiþ\n"
|
||||
|
||||
#~ msgid "%s: extra arguments ignored after `%s'\n"
|
||||
#~ msgstr "%s: '%s' den sonraki argümanlar yoksayýldý\n"
|
||||
|
||||
#~ msgid "too many gotos (max %d)"
|
||||
#~ msgstr "gotos çok fazla (en fazla %d)"
|
||||
|
||||
#~ msgid "unexpected `/' found and ignored"
|
||||
#~ msgstr "beklenmeyen `/' bulundu ve yoksayýldý"
|
||||
|
||||
#~ msgid "unterminated comment"
|
||||
#~ msgstr "sonlandýrýlmamýþ açýklama"
|
||||
|
||||
#~ msgid "unexpected end of file"
|
||||
#~ msgstr "beklenmeyen dosya sonu"
|
||||
|
||||
#~ msgid "unescaped newline in constant"
|
||||
#~ msgstr "sabit içinde kaçamayan yeni satýr"
|
||||
|
||||
@@ -812,12 +825,12 @@ msgstr ""
|
||||
#~ msgid " Skipping to next %c"
|
||||
#~ msgstr " Sonraki %c'ye atlanýyor"
|
||||
|
||||
#~ msgid "unterminated string at end of file"
|
||||
#~ msgstr "dosyanýn sonunda sonlandýrýlmamýþ dizge"
|
||||
|
||||
#~ msgid "unterminated string"
|
||||
#~ msgstr "sonlandýrýlmamýþ dizge"
|
||||
|
||||
#~ msgid "%s is invalid"
|
||||
#~ msgstr "%s geçersizdir"
|
||||
|
||||
#~ msgid "unterminated `%{' definition"
|
||||
#~ msgstr "`%{' tanýmlamasý sonlandýrýlmamýþ"
|
||||
|
||||
@@ -857,9 +870,6 @@ msgstr ""
|
||||
#~ msgid "no input grammar"
|
||||
#~ msgstr "girdi grameri yok"
|
||||
|
||||
#~ msgid "unknown character: %s"
|
||||
#~ msgstr "bilinmeyen karakter: %s"
|
||||
|
||||
#~ msgid "ill-formed rule: initial symbol not followed by colon"
|
||||
#~ msgstr "kötü-biçemli kural: baþlangýç simgesini takip eden \":\" yok"
|
||||
|
||||
@@ -869,14 +879,17 @@ msgstr ""
|
||||
#~ msgid "previous rule lacks an ending `;'"
|
||||
#~ msgstr "önceki kuralda bir bitiþ `;' eksik"
|
||||
|
||||
#~ msgid "two @prec's in a row"
|
||||
#~ msgstr "bir satýrda iki @prec"
|
||||
|
||||
#~ msgid "%%guard present but %%semantic_parser not specified"
|
||||
#~ msgstr "%%guard sunulmuþ fakat %%semantic_parser belirlenmemiþ"
|
||||
|
||||
#~ msgid "two actions at end of one rule"
|
||||
#~ msgstr "bir kuralýn sonunda iki eylem"
|
||||
|
||||
#~ msgid "invalid input: %s"
|
||||
#~ msgstr "geçersiz girdi: %s"
|
||||
#~ msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||
#~ msgstr "çok fazla simge var (andaçlar ve deðiþken simgeler); en fazla %d"
|
||||
|
||||
#~ msgid "maximum table size (%d) exceeded"
|
||||
#~ msgstr "en büyük tablo uzunluðu (%d) aþýldý"
|
||||
|
||||
@@ -5,4 +5,5 @@ bison
|
||||
*.log
|
||||
*.flc
|
||||
Makefile.in
|
||||
scan-gram.c
|
||||
scan-skel.c
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* Generate the nondeterministic finite state machine for bison,
|
||||
/* Generate the nondeterministic finite state machine for Bison.
|
||||
|
||||
Copyright (C) 1984, 1986, 1989, 2000, 2001, 2002 Free Software
|
||||
Foundation, Inc.
|
||||
@@ -25,28 +25,30 @@
|
||||
The entry point is generate_states. */
|
||||
|
||||
#include "system.h"
|
||||
#include "bitset.h"
|
||||
#include "quotearg.h"
|
||||
#include "symtab.h"
|
||||
#include "gram.h"
|
||||
#include "getargs.h"
|
||||
#include "reader.h"
|
||||
#include "gram.h"
|
||||
#include "state.h"
|
||||
#include "complain.h"
|
||||
#include "closure.h"
|
||||
|
||||
#include <bitset.h>
|
||||
#include <quotearg.h>
|
||||
|
||||
#include "LR0.h"
|
||||
#include "closure.h"
|
||||
#include "complain.h"
|
||||
#include "getargs.h"
|
||||
#include "gram.h"
|
||||
#include "gram.h"
|
||||
#include "lalr.h"
|
||||
#include "reader.h"
|
||||
#include "reduce.h"
|
||||
#include "state.h"
|
||||
#include "symtab.h"
|
||||
|
||||
typedef struct state_list_s
|
||||
typedef struct state_list
|
||||
{
|
||||
struct state_list_s *next;
|
||||
state_t *state;
|
||||
} state_list_t;
|
||||
struct state_list *next;
|
||||
state *state;
|
||||
} state_list;
|
||||
|
||||
static state_list_t *first_state = NULL;
|
||||
static state_list_t *last_state = NULL;
|
||||
static state_list *first_state = NULL;
|
||||
static state_list *last_state = NULL;
|
||||
|
||||
|
||||
/*------------------------------------------------------------------.
|
||||
@@ -54,24 +56,23 @@ static state_list_t *last_state = NULL;
|
||||
| later examination, in order to find its transitions. Return it. |
|
||||
`------------------------------------------------------------------*/
|
||||
|
||||
static state_t *
|
||||
state_list_append (symbol_number_t symbol,
|
||||
size_t core_size, item_number_t *core)
|
||||
static state *
|
||||
state_list_append (symbol_number sym, size_t core_size, item_number *core)
|
||||
{
|
||||
state_list_t *node = XMALLOC (state_list_t, 1);
|
||||
state_t *state = state_new (symbol, core_size, core);
|
||||
state_list *node = MALLOC (node, 1);
|
||||
state *s = state_new (sym, core_size, core);
|
||||
|
||||
if (trace_flag & trace_automaton)
|
||||
fprintf (stderr, "state_list_append (state = %d, symbol = %d (%s))\n",
|
||||
nstates, symbol, symbols[symbol]->tag);
|
||||
nstates, sym, symbols[sym]->tag);
|
||||
|
||||
/* If this is the endtoken, and this is not the initial state, then
|
||||
this is the final state. */
|
||||
if (symbol == 0 && first_state)
|
||||
final_state = state;
|
||||
if (sym == 0 && first_state)
|
||||
final_state = s;
|
||||
|
||||
node->next = NULL;
|
||||
node->state = state;
|
||||
node->state = s;
|
||||
|
||||
if (!first_state)
|
||||
first_state = node;
|
||||
@@ -79,33 +80,33 @@ state_list_append (symbol_number_t symbol,
|
||||
last_state->next = node;
|
||||
last_state = node;
|
||||
|
||||
return state;
|
||||
return s;
|
||||
}
|
||||
|
||||
static int nshifts;
|
||||
static symbol_number_t *shift_symbol = NULL;
|
||||
static symbol_number *shift_symbol = NULL;
|
||||
|
||||
static rule_t **redset = NULL;
|
||||
static state_t **shiftset = NULL;
|
||||
static rule **redset = NULL;
|
||||
static state **shiftset = NULL;
|
||||
|
||||
static item_number_t **kernel_base = NULL;
|
||||
static item_number **kernel_base = NULL;
|
||||
static int *kernel_size = NULL;
|
||||
static item_number_t *kernel_items = NULL;
|
||||
static item_number *kernel_items = NULL;
|
||||
|
||||
|
||||
static void
|
||||
allocate_itemsets (void)
|
||||
{
|
||||
symbol_number_t i;
|
||||
rule_number_t r;
|
||||
item_number_t *rhsp;
|
||||
symbol_number i;
|
||||
rule_number r;
|
||||
item_number *rhsp;
|
||||
|
||||
/* Count the number of occurrences of all the symbols in RITEMS.
|
||||
Note that useless productions (hence useless nonterminals) are
|
||||
browsed too, hence we need to allocate room for _all_ the
|
||||
symbols. */
|
||||
int count = 0;
|
||||
short *symbol_count = XCALLOC (short, nsyms + nuseless_nonterminals);
|
||||
short *symbol_count = CALLOC (symbol_count, nsyms + nuseless_nonterminals);
|
||||
|
||||
for (r = 0; r < nrules; ++r)
|
||||
for (rhsp = rules[r].rhs; *rhsp >= 0; ++rhsp)
|
||||
@@ -116,13 +117,13 @@ allocate_itemsets (void)
|
||||
|
||||
/* See comments before new_itemsets. All the vectors of items
|
||||
live inside KERNEL_ITEMS. The number of active items after
|
||||
some symbol cannot be more than the number of times that symbol
|
||||
appears as an item, which is SYMBOL_COUNT[SYMBOL].
|
||||
some symbol S cannot be more than the number of times that S
|
||||
appears as an item, which is SYMBOL_COUNT[S].
|
||||
We allocate that much space for each symbol. */
|
||||
|
||||
kernel_base = XCALLOC (item_number_t *, nsyms);
|
||||
CALLOC (kernel_base, nsyms);
|
||||
if (count)
|
||||
kernel_items = XCALLOC (item_number_t, count);
|
||||
CALLOC (kernel_items, count);
|
||||
|
||||
count = 0;
|
||||
for (i = 0; i < nsyms; i++)
|
||||
@@ -132,7 +133,7 @@ allocate_itemsets (void)
|
||||
}
|
||||
|
||||
free (symbol_count);
|
||||
kernel_size = XCALLOC (int, nsyms);
|
||||
CALLOC (kernel_size, nsyms);
|
||||
}
|
||||
|
||||
|
||||
@@ -141,10 +142,10 @@ allocate_storage (void)
|
||||
{
|
||||
allocate_itemsets ();
|
||||
|
||||
shiftset = XCALLOC (state_t *, nsyms);
|
||||
redset = XCALLOC (rule_t *, nrules);
|
||||
CALLOC (shiftset, nsyms);
|
||||
CALLOC (redset, nrules);
|
||||
state_hash_new ();
|
||||
shift_symbol = XCALLOC (symbol_number_t, nsyms);
|
||||
CALLOC (shift_symbol, nsyms);
|
||||
}
|
||||
|
||||
|
||||
@@ -164,7 +165,7 @@ free_storage (void)
|
||||
|
||||
|
||||
/*---------------------------------------------------------------.
|
||||
| Find which symbols can be shifted in STATE, and for each one |
|
||||
| Find which symbols can be shifted in S, and for each one |
|
||||
| record which items would be active after that shift. Uses the |
|
||||
| contents of itemset. |
|
||||
| |
|
||||
@@ -175,13 +176,12 @@ free_storage (void)
|
||||
`---------------------------------------------------------------*/
|
||||
|
||||
static void
|
||||
new_itemsets (state_t *state)
|
||||
new_itemsets (state *s)
|
||||
{
|
||||
int i;
|
||||
|
||||
if (trace_flag & trace_automaton)
|
||||
fprintf (stderr, "Entering new_itemsets, state = %d\n",
|
||||
state->number);
|
||||
fprintf (stderr, "Entering new_itemsets, state = %d\n", s->number);
|
||||
|
||||
for (i = 0; i < nsyms; i++)
|
||||
kernel_size[i] = 0;
|
||||
@@ -191,39 +191,38 @@ new_itemsets (state_t *state)
|
||||
for (i = 0; i < nritemset; ++i)
|
||||
if (ritem[itemset[i]] >= 0)
|
||||
{
|
||||
symbol_number_t symbol
|
||||
= item_number_as_symbol_number (ritem[itemset[i]]);
|
||||
if (!kernel_size[symbol])
|
||||
symbol_number sym = item_number_as_symbol_number (ritem[itemset[i]]);
|
||||
if (!kernel_size[sym])
|
||||
{
|
||||
shift_symbol[nshifts] = symbol;
|
||||
shift_symbol[nshifts] = sym;
|
||||
nshifts++;
|
||||
}
|
||||
|
||||
kernel_base[symbol][kernel_size[symbol]] = itemset[i] + 1;
|
||||
kernel_size[symbol]++;
|
||||
kernel_base[sym][kernel_size[sym]] = itemset[i] + 1;
|
||||
kernel_size[sym]++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*-----------------------------------------------------------------.
|
||||
| Find the state we would get to (from the current state) by |
|
||||
| shifting SYMBOL. Create a new state if no equivalent one exists |
|
||||
| already. Used by append_states. |
|
||||
`-----------------------------------------------------------------*/
|
||||
/*--------------------------------------------------------------.
|
||||
| Find the state we would get to (from the current state) by |
|
||||
| shifting SYM. Create a new state if no equivalent one exists |
|
||||
| already. Used by append_states. |
|
||||
`--------------------------------------------------------------*/
|
||||
|
||||
static state_t *
|
||||
get_state (symbol_number_t symbol, size_t core_size, item_number_t *core)
|
||||
static state *
|
||||
get_state (symbol_number sym, size_t core_size, item_number *core)
|
||||
{
|
||||
state_t *sp;
|
||||
state *sp;
|
||||
|
||||
if (trace_flag & trace_automaton)
|
||||
fprintf (stderr, "Entering get_state, symbol = %d (%s)\n",
|
||||
symbol, symbols[symbol]->tag);
|
||||
sym, symbols[sym]->tag);
|
||||
|
||||
sp = state_hash_lookup (core_size, core);
|
||||
if (!sp)
|
||||
sp = state_list_append (symbol, core_size, core);
|
||||
sp = state_list_append (sym, core_size, core);
|
||||
|
||||
if (trace_flag & trace_automaton)
|
||||
fprintf (stderr, "Exiting get_state => %d\n", sp->number);
|
||||
@@ -233,41 +232,34 @@ get_state (symbol_number_t symbol, size_t core_size, item_number_t *core)
|
||||
|
||||
/*---------------------------------------------------------------.
|
||||
| Use the information computed by new_itemsets to find the state |
|
||||
| numbers reached by each shift transition from STATE. |
|
||||
| numbers reached by each shift transition from S. |
|
||||
| |
|
||||
| SHIFTSET is set up as a vector of those states. |
|
||||
`---------------------------------------------------------------*/
|
||||
|
||||
static void
|
||||
append_states (state_t *state)
|
||||
append_states (state *s)
|
||||
{
|
||||
int i;
|
||||
int j;
|
||||
symbol_number_t symbol;
|
||||
|
||||
if (trace_flag & trace_automaton)
|
||||
fprintf (stderr, "Entering append_states, state = %d\n",
|
||||
state->number);
|
||||
fprintf (stderr, "Entering append_states, state = %d\n", s->number);
|
||||
|
||||
/* first sort shift_symbol into increasing order */
|
||||
/* First sort shift_symbol into increasing order. */
|
||||
|
||||
for (i = 1; i < nshifts; i++)
|
||||
{
|
||||
symbol = shift_symbol[i];
|
||||
j = i;
|
||||
while (j > 0 && shift_symbol[j - 1] > symbol)
|
||||
{
|
||||
shift_symbol[j] = shift_symbol[j - 1];
|
||||
j--;
|
||||
}
|
||||
shift_symbol[j] = symbol;
|
||||
symbol_number sym = shift_symbol[i];
|
||||
int j;
|
||||
for (j = i; 0 < j && sym < shift_symbol [j - 1]; j--)
|
||||
shift_symbol[j] = shift_symbol[j - 1];
|
||||
shift_symbol[j] = sym;
|
||||
}
|
||||
|
||||
for (i = 0; i < nshifts; i++)
|
||||
{
|
||||
symbol = shift_symbol[i];
|
||||
shiftset[i] = get_state (symbol,
|
||||
kernel_size[symbol], kernel_base[symbol]);
|
||||
symbol_number sym = shift_symbol[i];
|
||||
shiftset[i] = get_state (sym, kernel_size[sym], kernel_base[sym]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -279,7 +271,7 @@ append_states (state_t *state)
|
||||
`----------------------------------------------------------------*/
|
||||
|
||||
static void
|
||||
save_reductions (state_t *state)
|
||||
save_reductions (state *s)
|
||||
{
|
||||
int count = 0;
|
||||
int i;
|
||||
@@ -293,7 +285,7 @@ save_reductions (state_t *state)
|
||||
}
|
||||
|
||||
/* Make a reductions structure and copy the data into it. */
|
||||
state_reductions_set (state, count, redset);
|
||||
state_reductions_set (s, count, redset);
|
||||
}
|
||||
|
||||
|
||||
@@ -304,23 +296,23 @@ save_reductions (state_t *state)
|
||||
static void
|
||||
set_states (void)
|
||||
{
|
||||
states = XCALLOC (state_t *, nstates);
|
||||
CALLOC (states, nstates);
|
||||
|
||||
while (first_state)
|
||||
{
|
||||
state_list_t *this = first_state;
|
||||
state_list *this = first_state;
|
||||
|
||||
/* Pessimization, but simplification of the code: make sure all
|
||||
the states have valid transitions and reductions members,
|
||||
even if reduced to 0. It is too soon for errs, which are
|
||||
computed later, but set_conflicts. */
|
||||
state_t *state = this->state;
|
||||
if (!state->transitions)
|
||||
state_transitions_set (state, 0, 0);
|
||||
if (!state->reductions)
|
||||
state_reductions_set (state, 0, 0);
|
||||
state *s = this->state;
|
||||
if (!s->transitions)
|
||||
state_transitions_set (s, 0, 0);
|
||||
if (!s->reductions)
|
||||
state_reductions_set (s, 0, 0);
|
||||
|
||||
states[state->number] = state;
|
||||
states[s->number] = s;
|
||||
|
||||
first_state = this->next;
|
||||
free (this);
|
||||
@@ -338,7 +330,7 @@ set_states (void)
|
||||
void
|
||||
generate_states (void)
|
||||
{
|
||||
state_list_t *list = NULL;
|
||||
state_list *list = NULL;
|
||||
allocate_storage ();
|
||||
new_closure (nritems);
|
||||
|
||||
@@ -352,28 +344,28 @@ generate_states (void)
|
||||
|
||||
while (list)
|
||||
{
|
||||
state_t *state = list->state;
|
||||
state *s = list->state;
|
||||
if (trace_flag & trace_automaton)
|
||||
fprintf (stderr, "Processing state %d (reached by %s)\n",
|
||||
state->number,
|
||||
symbols[state->accessing_symbol]->tag);
|
||||
s->number,
|
||||
symbols[s->accessing_symbol]->tag);
|
||||
/* Set up ruleset and itemset for the transitions out of this
|
||||
state. ruleset gets a 1 bit for each rule that could reduce
|
||||
now. itemset gets a vector of all the items that could be
|
||||
accepted next. */
|
||||
closure (state->items, state->nitems);
|
||||
closure (s->items, s->nitems);
|
||||
/* Record the reductions allowed out of this state. */
|
||||
save_reductions (state);
|
||||
save_reductions (s);
|
||||
/* Find the itemsets of the states that shifts can reach. */
|
||||
new_itemsets (state);
|
||||
new_itemsets (s);
|
||||
/* Find or create the core structures for those states. */
|
||||
append_states (state);
|
||||
append_states (s);
|
||||
|
||||
/* Create the shifts structures for the shifts to those states,
|
||||
now that the state numbers transitioning to are known. */
|
||||
state_transitions_set (state, nshifts, shiftset);
|
||||
state_transitions_set (s, nshifts, shiftset);
|
||||
|
||||
/* States are queued when they are created; process them all.
|
||||
/* states are queued when they are created; process them all.
|
||||
*/
|
||||
list = list->next;
|
||||
}
|
||||
|
||||
@@ -23,6 +23,6 @@
|
||||
|
||||
# include "state.h"
|
||||
|
||||
void generate_states PARAMS ((void));
|
||||
void generate_states (void);
|
||||
|
||||
#endif /* !LR0_H_ */
|
||||
|
||||
+8
-5
@@ -15,8 +15,6 @@
|
||||
## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
## 02111-1307 USA
|
||||
|
||||
AUTOMAKE_OPTIONS = ../lib/ansi2knr
|
||||
|
||||
DEFS = @DEFS@ \
|
||||
-DPKGDATADIR=\"$(pkgdatadir)\" \
|
||||
-DLOCALEDIR=\"$(datadir)/locale\"
|
||||
@@ -28,9 +26,10 @@ AM_YFLAGS = "-dv"
|
||||
INCLUDES = -I$(top_builddir) \
|
||||
-I$(top_srcdir)/lib
|
||||
|
||||
LDADD = $(INTLLIBS) ../lib/libbison.a
|
||||
LDADD = ../lib/libbison.a $(LIBINTL)
|
||||
|
||||
bin_PROGRAMS = bison
|
||||
bin_SCRIPTS = yacc
|
||||
|
||||
bison_SOURCES = \
|
||||
LR0.c LR0.h \
|
||||
@@ -61,14 +60,18 @@ bison_SOURCES = \
|
||||
symtab.c symtab.h \
|
||||
system.h \
|
||||
tables.h tables.c \
|
||||
uniqstr.c uniqstr.h \
|
||||
vcg.c vcg.h \
|
||||
vcg_defaults.h
|
||||
|
||||
BUILT_SOURCES = scan-skel.c scan-gram.c parse-gram.c parse-gram.h
|
||||
|
||||
EXTRA_bison_SOURCES = vmsgetargs.c
|
||||
MOSTLYCLEANFILES = yacc
|
||||
|
||||
EXTRA_DIST = build.com bison.cld vmshlp.mar
|
||||
yacc:
|
||||
echo '#! /bin/sh' >$@
|
||||
echo 'exec $(bindir)/bison -y "$$@"' >>$@
|
||||
chmod a+x $@
|
||||
|
||||
echo:
|
||||
echo $(bison_SOURCES) $(noinst_HEADERS)
|
||||
|
||||
+3
-2
@@ -19,13 +19,14 @@
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
#include "system.h"
|
||||
|
||||
#include "assoc.h"
|
||||
|
||||
|
||||
const char *
|
||||
assoc_to_string (assoc_t assoc)
|
||||
assoc_to_string (assoc a)
|
||||
{
|
||||
switch (assoc)
|
||||
switch (a)
|
||||
{
|
||||
case undef_assoc:
|
||||
return "undefined associativity";
|
||||
|
||||
+2
-2
@@ -28,8 +28,8 @@ typedef enum
|
||||
right_assoc,
|
||||
left_assoc,
|
||||
non_assoc
|
||||
} assoc_t;
|
||||
} assoc;
|
||||
|
||||
const char *assoc_to_string PARAMS ((assoc_t assoc));
|
||||
char const *assoc_to_string (assoc);
|
||||
|
||||
#endif /* !ASSOC_H_ */
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
!
|
||||
! VMS BISON command definition file
|
||||
!
|
||||
DEFINE VERB BISON
|
||||
IMAGE GNU_BISON:[000000]BISON
|
||||
|
||||
PARAMETER P1,Label=BISON$INFILE,Prompt="File"
|
||||
value(required,type=$infile)
|
||||
QUALIFIER VERBOSE,Label=BISON$VERBOSE
|
||||
QUALIFIER DEFINES,Label=BISON$DEFINES
|
||||
QUALIFIER FIXED_OUTFILES,Label=BISON$FIXED_OUTFILES
|
||||
QUALIFIER NOPARSER,Label=BISON$NOPARSER
|
||||
QUALIFIER RAW,LABEL=BISON$RAW
|
||||
QUALIFIER TOKEN_TABLE,LABEL=BISON$TOKEN_TABLE
|
||||
qualifier nolines,Label=BISON$NOLINES
|
||||
qualifier debug,Label=BISON$DEBUG
|
||||
qualifier output,value(type=$outfile),Label=BISON$OUTPUT
|
||||
qualifier version,label=BISON$VERSION
|
||||
qualifier yacc,label=BISON$YACC
|
||||
qualifier file_prefix,value(type=$outfile),label=BISON$FILE_PREFIX
|
||||
qualifier name_prefix,value(type=$outfile),LABEL=BISON$NAME_PREFIX
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user