# Swedish messages for bison.
# Copyright © 2001-2006, 2008, 2010, 2012 Free Software Foundation, Inc.
# This file is distributed under the same license as the bison package.
# Göran Uddeborg <goeran@uddeborg.se>, 2001-2006, 2008, 2010, 2012.
#
# $Revision: 1.31 $
#
msgid ""
msgstr ""
"Project-Id-Version: bison-runtime 2.6.90\n"
"Report-Msgid-Bugs-To: bug-bison@gnu.org\n"
"POT-Creation-Date: 2012-12-12 16:09+0100\n"
"PO-Revision-Date: 2012-12-09 21:10+0100\n"
"Last-Translator: Göran Uddeborg <goeran@uddeborg.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
"Language: sv\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#: data/glr.c:855 data/yacc.c:776
msgid "syntax error: cannot back up"
msgstr "syntaxfel: kan inte backa"

#: data/glr.c:1729
msgid "syntax is ambiguous"
msgstr "tvetydig syntax"

#: data/glr.c:2014 data/glr.c:2094 data/glr.c:2134 data/glr.c:2399
#: data/lalr1.cc:947 data/lalr1.cc:967 data/yacc.c:1351 data/yacc.c:1856
#: data/yacc.c:1862
msgid "syntax error"
msgstr "syntaxfel"

#: data/glr.c:2095 data/lalr1.cc:948 data/yacc.c:1352
#, c-format
msgid "syntax error, unexpected %s"
msgstr "syntaxfel, oväntad %s"

#: data/glr.c:2096 data/lalr1.cc:949 data/yacc.c:1353
#, c-format
msgid "syntax error, unexpected %s, expecting %s"
msgstr "syntaxfel, oväntad %s, förväntade %s"

#: data/glr.c:2097 data/lalr1.cc:950 data/yacc.c:1354
#, c-format
msgid "syntax error, unexpected %s, expecting %s or %s"
msgstr "syntaxfel, oväntad %s, förväntade %s eller %s"

#: data/glr.c:2098 data/lalr1.cc:951 data/yacc.c:1355
#, c-format
msgid "syntax error, unexpected %s, expecting %s or %s or %s"
msgstr "syntaxfel, oväntad %s, förväntade %s eller %s eller %s"

#: data/glr.c:2099 data/lalr1.cc:952 data/yacc.c:1356
#, c-format
msgid "syntax error, unexpected %s, expecting %s or %s or %s or %s"
msgstr "syntaxfel, oväntad %s, förväntade %s eller %s eller %s eller %s"

#: data/glr.c:2459 data/yacc.c:1436 data/yacc.c:1438 data/yacc.c:1616
#: data/yacc.c:2013
msgid "memory exhausted"
msgstr "minnet slut"
