# ITALIAN TRANSLATION OF BISON-RUNTIME
# Copyright (C) 2002, 2010 Free Software Foundation, Inc.
# This file is distributed under the same license as the bison package.
#
# Paolo Bonzini <bonzini@gnu.org>, 2002.
# Vincenzo Campanella <vinz65@gmail.com>, 2010.
#
msgid ""
msgstr ""
"Project-Id-Version: bison-runtime 2.4.3\n"
"Report-Msgid-Bugs-To: bug-bison@gnu.org\n"
"POT-Creation-Date: 2019-12-11 07:43+0100\n"
"PO-Revision-Date: 2010-10-25 07:35+0100\n"
"Last-Translator: Vincenzo Campanella <vinz65@gmail.com>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8-bit\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"
"First-Translator: Paolo Bonzini <bonzini@gnu.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#: data/skeletons/glr.c:884 data/skeletons/yacc.c:669
msgid "syntax error: cannot back up"
msgstr "errore di sintassi: impossibile tornare indietro"

#: data/skeletons/glr.c:1793
msgid "syntax is ambiguous"
msgstr "la sintassi è ambigua"

#: data/skeletons/glr.c:2079 data/skeletons/glr.c:2164
#: data/skeletons/glr.c:2208 data/skeletons/glr.c:2446
#: data/skeletons/lalr1.cc:1385 data/skeletons/lalr1.cc:1406
#: data/skeletons/yacc.c:1250 data/skeletons/yacc.c:1762
#: data/skeletons/yacc.c:1768
msgid "syntax error"
msgstr "errore di sintassi"

#: data/skeletons/glr.c:2165 data/skeletons/lalr1.cc:1386
#: data/skeletons/yacc.c:1251
#, c-format
msgid "syntax error, unexpected %s"
msgstr "errore di sintassi, %s non atteso"

#: data/skeletons/glr.c:2166 data/skeletons/lalr1.cc:1387
#: data/skeletons/yacc.c:1252
#, c-format
msgid "syntax error, unexpected %s, expecting %s"
msgstr "errore di sintassi, ricevuto %s anziché %s"

#: data/skeletons/glr.c:2167 data/skeletons/lalr1.cc:1388
#: data/skeletons/yacc.c:1253
#, c-format
msgid "syntax error, unexpected %s, expecting %s or %s"
msgstr "errore di sintassi, ricevuto %s anziché %s o %s"

#: data/skeletons/glr.c:2168 data/skeletons/lalr1.cc:1389
#: data/skeletons/yacc.c:1254
#, c-format
msgid "syntax error, unexpected %s, expecting %s or %s or %s"
msgstr "errore di sintassi, ricevuto %s anziché %s, %s o %s"

#: data/skeletons/glr.c:2169 data/skeletons/lalr1.cc:1390
#: data/skeletons/yacc.c:1255
#, c-format
msgid "syntax error, unexpected %s, expecting %s or %s or %s or %s"
msgstr "errore di sintassi, ricevuto %s anziché %s, %s, %s o %s"

#: data/skeletons/glr.c:2505 data/skeletons/yacc.c:1335
#: data/skeletons/yacc.c:1337 data/skeletons/yacc.c:1526
#: data/skeletons/yacc.c:1918
msgid "memory exhausted"
msgstr "memoria esaurita"
