Repore error if the grammar has multiple %type lines for the same nonterminal.

FossilOrigin-Name: 721f33e7221c5fc907e9e293ac3242843f4fcfb7
This commit is contained in:
icculus 2010-02-17 20:31:32 +00:00
parent d0d97b09c6
commit 866bf1e6a2
3 changed files with 34 additions and 24 deletions

View File

@ -1,8 +1,8 @@
-----BEGIN PGP SIGNED MESSAGE----- -----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1 Hash: SHA1
C Fixed\s%\sformatting\sin\ssome\sprintf-style\sstrings. C Repore\serror\sif\sthe\sgrammar\shas\smultiple\s%type\slines\sfor\sthe\ssame\snonterminal.
D 2010-02-17T20:22:11 D 2010-02-17T20:31:32
F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
F Makefile.in c5827ead754ab32b9585487177c93bb00b9497b3 F Makefile.in c5827ead754ab32b9585487177c93bb00b9497b3
F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@ -765,7 +765,7 @@ F tool/diffdb.c 7524b1b5df217c20cd0431f6789851a4e0cb191b
F tool/fragck.tcl 5265a95126abcf6ab357f7efa544787e5963f439 F tool/fragck.tcl 5265a95126abcf6ab357f7efa544787e5963f439
F tool/genfkey.README cf68fddd4643bbe3ff8e31b8b6d8b0a1b85e20f4 F tool/genfkey.README cf68fddd4643bbe3ff8e31b8b6d8b0a1b85e20f4
F tool/genfkey.test 4196a8928b78f51d54ef58e99e99401ab2f0a7e5 F tool/genfkey.test 4196a8928b78f51d54ef58e99e99401ab2f0a7e5
F tool/lemon.c ec4def6e8b6335d8ac0efbaf3f4b4cdb2c2cb51d F tool/lemon.c 651d2564255b78e9eef5ed23156a879b5fefad33
F tool/lempar.c 01ca97f87610d1dac6d8cd96ab109ab1130e76dc F tool/lempar.c 01ca97f87610d1dac6d8cd96ab109ab1130e76dc
F tool/mkkeywordhash.c d2e6b4a5965e23afb80fbe74bb54648cd371f309 F tool/mkkeywordhash.c d2e6b4a5965e23afb80fbe74bb54648cd371f309
F tool/mkopts.tcl 66ac10d240cc6e86abd37dc908d50382f84ff46e F tool/mkopts.tcl 66ac10d240cc6e86abd37dc908d50382f84ff46e
@ -790,24 +790,24 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
P b3839f2aad00844c578d496c40481a39c018e4f6 P f96add898f096cfc1e435c625ce74093d790b3c7
R 8568b6894a9a02964b44ffe7906bbf0d R 7e899bd1bcc574c9843dd06c1121722a
U icculus U icculus
Z 88030a276c2ac0e676ff13eba4b7144a Z 8f255c204179bde4f6c556d2f0460a83
-----BEGIN PGP SIGNATURE----- -----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.14 (Darwin) Version: GnuPG/MacGPG2 v2.0.14 (Darwin)
iQIcBAEBAgAGBQJLfE/4AAoJEDDcKcGyC63VAb0P/ipsm+CwkLui/+x6twceYVUJ iQIcBAEBAgAGBQJLfFIoAAoJEDDcKcGyC63Vl/cP/0fu13mQtPcWgZ3eFXy1fHh6
NLhI1ujYZveXDrmu24pCzQ70Jw67I4wc5niUyIv4I2uMTx+vAwNlUd5p/v5K2Zcq Z0BV928SNvrUVTOxn6Nv8pE3vnN+aX6a1dN07R8G0W9OyvAltCorydnC4iUh72aO
ffT/1CQutGyY7fj4IlAqL0yMp1JLO5rN4iRBgMlrnlAA7Q2XkGe9NviPHoS4N2uS gvjW5Ls5yB2G2Zwofe6EmML5x5LbheRzpM0d5vsm/ic8kPqcQR2irLt5x+VTlEx5
OUbJFq2wxX+4XQs0e5ATkzBP85k+gljRoH5MXv7oYVSa7LHGgQVx4Zt/+SY0HBFK s71sr6Vu16j06DuxW1YnB3NQuncErYDbSMNPlCzVIt/5DWB/ELUmX4dBmzsQ5LbM
CKVTEUblNkaD+MgKIN4Rd57LwzMw2SMcezJhPd3uLws65L4JPs9sVp8cWoe5WXgV MXLnVHoWNbUSaZuslE1g9ImwFlwBFFotRIYStxN08Z/nRngK/LJqA5tO3FdS58ls
Yc2hYWMI7CheoJpLEv/I3SKdE0b5DwFGAFCstZAGJBOBdby8MCyS7zUmZc43oh2U II2h4GJtxxwIjqK+QHE4DMF94ShlpUmHuTkCQYiDK19wOcpYVva+Cpb2mJ1d057I
KNuequz8boXX3vdBmkbnpiETDrC9t2jKFfvN4bkB/k2fhhkBZ2kUY+i1MhrD9JZs TSPIxbmAY1QBsBULSqOhuRgPuZcUmaFjG6UsPavsQC+TMUCD0F+uww0ZFM7sbo+p
nChNxJgEhfUDT9bLfWwGky6oNl6Wkqxqb5/AQUi53eqqTAIQvc+wV01PnMfrpRvL /wiGhqGapJ+OjGlZGOlTj5mFA4Be5ERJf/Dcz9O/i81eQNA30aMLWWWnbwTO36QY
1Qrani0DtnpE1CujJUvy/dhha9Aza8FQJL1kWD2JdT2KAcLfsTc99abXgxkVZsfC xea6PmUdLsLUVyh89lwv2zGrqQsDyRBbapf8odCyEQVjaXfaqOygLQJbkxITk21w
yeB4WqSmwu5liScsxA+JE7Gj4jk+bBZKHle0XtoMp8mXZZjc82prLeeiwPYP8Mxp Dej4oxBT2BP0S9kQPvQlL+w2fe36OEtTG2GLQD2Yr10T6hEkhpJPcL+pSNO11uRF
U8RzdQiAb4F5zfp3XRO8JG3UwwSTvFjaQZwTH0TDy18rXAqCEqbfenGcySNSB17q uXxJ4qrPJ0Ob+pPzkHqn+2jMbrPzv95M7/I0TAXx5eocpgvY0fs4WMm8DAmZ73Et
+wUAhlfLAxDu/xK+m7Zv 3e3nSqkoZwLjXJg1OVF9
=R63k =g0CB
-----END PGP SIGNATURE----- -----END PGP SIGNATURE-----

View File

@ -1 +1 @@
f96add898f096cfc1e435c625ce74093d790b3c7 721f33e7221c5fc907e9e293ac3242843f4fcfb7

View File

@ -2299,10 +2299,20 @@ to follow the previous rule.");
psp->errorcnt++; psp->errorcnt++;
psp->state = RESYNC_AFTER_DECL_ERROR; psp->state = RESYNC_AFTER_DECL_ERROR;
}else{ }else{
struct symbol *sp = Symbol_new(x); struct symbol *sp = Symbol_find(x);
psp->declargslot = &sp->datatype; if((sp) && (sp->datatype)){
psp->insertLineMacro = 0; ErrorMsg(psp->filename,psp->tokenlineno,
psp->state = WAITING_FOR_DECL_ARG; "Symbol %%type \"%s\" already defined", x);
psp->errorcnt++;
psp->state = RESYNC_AFTER_DECL_ERROR;
}else{
if (!sp){
sp = Symbol_new(x);
}
psp->declargslot = &sp->datatype;
psp->insertLineMacro = 0;
psp->state = WAITING_FOR_DECL_ARG;
}
} }
break; break;
case WAITING_FOR_PRECEDENCE_SYMBOL: case WAITING_FOR_PRECEDENCE_SYMBOL: