summaryrefslogtreecommitdiff
path: root/vhdlparser/VhdlParser.cc
diff options
context:
space:
mode:
Diffstat (limited to 'vhdlparser/VhdlParser.cc')
-rw-r--r--vhdlparser/VhdlParser.cc8243
1 files changed, 5451 insertions, 2792 deletions
diff --git a/vhdlparser/VhdlParser.cc b/vhdlparser/VhdlParser.cc
index 16753ea..030313f 100644
--- a/vhdlparser/VhdlParser.cc
+++ b/vhdlparser/VhdlParser.cc
@@ -4,23 +4,63 @@
namespace vhdl {
namespace parser {
unsigned int jj_la1_0[] = {
-0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20000,0x0,0x90404000,0x20080000,0x40000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x90004000,0x400000,0x0,0x90404000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20080000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000,0x0,0x0,0x0,0x0,0x20000000,0x0,0x0,0x40000000,0x0,0x400000,0x400000,0x0,0x0,0x0,0x0,0x0,0x0,0x40020000,0x40020001,0x0,0x0,0x0,0x40000000,0xd0020000,0x0,0x0,0x800000,0x0,0x0,0x80004000,0x400000,0x0,0x0,0x80404000,0x0,0x0,0x0,0x0,0x8000,0x0,0x80000,0x0,0x0,0x0,0x0,0x0,0x0,0x10000,0x10000,0x0,0x10800,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10800,0x10000000,0x0,0x50000000,0x8000,0x80000000,0x0,0x80000000,0x80000000,0x4000000,0x8000000,0x0,0x0,0x20000,0x0,0x0,0x0,0x0,0x800,0x4000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80000000,0x0,0x0,0x0,0x0,0x80004000,0x0,0x80004000,0x0,0x0,0x0,0x0,0x0,0x0,0x90004000,0x400000,0x0,0x0,0x90404000,0x0,0x0,0x0,0x40000000,0x0,0x0,0x80004000,0x400000,0x0,0x80404000,0x0,0x0,0x0,0x0,0x0,0x0,0x20080000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10800,0x0,0x0,0x20000,0x0,0x0,0x8000,0x0,0x0,0x0,0x0,0x0,0x0,0x8000000,0x0,0x8000000,0x0,0x8000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80004000,0x400000,0x0,0x80404000,0x0,0x0,0x0,0x0,0x0,0x0,0x20080000,0x0,0x8000,0x0,0x0,0x41000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10800,0x2000,0x0,0x80004000,0x400000,0x0,0x80404000,0x0,0x400000,0x400000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x90c04000,0x20080000,0x0,0x0,0x80000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10800,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20000,0x0,0x90404000,0x80000,0x0,0x0,0x0,0x0,0x0,0x40000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80004000,0x10000000,0x400000,0x0,0x90404000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10000000,0x0,0x0,0x40000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10800,0x0,0x0,0x0,0x0,0x0,0x40000000,0x0,0x400000,0x400000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40020000,0x40020001,0x0,0x0,0x0,0x0,0x4000000,0x0,0x0,0x40000000,0xd0020000,0x0,0x0,0x800000,0x0,0x0,0x80000000,0x4000,0x400000,0x0,0x0,0x80404000,0x0,0x0,0x0,0x0,0x8000,0x0,0x80000,0x0,0x0,0x0,0x0,0x0,0x0,0x10000,0x10800,0x0,0x80000000,0x10000,0x0,0x10800,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x90c04000,0x80000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x41000,0x0,0x0,0x10800,0x10000000,0x0,0x50000000,0x8000,0x80000000,0x0,0x80000000,0x0,0x0,0x0,0x0,0x0,0x0,0x8000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80000000,0x80000000,0x4000000,0x8000000,0x0,0x0,0x20000,0x0,0x0,0x0,0x0,0x800,0x4000000,0x4000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80000000,0x0,0x0,0x0,0x0,0x80000000,0x4000,0x0,0x80004000,0x0,0x0,0x0,0x0,0x0,0x90004000,0x400000,0x0,0x0,0x90404000,0x0,0x0,0x0,0x0,0x40000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80004000,0x400000,0x0,0x80404000,0x0,0x0,0x0,0x0,0x0,0x0,0x21080000,0x0,0x0,0x80004000,0x400000,0x0,0x80404000,0x0,0x0,0x0,0x400000,0x404000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8000,0x0,0x0,0x0,0x1000000,0x0,0x0,0x0,0x1000000,0x0,0x1000000,0x21080000,0x80c04000,0x80404000,0x0,0x0,0x0,0x0,0x0,0x8000000,0x0,0x8000000,0x0,0x8000,0x4000000,0x8000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80004000,0x400000,0x0,0x80404000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x21080000,0x0,0x0,0x0,0x8000,0x0,0x0,0x41000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10800,0x2000,0x0,};
unsigned int jj_la1_1[] = {
-0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x125808,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10000,0x0,0x0,0x1000,0x104800,0x1008,0x20000,0x125808,0x10000,0x0,0x0,0x0,0x0,0x1000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10000,0x1000,0x1000000,0x10000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20000,0x20000,0x1000,0x0,0x4000000,0x1,0x0,0x400000,0x4000101,0x4000101,0x0,0x10,0x0,0x100,0x12024900,0x0,0x0,0x0,0x100,0x0,0x104800,0x8,0x20000,0x0,0x124808,0x0,0x10000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1000000,0x0,0x200000,0x0,0x0,0x0,0x81000,0x0,0x0,0x0,0x0,0x0,0x40,0x20,0x0,0x0,0x0,0x0,0x0,0x100,0x0,0x800,0x0,0x0,0x0,0x8a00000,0x0,0x0,0x1000,0x0,0x0,0x0,0x1000,0x0,0x0,0x8a00000,0x80000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x800,0x40000,0x400000,0x0,0x0,0x104800,0x20000,0x124800,0x10000,0x10000,0x0,0x0,0x10000,0x10000,0x104800,0x8,0x20000,0x0,0x124808,0x0,0x0,0x0,0x100,0x1,0x0,0x104800,0x0,0x20000,0x124800,0x0,0x0,0x0,0x1000000,0x0,0x0,0x20081200,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x400000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4000,0x0,0x104000,0x1000000,0x1104800,0x0,0x20000,0x1124800,0x4000,0x0,0x100000,0x100000,0x0,0x104000,0x20081200,0x0,0x0,0x0,0x0,0x800,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1000,0x0,0x0,0x0,0x0,0x1104800,0x0,0x20000,0x1124800,0x0,0x104000,0x104000,0x0,0x4000001,0x1,0x0,0x4000001,0x10000,0x10000,0x10000,0x0,0x0,0x125808,0x0,0x20,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x400000,0x20,0x0,0x200000,0x0,0x0,0x0,0x0,0x0,0x400000,0x0,0x200000,0x0,0x0,0x0,0x200000,0x0,0x20,0x104000,0x100000,0x100000,0x0,0x1000000,0x0,0x0,0x104000,};
+0x0,0x0,0x400000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x125808,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10000,0x0,0x0,0x1000,0x104800,0x0,0x1008,0x20000,0x125808,0x10000,0x0,0x0,0x0,0x0,0x1000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10000,0x1000,0x1000000,0x10000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000,0x400000,0x40000,0x400000,0x0,0x40000,0x400000,0x0,0x0,0x400000,0x20,0x0,0x200000,0x200000,0x0,0x0,0x20,0x0,0x0,0x0,0x0,0x0,0x20000,0x20000,0x1000,0x0,0x4000001,0x0,0x1,0x0,0x0,0x400000,0x4000101,0x4000101,0x0,0x10,0x0,0x0,0x8a00000,0x0,0x0,0x100,0x12024900,0x0,0x0,0x0,0x100,0x0,0x104000,0x800,0x8,0x20000,0x0,0x124808,0x0,0x10000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1000000,0x0,0x200000,0x200000,0x0,0x0,0x10000,0x10000,0x125808,0x0,0x20,0x40,0x0,0x81000,0x0,0x0,0x0,0x0,0x0,0x40,0x20,0x0,0x0,0x0,0x800,0x0,0x0,0x0,0x0,0x0,0x100,0x0,0x800,0x800,0x0,0x200000,0x0,0x10000,0x0,0x0,0x0,0x0,0x0,0x104000,0x100000,0x100000,0x0,0x1000000,0x0,0x0,0x0,0x104000,0x100000,0x100000,0x10000,0x0,0x0,0x0,0x0,0x0,0x8a00000,0x0,0x0,0x1000,0x0,0x0,0x0,0x1000,0x0,0x0,0x8a00000,0x8a00000,0x0,0x0,0x0,0x80000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x800,0x40000,0x400000,0x0,0x0,0x104000,0x800,0x20000,0x124800,0x10000,0x10000,0x0,0x0,0x104000,0x800,0x8,0x20000,0x0,0x124808,0x10000,0x0,0x0,0x0,0x100,0x1,0x0,0x0,0x0,0x10000,0x0,0x0,0x1104000,0x800,0x0,0x20000,0x1124800,0x0,0x0,0x0,0x1000000,0x0,0x0,0x20081200,0x0,0x1104000,0x800,0x0,0x20000,0x1124800,0x0,0x10000,0x10000,0x4000,0x104000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x400000,0x0,0x200000,0x200000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1000000,0x0,0x0,0x0,0x1000000,0x0,0x0,0x0,0x20081200,0x1124800,0x1124800,0x0,0x0,0x0,0x400000,0x0,0x0,0x0,0x0,0x0,0x0,0x8a00000,0x0,0x0,0x0,0x0,0x0,0x0,0x4000,0x0,0x104000,0x1000000,0x1104800,0x0,0x20000,0x1124800,0x4000,0x0,0x100000,0x100000,0x10000,0x0,0x0,0x104000,0x20081200,0x0,0x10000,0x0,0x0,0x0,0x0,0x800,0x0,0x10000,0x0,0x0,0x0,0x0,0x10000,0x0,0x0,0x0,0x0,0x1000,0x0,0x0,0x0,0x104000,};
unsigned int jj_la1_2[] = {
-0x0,0x100,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x110000,0x28000,0x0,0x20000000,0x0,0x0,0x0,0x200000,0x200000,0x0,0x0,0x0,0x4000,0x0,0x0,0x110000,0x0,0x0,0x110000,0x0,0x4000,0x4000,0x0,0x0,0x0,0x0,0x28000,0x0,0x0,0x0,0x0,0x400,0x0,0x4000,0x0,0x0,0x0,0x4000,0x0,0x4000,0x400000,0x8000,0x8000,0x8000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1000000,0x1000000,0x1000,0x1000,0x0,0x0,0x0,0x100,0x11000,0x0,0x0,0x0,0x0,0x0,0x110000,0x0,0x0,0x1000,0x111000,0x0,0x0,0x4000,0x0,0x400,0x8000,0x28000,0x0,0x0,0x0,0x0,0x0,0x0,0x209,0x209,0x0,0x23b,0x100,0x100,0x800,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x23b,0x0,0x0,0x0,0x400,0x0,0x0,0x0,0x0,0x800,0x0,0x0,0x0,0x1000,0x20,0x0,0x0,0x0,0x10,0x800,0x10000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1000000,0x1000,0x0,0x110000,0x0,0x110000,0x0,0x0,0x1000,0x0,0x0,0x0,0x110000,0x0,0x0,0x1000,0x111000,0x0,0x0,0x0,0x0,0x1000,0x0,0x110000,0x0,0x0,0x110000,0x0,0x8000,0x0,0x0,0x8000,0x0,0x20000024,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x23b,0x0,0x200000,0x1000,0x0,0x0,0x0,0x20,0xc0000000,0xc0000000,0x0,0x1000000,0x0,0x800000,0x0,0x800000,0x0,0x400,0x0,0x0,0x0,0x0,0x10000,0x0,0x110000,0x0,0x110000,0x0,0x0,0x110000,0x10000,0x0,0x100000,0x100000,0x0,0x110000,0x20000024,0x0,0x0,0x0,0x0,0x600000,0x80000,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x23b,0x0,0x0,0x110000,0x0,0x0,0x110000,0x0,0x110000,0x110000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x110000,0x28000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1000000,0x0,0x0,0x800,0x23b,0x0,0x0,0x0,0x0,0x1000000,0x0,0x800,0x0,0x0,0x0,0x800,0x0,0x0,0x110000,0x100000,0x100000,0x0,0x0,0x2000,0x0,0x138000,};
+0x0,0x0,0x0,0x100,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x221000,0x48000,0x0,0x0,0x0,0x0,0x0,0x0,0x40000000,0x0,0x0,0x0,0x400000,0x400000,0x0,0x0,0x0,0x4000,0x0,0x0,0x220000,0x1000,0x0,0x0,0x221000,0x0,0x4000,0x4000,0x0,0x0,0x0,0x0,0x48000,0x0,0x0,0x0,0x0,0x0,0x0,0x400,0x0,0x4000,0x0,0x0,0x0,0x4000,0x0,0x0,0x4000,0x800000,0x8000,0x8000,0x8000,0x0,0x0,0x2000000,0x0,0x2000000,0x0,0x0,0x2000000,0x0,0x0,0x2000000,0x0,0x0,0x800,0x800,0x23b,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2000000,0x2000000,0x1000,0x1000,0x0,0x0,0x0,0x0,0x800,0x0,0x0,0x100,0x21000,0x0,0x0,0x0,0x0,0x0,0x220000,0x0,0x0,0x0,0x1000,0x221000,0x0,0x0,0x4000,0x0,0x400,0x8000,0x48000,0x0,0x0,0x0,0x0,0x0,0x0,0x209,0x23b,0x0,0x0,0x209,0x0,0x23b,0x100,0x100,0x800,0x800,0x0,0x0,0x0,0x0,0x221000,0x48000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10000,0x400000,0x0,0x0,0x23b,0x0,0x0,0x0,0x400,0x0,0x0,0x0,0x0,0x0,0x0,0x2000,0x2000,0x0,0x0,0x0,0x220000,0x200000,0x200000,0x0,0x0,0x2000,0x0,0x0,0x220000,0x200000,0x200000,0x0,0x2000,0x2000,0x0,0x0,0x0,0x800,0x0,0x0,0x0,0x1000,0x20,0x0,0x0,0x0,0x10,0x800,0x800,0x0,0x0,0x0,0x20000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2000000,0x1000,0x0,0x220000,0x1000,0x0,0x221000,0x0,0x0,0x1000,0x0,0x220000,0x0,0x0,0x0,0x1000,0x221000,0x0,0x0,0x0,0x0,0x0,0x1000,0x2000,0x2000,0x0,0x0,0x2000,0x2000,0x220000,0x1000,0x0,0x0,0x221000,0x0,0x8000,0x0,0x0,0x8000,0x0,0x40000024,0x0,0x220000,0x1000,0x0,0x0,0x221000,0x0,0x0,0x0,0x10000,0x230000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x400000,0x1000,0x0,0x0,0x0,0x0,0x0,0x2000000,0x0,0x800,0x800,0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000024,0x221000,0x221000,0x80000000,0x80000000,0x0,0x2000000,0x0,0x1000000,0x0,0x1000000,0x0,0x400,0x800,0x0,0x0,0x0,0x0,0x0,0x0,0x20000,0x0,0x220000,0x0,0x220000,0x0,0x0,0x220000,0x20000,0x0,0x200000,0x200000,0x0,0x2000,0x2000,0x220000,0x40000024,0x0,0x0,0x0,0x0,0x0,0x0,0xc00002,0x100000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x23b,0x0,0x268000,};
unsigned int jj_la1_3[] = {
-0x0,0x0,0x0,0x0,0x40000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x188830,0x8000000,0x0,0x0,0x8,0x0,0x0,0x0,0x0,0x0,0x80000,0x0,0x0,0x80000,0x0,0x108830,0x80000,0x0,0x188830,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8000000,0x0,0x0,0x2000000,0x0,0x0,0x0,0x80000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8000000,0x0,0x0,0x2000000,0x0,0x0,0x80000,0x80000,0x0,0x0,0x80000,0x0,0x0,0x4000,0x80000,0x80000,0x0,0x2000,0x0,0x0,0x128810,0x0,0x0,0x0,0x0,0x0,0x108830,0x80000,0x0,0x0,0x188830,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2000000,0x30000000,0x30000000,0x0,0x30000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x30000000,0x0,0x0,0x0,0x0,0x108030,0x0,0x100030,0x100030,0x0,0x0,0x0,0x4000000,0x0,0x0,0x0,0x4000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2000000,0x0,0x0,0x108030,0x0,0x4000,0x0,0x0,0x188820,0x0,0x188820,0x0,0x0,0x0,0x0,0x0,0x0,0x108830,0x80000,0x0,0x0,0x188830,0x0,0x0,0x0,0x0,0x0,0x0,0x108820,0x80000,0x0,0x188820,0x0,0x0,0x0,0x0,0x0,0x0,0xd000001,0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x30000000,0x20000,0x0,0x0,0x0,0x0,0x0,0x0,0x3c0,0x3c0,0x0,0x4000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x108820,0x80000,0x0,0x188820,0x0,0x0,0x0,0x0,0x0,0x0,0xd000001,0x0,0x0,0x0,0x8000,0x0,0x0,0x0,0x0,0x8000000,0x20,0x0,0x0,0x0,0x40000,0x0,0x0,0x30010000,0x0,0x0,0x108820,0x80000,0x0,0x188820,0x0,0x80000,0x80000,0x0,0x80000,0x0,0x0,0x80000,0x0,0x0,0x0,0x2000000,0x0,0x188830,0x8000000,0x0,0x0,0x100010,0x0,0x0,0x0,0x0,0x0,0x4000,0x0,0x2000000,0x0,0x30000000,0x8000000,0x0,0x0,0x0,0x4000,0x0,0x0,0x0,0x0,0x0,0x0,0x2000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x711060,0x20000000,0x0,0x0,0x0,0x10000,0x0,0x0,0x0,0x10,0x0,0x0,0x0,0x0,0x0,0x100000,0x0,0x0,0x100000,0x0,0x611060,0x0,0x100000,0x0,0x711060,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20000000,0x0,0x8000000,0x0,0x0,0x0,0x8000000,0x0,0x0,0x100000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8000,0x0,0x8000,0x0,0x0,0x8000,0x0,0x0,0x8000,0x0,0x8000000,0x0,0x0,0xc0000000,0x8000000,0x0,0x8000000,0x8000000,0x8000000,0x0,0x0,0x100000,0x100000,0x0,0x0,0x100000,0x0,0x0,0x0,0x0,0x8000,0x100000,0x100000,0x0,0x4000,0x0,0x0,0x400000,0x400000,0x0,0x0,0x251020,0x0,0x0,0x0,0x0,0x0,0x11020,0x600040,0x100000,0x0,0x0,0x711060,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8000000,0xc0000000,0xc0020000,0x0,0x200020,0xc0000000,0x0,0xc0000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x711060,0x20000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10000,0x40000,0x0,0x10000,0x0,0xc0000000,0x0,0x0,0x0,0x0,0x210060,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x410000,0x200060,0x200060,0x0,0x0,0x0,0x10000000,0x0,0x0,0x0,0x10000000,0x0,0x0,0x0,0x400000,0x0,0x0,0x400000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8000000,0x0,0x0,0x210060,0x0,0x8000,0x0,0x0,0x211040,0x500000,0x0,0x711040,0x0,0x0,0x0,0x0,0x11000,0x600060,0x100000,0x0,0x0,0x711060,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x211040,0x100000,0x0,0x311040,0x0,0x0,0x0,0x0,0x0,0x0,0x34000002,0x0,0x0,0x211040,0x100000,0x0,0x311040,0x0,0x0,0x0,0x100000,0x100000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0x0,0x2,0x0,0x8000000,0x0,0x40000,0x0,0x0,0x0,0x20000000,0x0,0x0,0x0,0x8000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x34000002,0x311040,0x311040,0x781,0x781,0x0,0x8000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x0,0x0,0x211040,0x100000,0x0,0x311040,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x34000002,0x0,0x0,0x0,0x0,0x0,0x10000,0x0,0x0,0x0,0x0,0x0,0x20000000,0x40,0x0,0x0,0x0,0x0,0x80000,0x0,0x0,0xc0020000,0x0,0x0,};
unsigned int jj_la1_4[] = {
-0x0,0x0,0x0,0x20000,0x30,0x40,0x100,0x0,0x0,0x0,0x0,0x40000,0x0,0x40001,0x0,0x0,0x0,0x0,0x40,0x0,0x40000,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x1,0x0,0x0,0x40001,0x8000000,0x0,0x0,0x0,0x0,0x10000000,0x200,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x20000,0x40,0x0,0x0,0x40000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x40000,0x40000,0x40000,0x40000,0x0,0x40,0x0,0x0,0x0,0x0,0x0,0x4,0x140001,0x0,0x0,0x0,0x40000,0x1,0x0,0x0,0x40000,0x40,0x0,0x40,0x0,0x0,0x0,0x0,0x40,0x140031,0x0,0x1,0x0,0x40000,0x0,0x200,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x40000008,0x40000,0x40,0x1,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000,0x0,0x0,0x0,0x0,0x0,0x0,0x40000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000,0x1,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x40001,0x1,0x40000,0x40000,0x7e0fc00,0x7e0fc00,0x0,0x0,0x0,0x140031,0x0,0x0,0x0,0x40,0x40,0x40000,0x0,0x0,0x0,0x30,0x0,0x40001,0x0,0x80,0x0,0x40,0x40000,0x40,0x40000,0x0,0x30,0x0,0x0,0x0,0x200,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x1,0x0,0x40001,0x40000,0x0,0x40001,0x0,0x1,0x0,0x40,0x40,0x40001,0x0,0x80,0x0,0x0,0x0,0x0,0x40,0x140031,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40001,0x0,0x0,0x0,0xa0000000,0x20000000,0x0,0x1,0x40001,0x0,0x0,0x0,0x0,0x140031,0x0,0x8000000,0x40000,0x8000000,0x0,0x8000000,0x0,0x240,0x240,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x20000,0x0,0x0,0x1,0x0,};
+0x0,0x0,0x0,0x0,0x0,0x100000,0xc1,0x100,0x400,0x0,0x0,0x0,0x0,0x200000,0x0,0x200004,0x4,0x4,0x4,0x200004,0x100,0x0,0x0,0x0,0x0,0x100,0x0,0x200000,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x4,0x0,0x0,0x200004,0x40000000,0x0,0x40000000,0x0,0x0,0x0,0x0,0x80000000,0x800,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x200004,0x0,0x0,0x0,0x0,0x40000000,0x0,0x0,0x0,0x200004,0x0,0x0,0x0,0x0,0x0,0xa000c4,0x0,0x0,0x0,0x0,0x0,0x0,0x200000,0x0,0x0,0x0,0x200,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x4,0x0,0x0,0x100000,0x100,0x0,0x0,0x200000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x100,0x200000,0x200000,0x200000,0x200000,0x0,0x100,0x0,0x0,0x0,0x0,0xa000c4,0x0,0x0,0x0,0x10,0xa00004,0x0,0x0,0x0,0x0,0x200000,0x4,0x0,0x0,0x0,0x200004,0x0,0x0,0x0,0x0,0x200000,0x100,0x0,0x100,0x0,0x0,0x0,0x0,0x200004,0x100004,0x0,0x200000,0x100,0xa000c4,0x0,0x4,0x200000,0x200000,0x0,0x0,0x0,0x0,0x200,0x0,0x0,0x4,0x0,0x0,0x200,0x0,0x0,0x0,0x100000,0x0,0x0,0x4,0x300000,0x0,0x0,0x0,0x0,0x0,0x4,0x200004,0x0,0x0,0x0,0x0,0x200,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0x0,0x200004,0x0,0x0,0x0,0x20,0x200000,0x100,0x4,0x2,0x100,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x200000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x200000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x200000,0x0,0x0,0x0,0x0,0x4,0x0,0x0,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x200004,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x200000,0x200000,0x100,0x100,0x100,0x0,0x3f07e000,0x0,0x3f07e000,0x0,0x0,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x100,0x0,0x40000000,0x200000,0x40000000,0x0,0x40000000,0x0,0x0,0x900,0x900,0x100,0x100,0x200000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x200004,0x0,0x0,0x0,0x0,0xc0,0x0,0x200004,0x0,0x200,0x0,0x100,0x200000,0x0,0x0,0x200,0x100,0x200000,0x0,0xc0,0x0,0x0,0x0,0x800,0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x0,0x4,0x0,0x200004,0x0,0x0,0x4,0x0,0x200004,0x0,0x4,0x0,0x0,0x100,0x100,0x200004,0x0,0x0,0x200,0x0,0x0,0x0,0x0,0x100,0xa000c4,0x0,0x0,};
unsigned int jj_la1_5[] = {
-0x1420,0x0,0x180,0x0,0x0,0x0,0x0,0x2,0x3c0,0x0,0x0,0x1c0,0x0,0x200001c0,0x0,0x0,0x0,0x180,0x0,0x180,0x1c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x180,0x200001c0,0x0,0x180,0x0,0x180,0x180,0x0,0x0,0x0,0x0,0x0,0x0,0x180,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20000000,0x0,0x0,0x1c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1c0,0x0,0x0,0x0,0x20000000,0x20000000,0x2,0x0,0x0,0x0,0x3c0,0x1c0,0x1c0,0x3c0,0x380,0x0,0x180,0x180,0x0,0x0,0x0,0x0,0x1017e0,0x0,0x0,0x0,0x1e0,0x0,0x180,0x0,0x3c0,0x0,0x180,0x0,0x180,0x0,0x0,0x180,0x0,0x1017e0,0x0,0x0,0x180,0x1c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x180,0x0,0x180,0x0,0x0,0x0,0x1c0,0x0,0x0,0x0,0x180,0x180,0x0,0x180,0x1420,0x0,0x0,0x0,0x0,0x1c0,0x0,0x0,0x0,0x0,0x0,0x0,0x1c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x180,0x1c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x180,0x0,0x0,0x0,0x0,0x180,0x1c0,0x0,0x1c0,0x1c0,0x0,0x0,0x180,0x0,0x180,0x1017e0,0x0,0x0,0x0,0x0,0x0,0x1c0,0x180,0x0,0x0,0x0,0x0,0x1c0,0x0,0x0,0x0,0x0,0x1c0,0x0,0x1c0,0x0,0x0,0x0,0x1c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1c0,0x1c0,0x240,0x1c0,0x0,0x0,0x0,0x0,0x0,0x1c0,0x0,0x0,0x180,0x0,0x0,0x0,0x0,0x1017e0,0x0,0x180,0x0,0x0,0x0,0x0,0x180,0x0,0x0,0x0,0x0,0x0,0x180,0x0,0x0,0x0,0x0,0x0,0x180,0x0,0x200001c0,0x0,0x0,0x0,0x1,0x0,0x1,0x0,0x1c0,0x0,0x0,0x0,0x0,0x1017e0,0x0,0x0,0x1c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x180,0x0,0x0,0x0,0x180,};
+0x1,0xa100,0x0,0x0,0xc00,0x0,0x0,0x0,0x0,0x10,0x1e00,0x0,0x0,0xe00,0x0,0xe00,0x0,0x0,0x0,0xe00,0x0,0x0,0x0,0x0,0xc00,0x0,0xc00,0xe00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc00,0xe00,0x0,0x0,0x0,0xc00,0xc00,0x0,0xc00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc00,0x0,0x0,0x0,0x0,0x0,0xe00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe00,0x0,0x0,0x0,0x0,0x0,0x80bf00,0x0,0x0,0x0,0x0,0x0,0x0,0xe00,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0xc00,0x0,0x0,0x0,0x0,0xe00,0x0,0x0,0xc00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe00,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0x0,0x0,0x0,0x1e00,0xe00,0xe00,0x1e00,0x1c00,0x0,0xc00,0xc00,0x0,0x0,0x80bf00,0xd,0x0,0x0,0x0,0x80bf00,0x0,0x0,0x0,0x0,0xf00,0x0,0x0,0x0,0x0,0xe00,0x0,0x0,0xc00,0x0,0x1e00,0x0,0xc00,0x0,0xc00,0x0,0x0,0xc00,0xe00,0x0,0x0,0xe00,0x0,0x80bf00,0x0,0x0,0xe00,0xe00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc00,0x0,0x0,0x0,0xe00,0x0,0x0,0x0,0x0,0x0,0x0,0xe00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x200,0xc00,0x0,0xc00,0x0,0x0,0xe00,0xc00,0xc00,0x0,0x2,0xe00,0x0,0x0,0x10,0x0,0xc00,0xc00,0x0,0xc00,0xa100,0x0,0x0,0x0,0x0,0xe00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc00,0xe00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc00,0x0,0x0,0x0,0x0,0xc00,0xe00,0xc00,0x0,0x0,0x0,0x0,0x0,0xc00,0x0,0x0,0x0,0x0,0x0,0xc00,0xe00,0xe00,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0xc00,0x0,0xc00,0xc00,0xc00,0x0,0xc00,0x0,0x0,0x0,0x0,0x0,0x0,0xe00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe00,0xc00,0xc00,0x0,0x0,0xc00,0xc00,0x0,0x0,0xc00,0xc00,0xe00,0x0,0x0,0x0,0x0,0x0,0x0,0xe00,0x0,0x0,0x0,0x0,0xe00,0x0,0x0,0x0,0x0,0xe00,0x0,0x0,0x0,0xe00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe00,0x10,0x0,0x0,0x1200,0xe00,0x0,0x0,0x0,0x0,0x0,0x0,0xe00,0x0,0x0,0x0,0xc00,0x0,0x0,0x0,0x0,0x80bf00,0x0,0xc00,};
+ unsigned int jj_la1_6[] = {
+0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
/** Constructor with user supplied TokenManager. */
+QCString VhdlParser::absolute_pathname() {QCString s,s1;
+ if (jj_2_1(2147483647)) {
+ if (!hasError) {
+ jj_consume_token(DOT_T);
+ }
+ if (!hasError) {
+ s = pathname_element_list();
+ }
+ if (!hasError) {
+ s1 = identifier();
+ }
+ if (!hasError) {
+return "."+s+s1;
+ }
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case DOT_T:{
+ if (!hasError) {
+ jj_consume_token(DOT_T);
+ }
+ if (!hasError) {
+ s = identifier();
+ }
+ if (!hasError) {
+return "."+s;
+ }
+ break;
+ }
+ default:
+ jj_la1[0] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ }
+ }
+assert(false);
+}
+
+
QCString VhdlParser::abstract_literal() {Token *tok;
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case DECIMAL_LITERAL:{
@@ -51,7 +91,7 @@ return QCString(tok->image);
break;
}
default:
- jj_la1[0] = jj_gen;
+ jj_la1[1] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -71,7 +111,19 @@ assert(false);
}
-QCString VhdlParser::actual_designator() {QCString str;Token *t=0;
+QCString VhdlParser::access_incomplete_type_definition() {Token *tok=0;QCString str,str1;
+ if (!hasError) {
+ tok = jj_consume_token(ACCESS_T);
+ }
+ if (!hasError) {
+ str1 = incomplete_subtype_indication();
+ }
+str=tok->image; return str+" "+str1;
+assert(false);
+}
+
+
+QCString VhdlParser::actual_designator() {QCString str,s;Token *t=0;
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case OPEN_T:{
if (!hasError) {
@@ -83,12 +135,35 @@ return QCString(t->image);
break;
}
default:
- jj_la1[1] = jj_gen;
- if (jj_2_1(2147483647)) {
+ jj_la1[3] = jj_gen;
+ if (jj_2_2(2147483647)) {
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case INERTIAL_T:{
+ if (!hasError) {
+ t = jj_consume_token(INERTIAL_T);
+ }
+ if (!hasError) {
+s=QCString(t->image)+" ";
+ }
+ break;
+ }
+ default:
+ jj_la1[2] = jj_gen;
+ ;
+ }
+ }
if (!hasError) {
str = expression();
}
if (!hasError) {
+return s+str;
+ }
+ } else if (jj_2_3(5)) {
+ if (!hasError) {
+ str = subtype_indication();
+ }
+ if (!hasError) {
return str;
}
} else {
@@ -104,7 +179,7 @@ return str;
break;
}
default:
- jj_la1[2] = jj_gen;
+ jj_la1[4] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -124,7 +199,7 @@ assert(false);
QCString VhdlParser::actual_part() {QCString s,s1;
- if (jj_2_2(2147483647)) {
+ if (jj_2_4(2147483647)) {
if (!hasError) {
s = actual_designator();
}
@@ -143,8 +218,8 @@ return "<>";
break;
}
default:
- jj_la1[3] = jj_gen;
- if (jj_2_3(2147483647)) {
+ jj_la1[5] = jj_gen;
+ if (jj_2_5(2147483647)) {
if (!hasError) {
s = name();
}
@@ -200,7 +275,7 @@ return "&";
break;
}
default:
- jj_la1[4] = jj_gen;
+ jj_la1[6] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -223,7 +298,7 @@ QCString VhdlParser::aggregate() {QCString s,s1,s2;
break;
}
default:
- jj_la1[5] = jj_gen;
+ jj_la1[7] = jj_gen;
goto end_label_1;
}
if (!hasError) {
@@ -271,7 +346,7 @@ s+=s1;
break;
}
default:
- jj_la1[6] = jj_gen;
+ jj_la1[8] = jj_gen;
;
}
}
@@ -299,14 +374,14 @@ s+=s1;
break;
}
default:
- jj_la1[7] = jj_gen;
+ jj_la1[9] = jj_gen;
;
}
}
if (!hasError) {
jj_consume_token(SEMI_T);
}
-outlineParser()->addVhdlType(s2.data(),outlineParser()->getLine(ALIAS_T),Entry::VARIABLE_SEC,VhdlDocGen::ALIAS,0,s.data(),Public);
+outlineParser()->addVhdlType(s2.data(),outlineParser()->getLine(ALIAS_T),Entry::VARIABLE_SEC,VhdlDocGen::ALIAS,0,s.data(),Protection::Public);
return s2+" "+s+";";
assert(false);
@@ -344,7 +419,7 @@ return s;
break;
}
default:
- jj_la1[8] = jj_gen;
+ jj_la1[10] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -353,7 +428,7 @@ assert(false);
void VhdlParser::allocator() {
- if (jj_2_4(3)) {
+ if (jj_2_6(3)) {
if (!hasError) {
jj_consume_token(NEW_T);
}
@@ -372,7 +447,7 @@ void VhdlParser::allocator() {
break;
}
default:
- jj_la1[9] = jj_gen;
+ jj_la1[11] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -401,7 +476,7 @@ QCString t=s1+"::"+s;
m_sharedState->genLabels.resize(0);
outlineParser()->pushLabel(m_sharedState->genLabels,s1);
m_sharedState->lastCompound=m_sharedState->current;
- outlineParser()->addVhdlType(t.data(),outlineParser()->getLine(ARCHITECTURE_T),Entry::CLASS_SEC,VhdlDocGen::ARCHITECTURE,0,0,Private);
+ outlineParser()->addVhdlType(t.data(),outlineParser()->getLine(ARCHITECTURE_T),Entry::CLASS_SEC,VhdlDocGen::ARCHITECTURE,0,0,Protection::Private);
}
if (!hasError) {
try {
@@ -430,7 +505,7 @@ outlineParser()->error_skipto(BEGIN_T);
break;
}
default:
- jj_la1[10] = jj_gen;
+ jj_la1[12] = jj_gen;
;
}
}
@@ -446,7 +521,7 @@ outlineParser()->error_skipto(BEGIN_T);
break;
}
default:
- jj_la1[11] = jj_gen;
+ jj_la1[13] = jj_gen;
;
}
}
@@ -457,6 +532,19 @@ m_sharedState->lastEntity=0;m_sharedState->lastCompound=0; m_sharedState->genLab
}
+void VhdlParser::anonymous_type_indication() {
+ if (!hasError) {
+ jj_consume_token(TYPE_T);
+ }
+ if (!hasError) {
+ jj_consume_token(IS_T);
+ }
+ if (!hasError) {
+ incomplete_type_definition();
+ }
+}
+
+
void VhdlParser::architecture_declarative_part() {
if (!hasError) {
while (!hasError) {
@@ -471,6 +559,7 @@ void VhdlParser::architecture_declarative_part() {
case FUNCTION_T:
case GROUP_T:
case IMPURE_T:
+ case PACKAGE_T:
case PROCEDURE_T:
case PURE_T:
case SIGNAL_T:
@@ -478,12 +567,13 @@ void VhdlParser::architecture_declarative_part() {
case SUBTYPE_T:
case TYPE_T:
case USE_T:
- case VARIABLE_T:{
+ case VARIABLE_T:
+ case VIEW_T:{
;
break;
}
default:
- jj_la1[12] = jj_gen;
+ jj_la1[14] = jj_gen;
goto end_label_2;
}
if (!hasError) {
@@ -500,7 +590,6 @@ void VhdlParser::architecture_statement_part() {
while (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case ASSERT_T:
- case CASE_T:
case POSTPONED_T:
case PROCESS_T:
case WITH_T:
@@ -514,7 +603,7 @@ void VhdlParser::architecture_statement_part() {
break;
}
default:
- jj_la1[13] = jj_gen;
+ jj_la1[15] = jj_gen;
goto end_label_3;
}
if (!hasError) {
@@ -526,8 +615,180 @@ void VhdlParser::architecture_statement_part() {
}
+void VhdlParser::array_constraint() {
+ if (jj_2_7(2)) {
+ if (!hasError) {
+ jj_consume_token(LPAREN_T);
+ }
+ if (!hasError) {
+ jj_consume_token(OPEN_T);
+ }
+ if (!hasError) {
+ jj_consume_token(RPAREN_T);
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case LPAREN_T:{
+ if (!hasError) {
+ array_element_constraint();
+ }
+ break;
+ }
+ default:
+ jj_la1[16] = jj_gen;
+ ;
+ }
+ }
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case LPAREN_T:{
+ if (!hasError) {
+ index_constraint();
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case LPAREN_T:{
+ if (!hasError) {
+ array_element_constraint();
+ }
+ break;
+ }
+ default:
+ jj_la1[17] = jj_gen;
+ ;
+ }
+ }
+ break;
+ }
+ default:
+ jj_la1[18] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ }
+ }
+}
+
+
+void VhdlParser::array_element_constraint() {
+ if (!hasError) {
+ element_constraint();
+ }
+}
+
+
+void VhdlParser::array_element_resolution() {
+ if (!hasError) {
+ resolution_indication();
+ }
+}
+
+
+void VhdlParser::array_incomplete_type_definition() {
+ if (!hasError) {
+ jj_consume_token(ARRAY_T);
+ }
+ if (!hasError) {
+ jj_consume_token(LPAREN_T);
+ }
+ if (!hasError) {
+ array_index_incomplete_type_list();
+ }
+ if (!hasError) {
+ jj_consume_token(RPAREN_T);
+ }
+ if (!hasError) {
+ jj_consume_token(OF_T);
+ }
+ if (!hasError) {
+ incomplete_subtype_indication();
+ }
+}
+
+
+void VhdlParser::array_index_incomplete_type() {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case LPAREN_T:{
+ if (!hasError) {
+ index_constraint();
+ }
+ break;
+ }
+ case SLSL_T:
+ case STRINGLITERAL:
+ case BASIC_IDENTIFIER:
+ case EXTENDED_CHARACTER:{
+ if (!hasError) {
+ index_subtype_definition();
+ }
+ break;
+ }
+ case TYPE_T:{
+ if (!hasError) {
+ anonymous_type_indication();
+ }
+ break;
+ }
+ default:
+ jj_la1[19] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ }
+}
+
+
+void VhdlParser::array_index_incomplete_type_list() {
+ if (!hasError) {
+ array_index_incomplete_type();
+ }
+ if (!hasError) {
+ while (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case COMMA_T:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[20] = jj_gen;
+ goto end_label_4;
+ }
+ if (!hasError) {
+ jj_consume_token(COMMA_T);
+ }
+ if (!hasError) {
+ array_index_incomplete_type();
+ }
+ }
+ end_label_4: ;
+ }
+}
+
+
+QCString VhdlParser::array_mode_view_indication() {QCString s;
+ if (!hasError) {
+ jj_consume_token(VIEW_T);
+ }
+ if (!hasError) {
+ jj_consume_token(LPAREN_T);
+ }
+ if (!hasError) {
+ identifier();
+ }
+ if (!hasError) {
+ jj_consume_token(RPAREN_T);
+ }
+ if (!hasError) {
+ jj_consume_token(OF_T);
+ }
+ if (!hasError) {
+ subtype_indication();
+ }
+return "";
+assert(false);
+}
+
+
QCString VhdlParser::array_type_definition() {QCString s;
- if (jj_2_5(2147483647)) {
+ if (jj_2_8(2147483647)) {
if (!hasError) {
s = constraint_array_definition();
}
@@ -546,7 +807,7 @@ return s;
break;
}
default:
- jj_la1[14] = jj_gen;
+ jj_la1[21] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -574,7 +835,7 @@ QCString VhdlParser::assertion() {QCString s,s1,s2;Token *t=0;Token *t1=0;
break;
}
default:
- jj_la1[15] = jj_gen;
+ jj_la1[22] = jj_gen;
;
}
}
@@ -590,7 +851,7 @@ QCString VhdlParser::assertion() {QCString s,s1,s2;Token *t=0;Token *t1=0;
break;
}
default:
- jj_la1[16] = jj_gen;
+ jj_la1[23] = jj_gen;
;
}
}
@@ -616,7 +877,7 @@ QCString VhdlParser::assertion_statement() {QCString s,s1,s2;Token *t=0;
break;
}
default:
- jj_la1[17] = jj_gen;
+ jj_la1[24] = jj_gen;
;
}
}
@@ -634,7 +895,7 @@ assert(false);
QCString VhdlParser::association_element() {QCString s,s1;
if (!hasError) {
- if (jj_2_6(2147483647)) {
+ if (jj_2_9(2147483647)) {
if (!hasError) {
s = formal_part();
}
@@ -665,8 +926,8 @@ QCString VhdlParser::association_list() {QCString s,s1;
break;
}
default:
- jj_la1[18] = jj_gen;
- goto end_label_4;
+ jj_la1[25] = jj_gen;
+ goto end_label_5;
}
if (!hasError) {
jj_consume_token(COMMA_T);
@@ -678,7 +939,7 @@ QCString VhdlParser::association_list() {QCString s,s1;
s+=","+s1;
}
}
- end_label_4: ;
+ end_label_5: ;
}
return s;
assert(false);
@@ -701,7 +962,7 @@ QCString VhdlParser::attribute_declaration() {QCString s,s1;
if (!hasError) {
jj_consume_token(SEMI_T);
}
-outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(ATTRIBUTE_T),Entry::VARIABLE_SEC,VhdlDocGen::ATTRIBUTE,0,s1.data(),Public);
+outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(ATTRIBUTE_T),Entry::VARIABLE_SEC,VhdlDocGen::ATTRIBUTE,0,s1.data(),Protection::Public);
return " attribute "+s+":"+s1+";";
assert(false);
}
@@ -729,7 +990,7 @@ return QCString(tok->image);
break;
}
default:
- jj_la1[19] = jj_gen;
+ jj_la1[26] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -762,7 +1023,7 @@ QCString VhdlParser::attribute_name() {QCString s,s1;
break;
}
default:
- jj_la1[20] = jj_gen;
+ jj_la1[27] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -788,7 +1049,7 @@ s+=s1;
break;
}
default:
- jj_la1[21] = jj_gen;
+ jj_la1[28] = jj_gen;
;
}
}
@@ -814,13 +1075,13 @@ QCString VhdlParser::attribute_specification() {QCString s,s1,s2;
jj_consume_token(IS_T);
}
if (!hasError) {
- s2 = expression();
+ s2 = conditional_expression();
}
if (!hasError) {
jj_consume_token(SEMI_T);
}
QCString t= s1+" is "+s2;
- outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(ATTRIBUTE_T),Entry::VARIABLE_SEC,VhdlDocGen::ATTRIBUTE,0,t.data(),Public);
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(ATTRIBUTE_T),Entry::VARIABLE_SEC,VhdlDocGen::ATTRIBUTE,0,t.data(),Protection::Public);
return " attribute "+s+" of "+s1+ " is "+s2+";";
assert(false);
}
@@ -893,7 +1154,7 @@ void VhdlParser::binding_indication() {
break;
}
default:
- jj_la1[22] = jj_gen;
+ jj_la1[29] = jj_gen;
;
}
}
@@ -906,7 +1167,7 @@ void VhdlParser::binding_indication() {
break;
}
default:
- jj_la1[23] = jj_gen;
+ jj_la1[30] = jj_gen;
;
}
}
@@ -919,7 +1180,7 @@ void VhdlParser::binding_indication() {
break;
}
default:
- jj_la1[24] = jj_gen;
+ jj_la1[31] = jj_gen;
;
}
}
@@ -959,14 +1220,14 @@ void VhdlParser::block_configuration() {
break;
}
default:
- jj_la1[25] = jj_gen;
- goto end_label_5;
+ jj_la1[32] = jj_gen;
+ goto end_label_6;
}
if (!hasError) {
use_clause();
}
}
- end_label_5: ;
+ end_label_6: ;
}
if (!hasError) {
while (!hasError) {
@@ -976,14 +1237,14 @@ void VhdlParser::block_configuration() {
break;
}
default:
- jj_la1[26] = jj_gen;
- goto end_label_6;
+ jj_la1[33] = jj_gen;
+ goto end_label_7;
}
if (!hasError) {
configuration_item();
}
}
- end_label_6: ;
+ end_label_7: ;
}
if (!hasError) {
jj_consume_token(END_T);
@@ -1020,6 +1281,12 @@ void VhdlParser::block_declarative_item() {
}
break;
}
+ case VIEW_T:{
+ if (!hasError) {
+ mode_view_declaration();
+ }
+ break;
+ }
case CONSTANT_T:{
if (!hasError) {
constant_declaration();
@@ -1051,62 +1318,82 @@ void VhdlParser::block_declarative_item() {
}
break;
}
- case COMPONENT_T:{
- if (!hasError) {
- component_declaration();
- }
- break;
- }
default:
- jj_la1[27] = jj_gen;
- if (jj_2_7(2147483647)) {
+ jj_la1[34] = jj_gen;
+ if (jj_2_10(2)) {
if (!hasError) {
- attribute_declaration();
+ package_body();
+ }
+ } else if (jj_2_11(2147483647)) {
+ if (!hasError) {
+ package_declaration();
}
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case ATTRIBUTE_T:{
- if (!hasError) {
- attribute_specification();
- }
- break;
- }
- case FOR_T:{
- if (!hasError) {
- configuration_specification();
- }
- break;
- }
- case DISCONNECT_T:{
+ case PACKAGE_T:{
if (!hasError) {
- disconnection_specification();
+ package_instantiation_declaration();
}
break;
}
- case USE_T:{
+ case COMPONENT_T:{
if (!hasError) {
- use_clause();
+ component_declaration();
}
break;
}
default:
- jj_la1[28] = jj_gen;
- if (jj_2_8(3)) {
+ jj_la1[35] = jj_gen;
+ if (jj_2_12(2147483647)) {
if (!hasError) {
- group_template_declaration();
+ attribute_declaration();
}
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case GROUP_T:{
+ case ATTRIBUTE_T:{
if (!hasError) {
- group_declaration();
+ attribute_specification();
+ }
+ break;
+ }
+ case FOR_T:{
+ if (!hasError) {
+ configuration_specification();
+ }
+ break;
+ }
+ case DISCONNECT_T:{
+ if (!hasError) {
+ disconnection_specification();
+ }
+ break;
+ }
+ case USE_T:{
+ if (!hasError) {
+ use_clause();
}
break;
}
default:
- jj_la1[29] = jj_gen;
- jj_consume_token(-1);
- errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ jj_la1[36] = jj_gen;
+ if (jj_2_13(3)) {
+ if (!hasError) {
+ group_template_declaration();
+ }
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case GROUP_T:{
+ if (!hasError) {
+ group_declaration();
+ }
+ break;
+ }
+ default:
+ jj_la1[37] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ }
+ }
}
}
}
@@ -1129,6 +1416,7 @@ void VhdlParser::block_declarative_part() {
case FUNCTION_T:
case GROUP_T:
case IMPURE_T:
+ case PACKAGE_T:
case PROCEDURE_T:
case PURE_T:
case SIGNAL_T:
@@ -1136,26 +1424,27 @@ void VhdlParser::block_declarative_part() {
case SUBTYPE_T:
case TYPE_T:
case USE_T:
- case VARIABLE_T:{
+ case VARIABLE_T:
+ case VIEW_T:{
;
break;
}
default:
- jj_la1[30] = jj_gen;
- goto end_label_7;
+ jj_la1[38] = jj_gen;
+ goto end_label_8;
}
if (!hasError) {
block_declarative_item();
}
}
- end_label_7: ;
+ end_label_8: ;
}
}
void VhdlParser::block_header() {
if (!hasError) {
- if (jj_2_9(2147483647)) {
+ if (jj_2_14(2147483647)) {
if (!hasError) {
generic_clause();
}
@@ -1171,7 +1460,7 @@ void VhdlParser::block_header() {
break;
}
default:
- jj_la1[31] = jj_gen;
+ jj_la1[39] = jj_gen;
;
}
}
@@ -1197,14 +1486,14 @@ void VhdlParser::block_header() {
break;
}
default:
- jj_la1[32] = jj_gen;
+ jj_la1[40] = jj_gen;
;
}
}
break;
}
default:
- jj_la1[33] = jj_gen;
+ jj_la1[41] = jj_gen;
;
}
}
@@ -1230,7 +1519,7 @@ void VhdlParser::block_specification() {
break;
}
default:
- jj_la1[34] = jj_gen;
+ jj_la1[42] = jj_gen;
;
}
}
@@ -1265,7 +1554,7 @@ outlineParser()->pushLabel(m_sharedState->genLabels,s);
break;
}
default:
- jj_la1[35] = jj_gen;
+ jj_la1[43] = jj_gen;
;
}
}
@@ -1278,7 +1567,7 @@ outlineParser()->pushLabel(m_sharedState->genLabels,s);
break;
}
default:
- jj_la1[36] = jj_gen;
+ jj_la1[44] = jj_gen;
;
}
}
@@ -1310,7 +1599,7 @@ outlineParser()->pushLabel(m_sharedState->genLabels,s);
break;
}
default:
- jj_la1[37] = jj_gen;
+ jj_la1[45] = jj_gen;
;
}
}
@@ -1326,7 +1615,6 @@ void VhdlParser::block_statement_part() {
while (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case ASSERT_T:
- case CASE_T:
case POSTPONED_T:
case PROCESS_T:
case WITH_T:
@@ -1340,53 +1628,48 @@ void VhdlParser::block_statement_part() {
break;
}
default:
- jj_la1[38] = jj_gen;
- goto end_label_8;
+ jj_la1[46] = jj_gen;
+ goto end_label_9;
}
if (!hasError) {
concurrent_statement();
}
}
- end_label_8: ;
+ end_label_9: ;
}
}
void VhdlParser::case_statement() {QCString s;
if (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case BASIC_IDENTIFIER:
- case EXTENDED_CHARACTER:{
+ if (jj_2_15(2)) {
if (!hasError) {
identifier();
}
if (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case Q_T:{
- if (!hasError) {
- jj_consume_token(Q_T);
- }
- break;
- }
- default:
- jj_la1[39] = jj_gen;
- ;
- }
+ jj_consume_token(COLON_T);
}
+ } else {
+ ;
+ }
+ }
+ if (!hasError) {
+ jj_consume_token(CASE_T);
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case Q_T:{
if (!hasError) {
- jj_consume_token(COLON_T);
+ jj_consume_token(Q_T);
}
break;
}
default:
- jj_la1[40] = jj_gen;
+ jj_la1[47] = jj_gen;
;
}
}
if (!hasError) {
- jj_consume_token(CASE_T);
- }
- if (!hasError) {
s = expression();
}
if (!hasError) {
@@ -1407,14 +1690,14 @@ QCString ca="case "+s;
break;
}
default:
- jj_la1[41] = jj_gen;
- goto end_label_9;
+ jj_la1[48] = jj_gen;
+ goto end_label_10;
}
if (!hasError) {
case_statement_alternative();
}
}
- end_label_9: ;
+ end_label_10: ;
}
if (!hasError) {
jj_consume_token(END_T);
@@ -1424,6 +1707,19 @@ QCString ca="case "+s;
}
if (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case Q_T:{
+ if (!hasError) {
+ jj_consume_token(Q_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[49] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case BASIC_IDENTIFIER:
case EXTENDED_CHARACTER:{
if (!hasError) {
@@ -1432,7 +1728,7 @@ QCString ca="case "+s;
break;
}
default:
- jj_la1[42] = jj_gen;
+ jj_la1[50] = jj_gen;
;
}
}
@@ -1444,6 +1740,102 @@ FlowChart::moveToPrevLevel();
}
+void VhdlParser::case_scheme() {
+ if (!hasError) {
+ jj_consume_token(CASE_T);
+ }
+ if (!hasError) {
+ expression();
+ }
+ if (!hasError) {
+ jj_consume_token(GENERATE_T);
+ }
+ if (!hasError) {
+ when_stats();
+ }
+ if (!hasError) {
+ if (jj_2_16(3)) {
+ if (!hasError) {
+ jj_consume_token(END_T);
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BASIC_IDENTIFIER:
+ case EXTENDED_CHARACTER:{
+ if (!hasError) {
+ identifier();
+ }
+ break;
+ }
+ default:
+ jj_la1[51] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ jj_consume_token(SEMI_T);
+ }
+ } else {
+ ;
+ }
+ }
+ if (!hasError) {
+ jj_consume_token(END_T);
+ }
+ if (!hasError) {
+ jj_consume_token(GENERATE_T);
+ }
+ if (!hasError) {
+ generate_statement_body();
+ }
+ if (!hasError) {
+ jj_consume_token(SEMI_T);
+ }
+}
+
+
+void VhdlParser::when_stats() {
+ if (!hasError) {
+ while (!hasError) {
+ if (!hasError) {
+ jj_consume_token(WHEN_T);
+ }
+ if (!hasError) {
+ if (jj_2_17(2)) {
+ if (!hasError) {
+ label();
+ }
+ if (!hasError) {
+ jj_consume_token(COLON_T);
+ }
+ } else {
+ ;
+ }
+ }
+ if (!hasError) {
+ choices();
+ }
+ if (!hasError) {
+ jj_consume_token(ARROW_T);
+ }
+ if (!hasError) {
+ generate_statement_body();
+ }
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case WHEN_T:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[52] = jj_gen;
+ goto end_label_11;
+ }
+ }
+ end_label_11: ;
+ }
+}
+
+
void VhdlParser::case_statement_alternative() {QCString s;
if (!hasError) {
jj_consume_token(WHEN_T);
@@ -1460,7 +1852,7 @@ QCString t("when ");
FlowChart::addFlowChart(FlowChart::WHEN_NO,s,t);
}
if (!hasError) {
- sequence_of_statement();
+ sequential_statement_body();
}
FlowChart::moveToPrevLevel();
}
@@ -1476,21 +1868,21 @@ assert(false);
QCString VhdlParser::choice() {QCString s;
- if (jj_2_10(2147483647)) {
+ if (jj_2_18(2147483647)) {
if (!hasError) {
s = range();
}
if (!hasError) {
return s;
}
- } else if (jj_2_11(2147483647)) {
+ } else if (jj_2_19(2147483647)) {
if (!hasError) {
s = simple_expression();
}
if (!hasError) {
return s;
}
- } else if (jj_2_12(2147483647)) {
+ } else if (jj_2_20(2147483647)) {
if (!hasError) {
s = discrete_range();
}
@@ -1519,7 +1911,7 @@ return " others ";
break;
}
default:
- jj_la1[43] = jj_gen;
+ jj_la1[53] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -1540,8 +1932,8 @@ QCString VhdlParser::choices() {QCString s,s1;
break;
}
default:
- jj_la1[44] = jj_gen;
- goto end_label_10;
+ jj_la1[54] = jj_gen;
+ goto end_label_12;
}
if (!hasError) {
jj_consume_token(BAR_T);
@@ -1553,7 +1945,7 @@ QCString VhdlParser::choices() {QCString s,s1;
s+="|";s+=s1;
}
}
- end_label_10: ;
+ end_label_12: ;
}
return s;
assert(false);
@@ -1582,7 +1974,7 @@ void VhdlParser::component_configuration() {
break;
}
default:
- jj_la1[45] = jj_gen;
+ jj_la1[55] = jj_gen;
;
}
}
@@ -1595,7 +1987,7 @@ void VhdlParser::component_configuration() {
break;
}
default:
- jj_la1[46] = jj_gen;
+ jj_la1[56] = jj_gen;
;
}
}
@@ -1627,7 +2019,7 @@ void VhdlParser::component_declaration() {QCString s;
break;
}
default:
- jj_la1[47] = jj_gen;
+ jj_la1[57] = jj_gen;
;
}
}
@@ -1643,7 +2035,7 @@ m_sharedState->currP=VhdlDocGen::COMPONENT;
break;
}
default:
- jj_la1[48] = jj_gen;
+ jj_la1[58] = jj_gen;
;
}
}
@@ -1656,19 +2048,29 @@ m_sharedState->currP=VhdlDocGen::COMPONENT;
break;
}
default:
- jj_la1[49] = jj_gen;
+ jj_la1[59] = jj_gen;
;
}
}
if (!hasError) {
-outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(COMPONENT_T),Entry::VARIABLE_SEC,VhdlDocGen::COMPONENT,0,0,Public);
+outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(COMPONENT_T),Entry::VARIABLE_SEC,VhdlDocGen::COMPONENT,0,0,Protection::Public);
m_sharedState->currP=0;
}
if (!hasError) {
jj_consume_token(END_T);
}
if (!hasError) {
- jj_consume_token(COMPONENT_T);
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case COMPONENT_T:{
+ if (!hasError) {
+ jj_consume_token(COMPONENT_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[60] = jj_gen;
+ ;
+ }
}
if (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
@@ -1680,7 +2082,7 @@ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(COMPONENT_T),Entr
break;
}
default:
- jj_la1[50] = jj_gen;
+ jj_la1[61] = jj_gen;
;
}
}
@@ -1710,7 +2112,7 @@ QCString s3;
outlineParser()->addCompInst(s.lower().data(),s1.lower().data(),s3.data(),outlineParser()->getLine());
}
if (!hasError) {
- if (jj_2_13(2147483647)) {
+ if (jj_2_21(2147483647)) {
if (!hasError) {
generic_map_aspect();
}
@@ -1727,7 +2129,7 @@ QCString s3;
break;
}
default:
- jj_la1[51] = jj_gen;
+ jj_la1[62] = jj_gen;
;
}
}
@@ -1771,7 +2173,7 @@ return s+"#";
break;
}
default:
- jj_la1[52] = jj_gen;
+ jj_la1[63] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -1781,7 +2183,7 @@ assert(false);
void VhdlParser::concurrent_assertion_statement() {
if (!hasError) {
- if (jj_2_14(2)) {
+ if (jj_2_22(2)) {
if (!hasError) {
identifier();
}
@@ -1801,7 +2203,7 @@ void VhdlParser::concurrent_assertion_statement() {
break;
}
default:
- jj_la1[53] = jj_gen;
+ jj_la1[64] = jj_gen;
;
}
}
@@ -1816,7 +2218,7 @@ void VhdlParser::concurrent_assertion_statement() {
void VhdlParser::concurrent_procedure_call_statement() {
if (!hasError) {
- if (jj_2_15(2)) {
+ if (jj_2_23(2)) {
if (!hasError) {
identifier();
}
@@ -1836,7 +2238,7 @@ void VhdlParser::concurrent_procedure_call_statement() {
break;
}
default:
- jj_la1[54] = jj_gen;
+ jj_la1[65] = jj_gen;
;
}
}
@@ -1851,7 +2253,7 @@ void VhdlParser::concurrent_procedure_call_statement() {
void VhdlParser::concurrent_signal_assignment_statement() {
if (!hasError) {
- if (jj_2_16(2)) {
+ if (jj_2_24(2)) {
if (!hasError) {
identifier();
}
@@ -1871,25 +2273,33 @@ void VhdlParser::concurrent_signal_assignment_statement() {
break;
}
default:
- jj_la1[55] = jj_gen;
+ jj_la1[66] = jj_gen;
;
}
}
if (!hasError) {
- if (jj_2_17(2147483647)) {
+ if (jj_2_25(2147483647)) {
+ if (!hasError) {
+ concurrent_conditional_signal_assignment();
+ }
+ } else if (jj_2_26(2147483647)) {
if (!hasError) {
- conditional_signal_assignment();
+ concurrent_selected_signal_assignment();
}
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case WITH_T:{
+ case LPAREN_T:
+ case SLSL_T:
+ case STRINGLITERAL:
+ case BASIC_IDENTIFIER:
+ case EXTENDED_CHARACTER:{
if (!hasError) {
- selected_signal_assignment();
+ concurrent_simple_signal_assignment();
}
break;
}
default:
- jj_la1[56] = jj_gen;
+ jj_la1[67] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -1898,59 +2308,240 @@ void VhdlParser::concurrent_signal_assignment_statement() {
}
+void VhdlParser::concurrent_conditional_signal_assignment() {
+ if (!hasError) {
+ target();
+ }
+ if (!hasError) {
+ jj_consume_token(LESSTHAN_T);
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case GUARDED_T:{
+ if (!hasError) {
+ jj_consume_token(GUARDED_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[68] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case INERTIAL_T:
+ case REJECT_T:
+ case TRANSPORT_T:{
+ if (!hasError) {
+ delay_mechanism();
+ }
+ break;
+ }
+ default:
+ jj_la1[69] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ conditional_waveforms();
+ }
+ if (!hasError) {
+ jj_consume_token(SEMI_T);
+ }
+}
+
+
+void VhdlParser::concurrent_simple_signal_assignment() {
+ if (!hasError) {
+ target();
+ }
+ if (!hasError) {
+ jj_consume_token(LESSTHAN_T);
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case GUARDED_T:{
+ if (!hasError) {
+ jj_consume_token(GUARDED_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[70] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case INERTIAL_T:
+ case REJECT_T:
+ case TRANSPORT_T:{
+ if (!hasError) {
+ delay_mechanism();
+ }
+ break;
+ }
+ default:
+ jj_la1[71] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ waveform();
+ }
+ if (!hasError) {
+ jj_consume_token(SEMI_T);
+ }
+}
+
+
+void VhdlParser::concurrent_selected_signal_assignment() {
+ if (!hasError) {
+ jj_consume_token(WITH_T);
+ }
+ if (!hasError) {
+ expression();
+ }
+ if (!hasError) {
+ jj_consume_token(SELECT_T);
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case Q_T:{
+ if (!hasError) {
+ jj_consume_token(Q_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[72] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ target();
+ }
+ if (!hasError) {
+ jj_consume_token(LESSTHAN_T);
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case GUARDED_T:{
+ if (!hasError) {
+ jj_consume_token(GUARDED_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[73] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case INERTIAL_T:
+ case REJECT_T:
+ case TRANSPORT_T:{
+ if (!hasError) {
+ delay_mechanism();
+ }
+ break;
+ }
+ default:
+ jj_la1[74] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ selected_waveforms();
+ }
+ if (!hasError) {
+ jj_consume_token(SEMI_T);
+ }
+}
+
+
+void VhdlParser::concurrent_signal_association_statement() {
+ if (!hasError) {
+ if (jj_2_27(2)) {
+ if (!hasError) {
+ identifier();
+ }
+ if (!hasError) {
+ jj_consume_token(COLON_T);
+ }
+ } else {
+ ;
+ }
+ }
+ if (!hasError) {
+ concurrent_simple_signal_association();
+ }
+}
+
+
+void VhdlParser::concurrent_simple_signal_association() {
+ if (!hasError) {
+ identifier();
+ }
+ if (!hasError) {
+ jj_consume_token(LGT_T);
+ }
+ if (!hasError) {
+ identifier();
+ }
+ if (!hasError) {
+ jj_consume_token(SEMI_T);
+ }
+}
+
+
void VhdlParser::concurrent_statement() {
- if (jj_2_18(2147483647)) {
+ if (jj_2_28(2147483647)) {
if (!hasError) {
block_statement();
}
- } else if (jj_2_19(2147483647)) {
+ } else if (jj_2_29(2147483647)) {
if (!hasError) {
process_statement();
}
- } else if (jj_2_20(3)) {
+ } else if (jj_2_30(3)) {
if (!hasError) {
generate_statement();
}
+ } else if (jj_2_31(2147483647)) {
+ if (!hasError) {
+ concurrent_assertion_statement();
+ }
+ } else if (jj_2_32(2147483647)) {
+ if (!hasError) {
+ concurrent_signal_assignment_statement();
+ }
+ } else if (jj_2_33(2147483647)) {
+ if (!hasError) {
+ concurrent_signal_association_statement();
+ }
+ } else if (jj_2_34(2147483647)) {
+ if (!hasError) {
+ component_instantiation_statement();
+ }
+ } else if (jj_2_35(2147483647)) {
+ if (!hasError) {
+ concurrent_procedure_call_statement();
+ }
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case CASE_T:{
+ case VHDL2008TOOLDIR:{
if (!hasError) {
- case_scheme();
+ jj_consume_token(VHDL2008TOOLDIR);
}
break;
}
default:
- jj_la1[57] = jj_gen;
- if (jj_2_21(2147483647)) {
- if (!hasError) {
- concurrent_assertion_statement();
- }
- } else if (jj_2_22(2147483647)) {
- if (!hasError) {
- concurrent_signal_assignment_statement();
- }
- } else if (jj_2_23(2147483647)) {
- if (!hasError) {
- component_instantiation_statement();
- }
- } else if (jj_2_24(2147483647)) {
- if (!hasError) {
- concurrent_procedure_call_statement();
- }
- } else {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case VHDL2008TOOLDIR:{
- if (!hasError) {
- jj_consume_token(VHDL2008TOOLDIR);
- }
- break;
- }
- default:
- jj_la1[58] = jj_gen;
- jj_consume_token(-1);
- errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
- }
- }
+ jj_la1[75] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
}
}
@@ -1965,6 +2556,15 @@ assert(false);
}
+QCString VhdlParser::condition_operator() {QCString s;
+ if (!hasError) {
+ jj_consume_token(QQ_T);
+ }
+return "??";
+assert(false);
+}
+
+
QCString VhdlParser::condition_clause() {QCString s;
if (!hasError) {
jj_consume_token(UNTIL_T);
@@ -1977,6 +2577,319 @@ assert(false);
}
+void VhdlParser::conditional_signal_assignment_wave() {
+ if (jj_2_36(2147483647)) {
+ if (!hasError) {
+ conditional_force_assignment();
+ }
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case LPAREN_T:
+ case SLSL_T:
+ case STRINGLITERAL:
+ case BASIC_IDENTIFIER:
+ case EXTENDED_CHARACTER:{
+ if (!hasError) {
+ conditional_waveform_assignment();
+ }
+ break;
+ }
+ default:
+ jj_la1[76] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ }
+ }
+}
+
+
+void VhdlParser::conditional_waveform_assignment() {
+ if (!hasError) {
+ target();
+ }
+ if (!hasError) {
+ jj_consume_token(LESSTHAN_T);
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case INERTIAL_T:
+ case REJECT_T:
+ case TRANSPORT_T:{
+ if (!hasError) {
+ delay_mechanism();
+ }
+ break;
+ }
+ default:
+ jj_la1[77] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ waveform_element();
+ }
+ if (!hasError) {
+ jj_consume_token(WHEN_T);
+ }
+ if (!hasError) {
+ expression();
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case ELSE_T:{
+ if (!hasError) {
+ else_wave_list();
+ }
+ break;
+ }
+ default:
+ jj_la1[78] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ jj_consume_token(SEMI_T);
+ }
+}
+
+
+void VhdlParser::else_wave_list() {
+ if (!hasError) {
+ jj_consume_token(ELSE_T);
+ }
+ if (!hasError) {
+ expression();
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case WHEN_T:{
+ if (!hasError) {
+ jj_consume_token(WHEN_T);
+ }
+ if (!hasError) {
+ expression();
+ }
+ break;
+ }
+ default:
+ jj_la1[79] = jj_gen;
+ ;
+ }
+ }
+}
+
+
+void VhdlParser::conditional_force_assignment() {
+ if (!hasError) {
+ target();
+ }
+ if (!hasError) {
+ jj_consume_token(LESSTHAN_T);
+ }
+ if (!hasError) {
+ jj_consume_token(FORCE_T);
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case IN_T:
+ case OUT_T:{
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case IN_T:{
+ if (!hasError) {
+ jj_consume_token(IN_T);
+ }
+ break;
+ }
+ case OUT_T:{
+ if (!hasError) {
+ jj_consume_token(OUT_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[80] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ }
+ break;
+ }
+ default:
+ jj_la1[81] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ expression();
+ }
+ if (!hasError) {
+ jj_consume_token(WHEN_T);
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case ABS_T:
+ case AND_T:
+ case NAND_T:
+ case NEW_T:
+ case NOR_T:
+ case NOT_T:
+ case NULL_T:
+ case OR_T:
+ case XOR_T:
+ case XNOR_T:
+ case LPAREN_T:
+ case PLUS_T:
+ case MINUS_T:
+ case SLSL_T:
+ case QQ_T:
+ case INTEGER:
+ case STRINGLITERAL:
+ case BASIC_IDENTIFIER:
+ case EXTENDED_CHARACTER:
+ case CHARACTER_LITERAL:
+ case DECIMAL_LITERAL:
+ case BASED_LITERAL:
+ case BIT_STRING_LITERAL:{
+ if (!hasError) {
+ expression();
+ }
+ if (!hasError) {
+ else_stat();
+ }
+ break;
+ }
+ default:
+ jj_la1[82] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ jj_consume_token(SEMI_T);
+ }
+}
+
+
+void VhdlParser::else_stat() {
+ if (!hasError) {
+ while (!hasError) {
+ if (!hasError) {
+ jj_consume_token(ELSE_T);
+ }
+ if (!hasError) {
+ expression();
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case WHEN_T:{
+ if (!hasError) {
+ jj_consume_token(WHEN_T);
+ }
+ if (!hasError) {
+ expression();
+ }
+ break;
+ }
+ default:
+ jj_la1[83] = jj_gen;
+ ;
+ }
+ }
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case ELSE_T:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[84] = jj_gen;
+ goto end_label_13;
+ }
+ }
+ end_label_13: ;
+ }
+}
+
+
+QCString VhdlParser::conditional_expression() {QCString s;
+ if (!hasError) {
+ s = expression();
+ }
+ if (!hasError) {
+ while (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case WHEN_T:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[85] = jj_gen;
+ goto end_label_14;
+ }
+ if (!hasError) {
+ jj_consume_token(WHEN_T);
+ }
+ if (!hasError) {
+ condition();
+ }
+ if (!hasError) {
+ jj_consume_token(ELSE_T);
+ }
+ if (!hasError) {
+ expression();
+ }
+ }
+ end_label_14: ;
+ }
+return s;
+assert(false);
+}
+
+
+QCString VhdlParser::conditional_or_unaffected_expression() {QCString s;
+ if (!hasError) {
+ s = expression_or_unaffected();
+ }
+ if (!hasError) {
+ while (!hasError) {
+ if (jj_2_37(2147483647)) {
+ ;
+ } else {
+ goto end_label_15;
+ }
+ if (!hasError) {
+ jj_consume_token(WHEN_T);
+ }
+ if (!hasError) {
+ condition();
+ }
+ if (!hasError) {
+ jj_consume_token(ELSE_T);
+ }
+ if (!hasError) {
+ expression_or_unaffected();
+ }
+ }
+ end_label_15: ;
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case WHEN_T:{
+ if (!hasError) {
+ jj_consume_token(WHEN_T);
+ }
+ if (!hasError) {
+ condition();
+ }
+ break;
+ }
+ default:
+ jj_la1[86] = jj_gen;
+ ;
+ }
+ }
+return s;
+assert(false);
+}
+
+
void VhdlParser::conditional_signal_assignment() {
if (!hasError) {
target();
@@ -2002,10 +2915,10 @@ void VhdlParser::conditional_waveforms() {
}
if (!hasError) {
while (!hasError) {
- if (jj_2_25(2147483647)) {
+ if (jj_2_38(2147483647)) {
;
} else {
- goto end_label_11;
+ goto end_label_16;
}
if (!hasError) {
jj_consume_token(WHEN_T);
@@ -2020,7 +2933,7 @@ void VhdlParser::conditional_waveforms() {
waveform();
}
}
- end_label_11: ;
+ end_label_16: ;
}
if (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
@@ -2034,7 +2947,7 @@ void VhdlParser::conditional_waveforms() {
break;
}
default:
- jj_la1[59] = jj_gen;
+ jj_la1[87] = jj_gen;
;
}
}
@@ -2059,7 +2972,7 @@ void VhdlParser::configuration_declaration() {QCString s,s1;
}
if (!hasError) {
m_sharedState->confName=s+"::"+s1;
- outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(CONFIGURATION_T),Entry::VARIABLE_SEC,VhdlDocGen::CONFIG,"configuration",s1.data(),Public);
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(CONFIGURATION_T),Entry::VARIABLE_SEC,VhdlDocGen::CONFIG,"configuration",s1.data(),Protection::Public);
}
if (!hasError) {
configuration_declarative_part();
@@ -2079,7 +2992,7 @@ m_sharedState->confName=s+"::"+s1;
break;
}
default:
- jj_la1[60] = jj_gen;
+ jj_la1[88] = jj_gen;
;
}
}
@@ -2095,7 +3008,7 @@ m_sharedState->confName=s+"::"+s1;
break;
}
default:
- jj_la1[61] = jj_gen;
+ jj_la1[89] = jj_gen;
;
}
}
@@ -2127,7 +3040,7 @@ void VhdlParser::configuration_declarative_item() {
break;
}
default:
- jj_la1[62] = jj_gen;
+ jj_la1[90] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -2145,20 +3058,20 @@ void VhdlParser::configuration_declarative_part() {
break;
}
default:
- jj_la1[63] = jj_gen;
- goto end_label_12;
+ jj_la1[91] = jj_gen;
+ goto end_label_17;
}
if (!hasError) {
configuration_declarative_item();
}
}
- end_label_12: ;
+ end_label_17: ;
}
}
void VhdlParser::configuration_item() {
- if (jj_2_26(2147483647)) {
+ if (jj_2_39(2147483647)) {
if (!hasError) {
component_configuration();
}
@@ -2171,7 +3084,7 @@ void VhdlParser::configuration_item() {
break;
}
default:
- jj_la1[64] = jj_gen;
+ jj_la1[92] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -2215,12 +3128,12 @@ QCString VhdlParser::constant_declaration() {QCString s,s1,s2;Token *t=0;
t = jj_consume_token(VARASSIGN_T);
}
if (!hasError) {
- s2 = expression();
+ s2 = conditional_expression();
}
break;
}
default:
- jj_la1[65] = jj_gen;
+ jj_la1[93] = jj_gen;
;
}
}
@@ -2230,7 +3143,7 @@ QCString VhdlParser::constant_declaration() {QCString s,s1,s2;Token *t=0;
if(t)
s2.prepend(":=");
QCString it=s1+s2;
- outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(CONSTANT_T),Entry::VARIABLE_SEC,VhdlDocGen::CONSTANT,0,it.data(),Public);
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(CONSTANT_T),Entry::VARIABLE_SEC,VhdlDocGen::CONSTANT,0,it.data(),Protection::Public);
it.prepend("constant ");
return it;
assert(false);
@@ -2258,29 +3171,29 @@ assert(false);
void VhdlParser::context_clause() {
if (!hasError) {
while (!hasError) {
- if (jj_2_27(3)) {
- ;
- } else {
- goto end_label_13;
- }
if (!hasError) {
context_item();
}
+ if (jj_2_40(3)) {
+ ;
+ } else {
+ goto end_label_18;
+ }
}
- end_label_13: ;
+ end_label_18: ;
}
}
QCString VhdlParser::constraint() {QCString s;
- if (jj_2_28(2147483647)) {
+ if (jj_2_41(2147483647)) {
if (!hasError) {
s = range_constraint();
}
if (!hasError) {
return s;
}
- } else if (jj_2_29(2147483647)) {
+ } else if (jj_2_42(2147483647)) {
if (!hasError) {
s = index_constraint();
}
@@ -2309,27 +3222,109 @@ void VhdlParser::context_item() {
}
break;
}
+ case CONTEXT_T:{
+ if (!hasError) {
+ context_ref();
+ }
+ break;
+ }
default:
- jj_la1[66] = jj_gen;
- if (jj_2_30(2147483647)) {
- if (!hasError) {
- context_declaration();
- }
- } else {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case CONTEXT_T:{
- if (!hasError) {
- context_ref();
- }
- break;
- }
- default:
- jj_la1[67] = jj_gen;
- jj_consume_token(-1);
- errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ jj_la1[94] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ }
+}
+
+
+QCString VhdlParser::context_ref() {QCString s, s1;
+ if (!hasError) {
+ jj_consume_token(CONTEXT_T);
+ }
+ if (!hasError) {
+ s = identifier();
+ }
+ if (!hasError) {
+ while (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case DOT_T:{
+ ;
+ break;
}
+ default:
+ jj_la1[95] = jj_gen;
+ goto end_label_19;
+ }
+ if (!hasError) {
+ jj_consume_token(DOT_T);
+ }
+ if (!hasError) {
+ s1 = identifier();
+ }
+ if (!hasError) {
+s+=".";s+=s1;
}
}
+ end_label_19: ;
+ }
+ if (!hasError) {
+ jj_consume_token(SEMI_T);
+ }
+return "context "+s ;
+assert(false);
+}
+
+
+void VhdlParser::context_declaration() {QCString s,s1;
+ if (!hasError) {
+ jj_consume_token(CONTEXT_T);
+ }
+ if (!hasError) {
+ s = identifier();
+ }
+ if (!hasError) {
+ jj_consume_token(IS_T);
+ }
+ if (!hasError) {
+m_sharedState->parse_sec=CONTEXT_SEC;
+ }
+ if (!hasError) {
+ context_clause();
+ }
+ if (!hasError) {
+ jj_consume_token(END_T);
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case CONTEXT_T:{
+ if (!hasError) {
+ jj_consume_token(CONTEXT_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[96] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BASIC_IDENTIFIER:
+ case EXTENDED_CHARACTER:{
+ if (!hasError) {
+ identifier();
+ }
+ break;
+ }
+ default:
+ jj_la1[97] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ jj_consume_token(SEMI_T);
+ }
+m_sharedState->parse_sec=0;
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(LIBRARY_T),Entry::VARIABLE_SEC,VhdlDocGen::LIBRARY,"context",s1.data(),Protection::Public);
}
@@ -2370,7 +3365,7 @@ s.prepend(" reject ");
break;
}
default:
- jj_la1[68] = jj_gen;
+ jj_la1[98] = jj_gen;
;
}
}
@@ -2383,7 +3378,7 @@ return s+" inertial ";
break;
}
default:
- jj_la1[69] = jj_gen;
+ jj_la1[99] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -2417,11 +3412,11 @@ void VhdlParser::design_file() {
break;
}
default:
- jj_la1[70] = jj_gen;
- goto end_label_14;
+ jj_la1[100] = jj_gen;
+ goto end_label_20;
}
}
- end_label_14: ;
+ end_label_20: ;
}
if (!hasError) {
@@ -2435,7 +3430,7 @@ void VhdlParser::design_file() {
break;
}
default:
- jj_la1[71] = jj_gen;
+ jj_la1[101] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -2444,7 +3439,13 @@ void VhdlParser::design_file() {
void VhdlParser::design_unit() {
if (!hasError) {
- context_clause();
+ if (jj_2_43(3)) {
+ if (!hasError) {
+ context_clause();
+ }
+ } else {
+ ;
+ }
}
if (!hasError) {
library_unit();
@@ -2474,7 +3475,7 @@ return s;
break;
}
default:
- jj_la1[72] = jj_gen;
+ jj_la1[102] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -2503,7 +3504,7 @@ return QCString(tok->image);
break;
}
default:
- jj_la1[73] = jj_gen;
+ jj_la1[103] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -2511,6 +3512,21 @@ assert(false);
}
+QCString VhdlParser::discrete_incomplete_type_definition() {Token *tok=0;
+ if (!hasError) {
+ jj_consume_token(LPAREN_T);
+ }
+ if (!hasError) {
+ jj_consume_token(BOX_T);
+ }
+ if (!hasError) {
+ jj_consume_token(RPAREN_T);
+ }
+return "(<>)";
+assert(false);
+}
+
+
void VhdlParser::disconnection_specification() {
if (!hasError) {
jj_consume_token(DISCONNECT_T);
@@ -2544,14 +3560,14 @@ void VhdlParser::guarded_signal_specificatio() {
QCString VhdlParser::discrete_range() {QCString s;
- if (jj_2_31(2147483647)) {
+ if (jj_2_44(2147483647)) {
if (!hasError) {
s = range();
}
if (!hasError) {
return s;
}
- } else if (jj_2_32(2147483647)) {
+ } else if (jj_2_45(2147483647)) {
if (!hasError) {
s = subtype_indication();
}
@@ -2566,9 +3582,27 @@ assert(false);
}
+QCString VhdlParser::element_array_mode_view_indication() {QCString s;
+ if (!hasError) {
+ jj_consume_token(VIEW_T);
+ }
+ if (!hasError) {
+ jj_consume_token(LPAREN_T);
+ }
+ if (!hasError) {
+ s = identifier();
+ }
+ if (!hasError) {
+ jj_consume_token(RPAREN_T);
+ }
+return "view("+s+")";
+assert(false);
+}
+
+
QCString VhdlParser::element_association() {QCString s,s1;
if (!hasError) {
- if (jj_2_33(2147483647)) {
+ if (jj_2_46(2147483647)) {
if (!hasError) {
s = choices();
}
@@ -2589,6 +3623,35 @@ assert(false);
}
+QCString VhdlParser::element_constraint() {QCString s,s1;
+ if (jj_2_47(5)) {
+ if (!hasError) {
+ record_constraint();
+ }
+ if (!hasError) {
+return " ";
+ }
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case LPAREN_T:{
+ if (!hasError) {
+ array_constraint();
+ }
+ if (!hasError) {
+return " ";
+ }
+ break;
+ }
+ default:
+ jj_la1[104] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ }
+ }
+assert(false);
+}
+
+
QCString VhdlParser::element_declaration() {QCString rec_name,s1,s2;
if (!hasError) {
rec_name = identifier_list();
@@ -2612,7 +3675,7 @@ auto ql = split(rec_name.str(),",");
Entry::VARIABLE_SEC,
VhdlDocGen::RECORD,0,
s1.data(),
- Public);
+ Protection::Public);
}
s2=rec_name+":"+s1;
return s2;
@@ -2620,6 +3683,104 @@ assert(false);
}
+QCString VhdlParser::element_resolution() {QCString s,s1;
+ if (jj_2_48(2147483647)) {
+ if (!hasError) {
+ array_element_resolution();
+ }
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BASIC_IDENTIFIER:
+ case EXTENDED_CHARACTER:{
+ if (!hasError) {
+ record_resolution();
+ }
+ break;
+ }
+ default:
+ jj_la1[105] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ }
+ }
+assert(false);
+}
+
+
+QCString VhdlParser::element_mode_indication() {QCString s;
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BUFFER_T:
+ case IN_T:
+ case INOUT_T:
+ case LINKAGE_T:
+ case OUT_T:{
+ if (!hasError) {
+ s = mode();
+ }
+ if (!hasError) {
+return s;
+ }
+ break;
+ }
+ case VIEW_T:{
+ if (!hasError) {
+ s = element_mode_view_indication();
+ }
+ if (!hasError) {
+return s;
+ }
+ break;
+ }
+ default:
+ jj_la1[106] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ }
+assert(false);
+}
+
+
+QCString VhdlParser::element_mode_view_indication() {QCString s;
+ if (jj_2_49(2)) {
+ if (!hasError) {
+ s = element_record_mode_view_indication();
+ }
+ if (!hasError) {
+return s;
+ }
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case VIEW_T:{
+ if (!hasError) {
+ s = element_array_mode_view_indication();
+ }
+ if (!hasError) {
+return s;
+ }
+ break;
+ }
+ default:
+ jj_la1[107] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ }
+ }
+assert(false);
+}
+
+
+QCString VhdlParser::element_record_mode_view_indication() {QCString s;
+ if (!hasError) {
+ jj_consume_token(VIEW_T);
+ }
+ if (!hasError) {
+ s = identifier();
+ }
+return "view "+s;
+assert(false);
+}
+
+
QCString VhdlParser::entity_aspect() {Token *tok=0;QCString s,s1;
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case ENTITY_T:{
@@ -2647,7 +3808,7 @@ s+="("+s1+")";
break;
}
default:
- jj_la1[74] = jj_gen;
+ jj_la1[108] = jj_gen;
;
}
}
@@ -2678,7 +3839,7 @@ return QCString(tok->image);
break;
}
default:
- jj_la1[75] = jj_gen;
+ jj_la1[109] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -2842,7 +4003,7 @@ return "file";
break;
}
default:
- jj_la1[76] = jj_gen;
+ jj_la1[110] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -2866,7 +4027,7 @@ s+="<>";
break;
}
default:
- jj_la1[77] = jj_gen;
+ jj_la1[111] = jj_gen;
;
}
}
@@ -2892,8 +4053,8 @@ s+=s1;
break;
}
default:
- jj_la1[78] = jj_gen;
- goto end_label_15;
+ jj_la1[112] = jj_gen;
+ goto end_label_21;
}
if (!hasError) {
jj_consume_token(COMMA_T);
@@ -2905,7 +4066,7 @@ s+=s1;
s2+=",";s2+=s;
}
}
- end_label_15: ;
+ end_label_21: ;
}
return s1+s2;
assert(false);
@@ -2925,7 +4086,7 @@ void VhdlParser::entity_declaration() {QCString s;
if (!hasError) {
m_sharedState->lastEntity=m_sharedState->current;
m_sharedState->lastCompound=0;
- outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(ENTITY_T),Entry::CLASS_SEC,VhdlDocGen::ENTITY,0,0,Public);
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(ENTITY_T),Entry::CLASS_SEC,VhdlDocGen::ENTITY,0,0,Protection::Public);
}
if (!hasError) {
entity_header();
@@ -2945,7 +4106,7 @@ m_sharedState->lastEntity=m_sharedState->current;
break;
}
default:
- jj_la1[79] = jj_gen;
+ jj_la1[113] = jj_gen;
;
}
}
@@ -2961,7 +4122,7 @@ m_sharedState->lastEntity=m_sharedState->current;
break;
}
default:
- jj_la1[80] = jj_gen;
+ jj_la1[114] = jj_gen;
;
}
}
@@ -2977,7 +4138,7 @@ m_sharedState->lastEntity=m_sharedState->current;
break;
}
default:
- jj_la1[81] = jj_gen;
+ jj_la1[115] = jj_gen;
;
}
}
@@ -3023,89 +4184,113 @@ void VhdlParser::entity_declarative_item() {
}
break;
}
- case SHARED_T:
- case VARIABLE_T:{
- if (!hasError) {
- variable_declaration();
- }
- break;
- }
- case FILE_T:{
- if (!hasError) {
- file_declaration();
- }
- break;
- }
- case ALIAS_T:{
- if (!hasError) {
- alias_declaration();
- }
- break;
- }
default:
- jj_la1[82] = jj_gen;
- if (jj_2_34(2147483647)) {
+ jj_la1[116] = jj_gen;
+ if (jj_2_50(5)) {
+ if (!hasError) {
+ package_instantiation_declaration();
+ }
+ } else if (jj_2_51(3)) {
if (!hasError) {
- attribute_declaration();
+ package_body();
+ }
+ } else if (jj_2_52(3)) {
+ if (!hasError) {
+ package_declaration();
}
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case ATTRIBUTE_T:{
+ case SHARED_T:
+ case VARIABLE_T:{
if (!hasError) {
- attribute_specification();
+ variable_declaration();
}
break;
}
- case DISCONNECT_T:{
+ case FILE_T:{
if (!hasError) {
- disconnection_specification();
+ file_declaration();
}
break;
}
- case USE_T:{
+ case ALIAS_T:{
if (!hasError) {
- use_clause();
+ alias_declaration();
+ }
+ break;
+ }
+ case VIEW_T:{
+ if (!hasError) {
+ mode_view_declaration();
}
break;
}
default:
- jj_la1[83] = jj_gen;
- if (jj_2_35(3)) {
+ jj_la1[117] = jj_gen;
+ if (jj_2_53(2147483647)) {
if (!hasError) {
- group_template_declaration();
+ attribute_declaration();
}
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case GROUP_T:{
+ case ATTRIBUTE_T:{
if (!hasError) {
- group_declaration();
+ attribute_specification();
+ }
+ break;
+ }
+ case DISCONNECT_T:{
+ if (!hasError) {
+ disconnection_specification();
+ }
+ break;
+ }
+ case USE_T:{
+ if (!hasError) {
+ use_clause();
}
break;
}
default:
- jj_la1[84] = jj_gen;
- if (jj_2_36(5)) {
+ jj_la1[118] = jj_gen;
+ if (jj_2_54(3)) {
if (!hasError) {
- package_instantiation_declaration();
+ group_template_declaration();
}
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case PACKAGE_T:{
- if (!hasError) {
- package_declaration();
- }
- break;
- }
- case VHDL2008TOOLDIR:{
+ case GROUP_T:{
if (!hasError) {
- jj_consume_token(VHDL2008TOOLDIR);
+ group_declaration();
}
break;
}
default:
- jj_la1[85] = jj_gen;
- jj_consume_token(-1);
- errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ jj_la1[119] = jj_gen;
+ if (jj_2_55(5)) {
+ if (!hasError) {
+ package_instantiation_declaration();
+ }
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case PACKAGE_T:{
+ if (!hasError) {
+ package_declaration();
+ }
+ break;
+ }
+ case VHDL2008TOOLDIR:{
+ if (!hasError) {
+ jj_consume_token(VHDL2008TOOLDIR);
+ }
+ break;
+ }
+ default:
+ jj_la1[120] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ }
+ }
}
}
}
@@ -3137,19 +4322,20 @@ void VhdlParser::entity_declarative_part() {
case TYPE_T:
case USE_T:
case VARIABLE_T:
+ case VIEW_T:
case VHDL2008TOOLDIR:{
;
break;
}
default:
- jj_la1[86] = jj_gen;
- goto end_label_16;
+ jj_la1[121] = jj_gen;
+ goto end_label_22;
}
if (!hasError) {
entity_declarative_item();
}
}
- end_label_16: ;
+ end_label_22: ;
}
}
@@ -3167,7 +4353,7 @@ QCString VhdlParser::entity_designator() {QCString s,s1;
break;
}
default:
- jj_la1[87] = jj_gen;
+ jj_la1[122] = jj_gen;
;
}
}
@@ -3189,7 +4375,7 @@ m_sharedState->currP=VhdlDocGen::GENERIC;m_sharedState->parse_sec=GEN_SEC;
break;
}
default:
- jj_la1[88] = jj_gen;
+ jj_la1[123] = jj_gen;
;
}
}
@@ -3205,7 +4391,7 @@ m_sharedState->currP=VhdlDocGen::PORT;
break;
}
default:
- jj_la1[89] = jj_gen;
+ jj_la1[124] = jj_gen;
;
}
}
@@ -3232,8 +4418,8 @@ QCString VhdlParser::entity_name_list() {QCString s,s1,s2;
break;
}
default:
- jj_la1[90] = jj_gen;
- goto end_label_17;
+ jj_la1[125] = jj_gen;
+ goto end_label_23;
}
if (!hasError) {
jj_consume_token(COMMA_T);
@@ -3245,7 +4431,7 @@ QCString VhdlParser::entity_name_list() {QCString s,s1,s2;
s2+=s;
}
}
- end_label_17: ;
+ end_label_23: ;
}
if (!hasError) {
return s2;
@@ -3271,7 +4457,7 @@ return "all";
break;
}
default:
- jj_la1[91] = jj_gen;
+ jj_la1[126] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -3295,11 +4481,11 @@ assert(false);
void VhdlParser::entity_statement() {
- if (jj_2_37(2147483647)) {
+ if (jj_2_56(2147483647)) {
if (!hasError) {
concurrent_assertion_statement();
}
- } else if (jj_2_38(2147483647)) {
+ } else if (jj_2_57(2147483647)) {
if (!hasError) {
process_statement();
}
@@ -3316,7 +4502,7 @@ void VhdlParser::entity_statement() {
break;
}
default:
- jj_la1[92] = jj_gen;
+ jj_la1[127] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -3339,14 +4525,14 @@ void VhdlParser::entity_statement_part() {
break;
}
default:
- jj_la1[93] = jj_gen;
- goto end_label_18;
+ jj_la1[128] = jj_gen;
+ goto end_label_24;
}
if (!hasError) {
entity_statement();
}
}
- end_label_18: ;
+ end_label_24: ;
}
}
@@ -3375,7 +4561,7 @@ return s;
break;
}
default:
- jj_la1[94] = jj_gen;
+ jj_la1[129] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -3405,7 +4591,7 @@ return s;
break;
}
default:
- jj_la1[95] = jj_gen;
+ jj_la1[130] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -3428,8 +4614,8 @@ QCString VhdlParser::enumeration_type_definition() {QCString s,s1;
break;
}
default:
- jj_la1[96] = jj_gen;
- goto end_label_19;
+ jj_la1[131] = jj_gen;
+ goto end_label_25;
}
if (!hasError) {
jj_consume_token(COMMA_T);
@@ -3441,7 +4627,7 @@ QCString VhdlParser::enumeration_type_definition() {QCString s,s1;
s+=",";s+=s1;
}
}
- end_label_19: ;
+ end_label_25: ;
}
if (!hasError) {
jj_consume_token(RPAREN_T);
@@ -3465,7 +4651,7 @@ QCString VhdlParser::exit_statement() {QCString s,s1,s2;Token *t=0;Token *t1=0;
break;
}
default:
- jj_la1[97] = jj_gen;
+ jj_la1[132] = jj_gen;
;
}
}
@@ -3482,7 +4668,7 @@ QCString VhdlParser::exit_statement() {QCString s,s1,s2;Token *t=0;Token *t1=0;
break;
}
default:
- jj_la1[98] = jj_gen;
+ jj_la1[133] = jj_gen;
;
}
}
@@ -3498,7 +4684,7 @@ QCString VhdlParser::exit_statement() {QCString s,s1,s2;Token *t=0;Token *t1=0;
break;
}
default:
- jj_la1[99] = jj_gen;
+ jj_la1[134] = jj_gen;
;
}
}
@@ -3517,7 +4703,7 @@ assert(false);
QCString VhdlParser::expression() {QCString s,s1,s2;
if (!hasError) {
- s = relation();
+ /* LOOKAHEAD(5) */ s = relation();
}
if (!hasError) {
while (!hasError) {
@@ -3532,8 +4718,8 @@ QCString VhdlParser::expression() {QCString s,s1,s2;
break;
}
default:
- jj_la1[100] = jj_gen;
- goto end_label_20;
+ jj_la1[135] = jj_gen;
+ goto end_label_26;
}
if (!hasError) {
s1 = logop();
@@ -3545,13 +4731,166 @@ QCString VhdlParser::expression() {QCString s,s1,s2;
s+=s1;s+=s2;
}
}
- end_label_20: ;
+ end_label_26: ;
}
return s;
assert(false);
}
+QCString VhdlParser::expression_or_unaffected() {QCString s;
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case ABS_T:
+ case AND_T:
+ case NAND_T:
+ case NEW_T:
+ case NOR_T:
+ case NOT_T:
+ case NULL_T:
+ case OR_T:
+ case XOR_T:
+ case XNOR_T:
+ case LPAREN_T:
+ case PLUS_T:
+ case MINUS_T:
+ case SLSL_T:
+ case QQ_T:
+ case INTEGER:
+ case STRINGLITERAL:
+ case BASIC_IDENTIFIER:
+ case EXTENDED_CHARACTER:
+ case CHARACTER_LITERAL:
+ case DECIMAL_LITERAL:
+ case BASED_LITERAL:
+ case BIT_STRING_LITERAL:{
+ if (!hasError) {
+ s = expression();
+ }
+ if (!hasError) {
+return s;
+ }
+ break;
+ }
+ case UNAFFECTED_T:{
+ if (!hasError) {
+ jj_consume_token(UNAFFECTED_T);
+ }
+ if (!hasError) {
+return "unaffected";
+ }
+ break;
+ }
+ default:
+ jj_la1[136] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ }
+assert(false);
+}
+
+
+QCString VhdlParser::external_pathname() {QCString s;
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case DOT_T:{
+ if (!hasError) {
+ s = absolute_pathname();
+ }
+ if (!hasError) {
+return s;
+ }
+ break;
+ }
+ case NEG_T:{
+ if (!hasError) {
+ s = relative_pathname();
+ }
+ if (!hasError) {
+return s;
+ }
+ break;
+ }
+ case AT_T:{
+ if (!hasError) {
+ s = package_path_name();
+ }
+ if (!hasError) {
+return s;
+ }
+ break;
+ }
+ default:
+ jj_la1[137] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ }
+assert(false);
+}
+
+
+QCString VhdlParser::external_name() {QCString s,s1,s2;
+ if (!hasError) {
+ jj_consume_token(SLSL_T);
+ }
+ if (!hasError) {
+ s = sig_stat();
+ }
+ if (!hasError) {
+ s1 = external_pathname();
+ }
+ if (!hasError) {
+ jj_consume_token(COLON_T);
+ }
+ if (!hasError) {
+ s2 = subtype_indication();
+ }
+ if (!hasError) {
+ jj_consume_token(RSRS_T);
+ }
+QCString t="<<"+s;
+ QCString t1=s1+":"+s2+">>";
+ return s+s1;
+assert(false);
+}
+
+
+QCString VhdlParser::sig_stat() {Token *t;
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case CONSTANT_T:{
+ if (!hasError) {
+ t = jj_consume_token(CONSTANT_T);
+ }
+ if (!hasError) {
+return QCString(t->image);
+ }
+ break;
+ }
+ case SIGNAL_T:{
+ if (!hasError) {
+ t = jj_consume_token(SIGNAL_T);
+ }
+ if (!hasError) {
+return QCString(t->image);
+ }
+ break;
+ }
+ case VARIABLE_T:{
+ if (!hasError) {
+ t = jj_consume_token(VARIABLE_T);
+ }
+ if (!hasError) {
+return QCString(t->image);
+ }
+ break;
+ }
+ default:
+ jj_la1[138] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ }
+assert(false);
+}
+
+
QCString VhdlParser::logop() {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case AND_T:{
@@ -3609,7 +4948,7 @@ return "or" ;
break;
}
default:
- jj_la1[101] = jj_gen;
+ jj_la1[139] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -3658,7 +4997,7 @@ s+="**";s+=s1;
break;
}
default:
- jj_la1[102] = jj_gen;
+ jj_la1[140] = jj_gen;
;
}
}
@@ -3721,7 +5060,7 @@ return s;
break;
}
default:
- jj_la1[103] = jj_gen;
+ jj_la1[141] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -3752,7 +5091,7 @@ QCString VhdlParser::file_declaration() {QCString s,s1,s2,s3;
break;
}
default:
- jj_la1[104] = jj_gen;
+ jj_la1[142] = jj_gen;
;
}
}
@@ -3760,7 +5099,7 @@ QCString VhdlParser::file_declaration() {QCString s,s1,s2,s3;
jj_consume_token(SEMI_T);
}
QCString t1=s2+" "+s3;
- outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,VhdlDocGen::VFILE,0,t1.data(),Public);
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,VhdlDocGen::VFILE,0,t1.data(),Protection::Public);
return " file "+s+":"+s2+" "+s3+";";
assert(false);
}
@@ -3788,7 +5127,7 @@ QCString VhdlParser::file_open_information() {QCString s,s1,s2;
break;
}
default:
- jj_la1[105] = jj_gen;
+ jj_la1[143] = jj_gen;
;
}
}
@@ -3799,13 +5138,28 @@ QCString VhdlParser::file_open_information() {QCString s,s1,s2;
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case IN_T:
case OUT_T:{
- if (!hasError) {
- inout_stat();
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case IN_T:{
+ if (!hasError) {
+ jj_consume_token(IN_T);
+ }
+ break;
+ }
+ case OUT_T:{
+ if (!hasError) {
+ jj_consume_token(OUT_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[144] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
break;
}
default:
- jj_la1[106] = jj_gen;
+ jj_la1[145] = jj_gen;
;
}
}
@@ -3832,6 +5186,39 @@ assert(false);
}
+QCString VhdlParser::file_incomplete_type_definition() {QCString s,s1;
+ if (!hasError) {
+ jj_consume_token(FILE_T);
+ }
+ if (!hasError) {
+ jj_consume_token(OF_T);
+ }
+ if (!hasError) {
+ type_mark();
+ }
+return "";
+assert(false);
+}
+
+
+QCString VhdlParser::floating_incomplete_type_definition() {QCString s,s1;
+ if (!hasError) {
+ jj_consume_token(RANGE_T);
+ }
+ if (!hasError) {
+ jj_consume_token(BOX_T);
+ }
+ if (!hasError) {
+ jj_consume_token(DOT_T);
+ }
+ if (!hasError) {
+ jj_consume_token(BOX_T);
+ }
+return "range <>.<>";
+assert(false);
+}
+
+
QCString VhdlParser::floating_type_definition() {QCString s;
if (!hasError) {
s = range_constraint();
@@ -3865,7 +5252,7 @@ return QCString(tok->image);
break;
}
default:
- jj_la1[107] = jj_gen;
+ jj_la1[146] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -3904,7 +5291,7 @@ s+"("+s1+")";
break;
}
default:
- jj_la1[108] = jj_gen;
+ jj_la1[147] = jj_gen;
;
}
}
@@ -3925,7 +5312,7 @@ QCString VhdlParser::full_type_declaration() {std::shared_ptr<Entry> tmpEntry;QC
}
if (!hasError) {
tmpEntry=m_sharedState->current;
- outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,VhdlDocGen::RECORD,0,0,Public);
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,VhdlDocGen::RECORD,0,0,Protection::Public);
}
if (!hasError) {
s2 = type_definition();
@@ -3972,6 +5359,256 @@ assert(false);
}
+void VhdlParser::geninter() {
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case GENERIC_T:{
+ if (!hasError) {
+ gen_interface_list();
+ }
+ if (!hasError) {
+ jj_consume_token(SEMI_T);
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case GENERIC_T:{
+ if (!hasError) {
+ gen_assoc_list();
+ }
+ if (!hasError) {
+ jj_consume_token(SEMI_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[148] = jj_gen;
+ ;
+ }
+ }
+ break;
+ }
+ default:
+ jj_la1[149] = jj_gen;
+ ;
+ }
+ }
+}
+
+
+void VhdlParser::gen_assoc_list() {
+ if (!hasError) {
+ jj_consume_token(GENERIC_T);
+ }
+ if (!hasError) {
+ jj_consume_token(MAP_T);
+ }
+ if (!hasError) {
+ jj_consume_token(LPAREN_T);
+ }
+ if (!hasError) {
+ association_list();
+ }
+ if (!hasError) {
+ jj_consume_token(RPAREN_T);
+ }
+}
+
+
+void VhdlParser::gen_interface_list() {
+ if (!hasError) {
+ jj_consume_token(GENERIC_T);
+ }
+ if (!hasError) {
+ jj_consume_token(LPAREN_T);
+ }
+ if (!hasError) {
+m_sharedState->parse_sec=GEN_SEC;
+ }
+ if (!hasError) {
+ interface_list();
+ }
+ if (!hasError) {
+m_sharedState->parse_sec=0;
+ }
+ if (!hasError) {
+ jj_consume_token(RPAREN_T);
+ }
+}
+
+
+void VhdlParser::generate_statement_body() {
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case ALIAS_T:
+ case ATTRIBUTE_T:
+ case BEGIN_T:
+ case COMPONENT_T:
+ case CONSTANT_T:
+ case DISCONNECT_T:
+ case FILE_T:
+ case FOR_T:
+ case FUNCTION_T:
+ case GROUP_T:
+ case IMPURE_T:
+ case PACKAGE_T:
+ case PROCEDURE_T:
+ case PURE_T:
+ case SIGNAL_T:
+ case SHARED_T:
+ case SUBTYPE_T:
+ case TYPE_T:
+ case USE_T:
+ case VARIABLE_T:
+ case VIEW_T:{
+ if (!hasError) {
+ while (!hasError) {
+ if (jj_2_58(2147483647)) {
+ ;
+ } else {
+ goto end_label_27;
+ }
+ if (!hasError) {
+ block_declarative_item();
+ }
+ }
+ end_label_27: ;
+ }
+ if (!hasError) {
+ jj_consume_token(BEGIN_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[150] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ while (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case ASSERT_T:
+ case POSTPONED_T:
+ case PROCESS_T:
+ case WITH_T:
+ case LPAREN_T:
+ case SLSL_T:
+ case STRINGLITERAL:
+ case BASIC_IDENTIFIER:
+ case EXTENDED_CHARACTER:
+ case VHDL2008TOOLDIR:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[151] = jj_gen;
+ goto end_label_28;
+ }
+ if (!hasError) {
+ concurrent_statement();
+ }
+ }
+ end_label_28: ;
+ }
+}
+
+
+void VhdlParser::generate_statement_body1() {
+ if (!hasError) {
+ generate_statement_body();
+ }
+ if (!hasError) {
+ generate_scheme_1();
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case ELSE_T:{
+ if (!hasError) {
+ generate_scheme_2();
+ }
+ break;
+ }
+ default:
+ jj_la1[152] = jj_gen;
+ ;
+ }
+ }
+}
+
+
+void VhdlParser::generate_scheme_1() {
+ if (!hasError) {
+ while (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case ELSIF_T:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[153] = jj_gen;
+ goto end_label_29;
+ }
+ if (!hasError) {
+ generate_scheme_3();
+ }
+ }
+ end_label_29: ;
+ }
+}
+
+
+void VhdlParser::generate_scheme_2() {
+ if (!hasError) {
+ jj_consume_token(ELSE_T);
+ }
+ if (!hasError) {
+ if (jj_2_59(2)) {
+ if (!hasError) {
+ identifier();
+ }
+ if (!hasError) {
+ jj_consume_token(COLON_T);
+ }
+ } else {
+ ;
+ }
+ }
+ if (!hasError) {
+ jj_consume_token(GENERATE_T);
+ }
+ if (!hasError) {
+ generate_statement_body();
+ }
+}
+
+
+void VhdlParser::generate_scheme_3() {
+ if (!hasError) {
+ jj_consume_token(ELSIF_T);
+ }
+ if (!hasError) {
+ if (jj_2_60(2)) {
+ if (!hasError) {
+ identifier();
+ }
+ if (!hasError) {
+ jj_consume_token(COLON_T);
+ }
+ } else {
+ ;
+ }
+ }
+ if (!hasError) {
+ expression();
+ }
+ if (!hasError) {
+ jj_consume_token(GENERATE_T);
+ }
+ if (!hasError) {
+ generate_statement_body();
+ }
+}
+
+
void VhdlParser::generate_statement() {QCString s;
if (!hasError) {
s = identifier();
@@ -4013,7 +5650,7 @@ outlineParser()->error_skipto(GENERATE_T);
break;
}
default:
- jj_la1[109] = jj_gen;
+ jj_la1[154] = jj_gen;
;
}
}
@@ -4040,7 +5677,7 @@ void VhdlParser::generate_scheme() {
jj_consume_token(IF_T);
}
if (!hasError) {
- if (jj_2_39(2)) {
+ if (jj_2_61(2)) {
if (!hasError) {
identifier();
}
@@ -4057,7 +5694,7 @@ void VhdlParser::generate_scheme() {
break;
}
default:
- jj_la1[110] = jj_gen;
+ jj_la1[155] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -4139,7 +5776,7 @@ return s;
break;
}
default:
- jj_la1[111] = jj_gen;
+ jj_la1[156] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -4161,8 +5798,8 @@ QCString VhdlParser::group_constituent_list() {QCString s,s1,s2;
break;
}
default:
- jj_la1[112] = jj_gen;
- goto end_label_21;
+ jj_la1[157] = jj_gen;
+ goto end_label_30;
}
if (!hasError) {
jj_consume_token(COMMA_T);
@@ -4174,7 +5811,7 @@ QCString VhdlParser::group_constituent_list() {QCString s,s1,s2;
s2+=",";s2+=s1;
}
}
- end_label_21: ;
+ end_label_30: ;
}
return s+s2;
assert(false);
@@ -4272,7 +5909,7 @@ return QCString(tok->image);
break;
}
default:
- jj_la1[113] = jj_gen;
+ jj_la1[158] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -4292,8 +5929,8 @@ QCString VhdlParser::identifier_list() {QCString str,str1;
break;
}
default:
- jj_la1[114] = jj_gen;
- goto end_label_22;
+ jj_la1[159] = jj_gen;
+ goto end_label_31;
}
if (!hasError) {
jj_consume_token(COMMA_T);
@@ -4305,7 +5942,16 @@ QCString VhdlParser::identifier_list() {QCString str,str1;
str+=",";str+=str1;
}
}
- end_label_22: ;
+ end_label_31: ;
+ }
+ if (!hasError) {
+ if (jj_2_62(1) && (checkListTok())) {
+ if (!hasError) {
+ jj_consume_token(SEMI_T);
+ }
+ } else {
+ ;
+ }
}
return str;
assert(false);
@@ -4326,7 +5972,7 @@ void VhdlParser::if_statement() {QCString s,s1;
break;
}
default:
- jj_la1[115] = jj_gen;
+ jj_la1[160] = jj_gen;
;
}
}
@@ -4344,7 +5990,7 @@ s.prepend("if ");
FlowChart::addFlowChart(FlowChart::IF_NO,QCString(),s);
}
if (!hasError) {
- sequence_of_statement();
+ sequence_of_statements();
}
if (!hasError) {
while (!hasError) {
@@ -4354,8 +6000,8 @@ s.prepend("if ");
break;
}
default:
- jj_la1[116] = jj_gen;
- goto end_label_23;
+ jj_la1[161] = jj_gen;
+ goto end_label_32;
}
if (!hasError) {
jj_consume_token(ELSIF_T);
@@ -4371,10 +6017,10 @@ s1.prepend("elsif ");
FlowChart::addFlowChart(FlowChart::ELSIF_NO,QCString(),s1);
}
if (!hasError) {
- sequence_of_statement();
+ sequence_of_statements();
}
}
- end_label_23: ;
+ end_label_32: ;
}
if (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
@@ -4386,12 +6032,12 @@ s1.prepend("elsif ");
FlowChart::addFlowChart(FlowChart::ELSE_NO,QCString(),QCString());
}
if (!hasError) {
- sequence_of_statement();
+ sequence_of_statements();
}
break;
}
default:
- jj_la1[117] = jj_gen;
+ jj_la1[162] = jj_gen;
;
}
}
@@ -4411,7 +6057,7 @@ FlowChart::addFlowChart(FlowChart::ELSE_NO,QCString(),QCString());
break;
}
default:
- jj_la1[118] = jj_gen;
+ jj_la1[163] = jj_gen;
;
}
}
@@ -4423,6 +6069,179 @@ FlowChart::moveToPrevLevel();
}
+QCString VhdlParser::incomplete_subtype_indication() {QCString s;
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case LPAREN_T:
+ case SLSL_T:
+ case STRINGLITERAL:
+ case BASIC_IDENTIFIER:
+ case EXTENDED_CHARACTER:{
+ if (!hasError) {
+ subtype_indication();
+ }
+ if (!hasError) {
+return "";
+ }
+ break;
+ }
+ case TYPE_T:{
+ if (!hasError) {
+ anonymous_type_indication();
+ }
+ if (!hasError) {
+return "";
+ }
+ break;
+ }
+ default:
+ jj_la1[164] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ }
+assert(false);
+}
+
+
+QCString VhdlParser::incomplete_type_definition() {QCString s;
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case PRIVATE_T:{
+ if (!hasError) {
+ private_incomplete_type_definition();
+ }
+ if (!hasError) {
+return "";
+ }
+ break;
+ }
+ case BOX_T:{
+ if (!hasError) {
+ scalar_incomplete_type_definition();
+ }
+ if (!hasError) {
+return "";
+ }
+ break;
+ }
+ case LPAREN_T:{
+ if (!hasError) {
+ discrete_incomplete_type_definition();
+ }
+ if (!hasError) {
+return "";
+ }
+ break;
+ }
+ case UNITS_T:{
+ if (!hasError) {
+ physical_incomplete_type_definition();
+ }
+ if (!hasError) {
+return "";
+ }
+ break;
+ }
+ default:
+ jj_la1[165] = jj_gen;
+ if (jj_2_63(4)) {
+ if (!hasError) {
+ floating_incomplete_type_definition();
+ }
+ if (!hasError) {
+return "";
+ }
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case RANGE_T:{
+ if (!hasError) {
+ integer_incomplete_type_definition();
+ }
+ if (!hasError) {
+return "";
+ }
+ break;
+ }
+ case ARRAY_T:{
+ if (!hasError) {
+ array_incomplete_type_definition();
+ }
+ if (!hasError) {
+return "";
+ }
+ break;
+ }
+ case ACCESS_T:{
+ if (!hasError) {
+ access_incomplete_type_definition();
+ }
+ if (!hasError) {
+return "";
+ }
+ break;
+ }
+ case FILE_T:{
+ if (!hasError) {
+ file_incomplete_type_definition();
+ }
+ if (!hasError) {
+return "";
+ }
+ break;
+ }
+ default:
+ jj_la1[166] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ }
+ }
+ }
+assert(false);
+}
+
+
+QCString VhdlParser::incomplete_type_mark() {QCString s;
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case SLSL_T:
+ case STRINGLITERAL:
+ case BASIC_IDENTIFIER:
+ case EXTENDED_CHARACTER:{
+ if (!hasError) {
+ type_mark();
+ }
+ if (!hasError) {
+return "";
+ }
+ break;
+ }
+ case TYPE_T:{
+ if (!hasError) {
+ anonymous_type_indication();
+ }
+ if (!hasError) {
+return "";
+ }
+ break;
+ }
+ default:
+ jj_la1[167] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ }
+assert(false);
+}
+
+
+QCString VhdlParser::integer_incomplete_type_definition() {QCString s;
+ if (!hasError) {
+ jj_consume_token(RANGE_T);
+ }
+ if (!hasError) {
+ jj_consume_token(BOX_T);
+ }
+return "range <>";
+assert(false);
+}
+
+
QCString VhdlParser::incomplete_type_declaration() {QCString s;
if (!hasError) {
jj_consume_token(TYPE_T);
@@ -4456,8 +6275,8 @@ s+=s2;
break;
}
default:
- jj_la1[119] = jj_gen;
- goto end_label_24;
+ jj_la1[168] = jj_gen;
+ goto end_label_33;
}
if (!hasError) {
jj_consume_token(COMMA_T);
@@ -4469,7 +6288,7 @@ s+=s2;
s+=",";s+=s1;
}
}
- end_label_24: ;
+ end_label_33: ;
}
if (!hasError) {
jj_consume_token(RPAREN_T);
@@ -4480,7 +6299,7 @@ assert(false);
QCString VhdlParser::index_specification() {QCString s;
- if (jj_2_40(2147483647)) {
+ if (jj_2_64(2147483647)) {
if (!hasError) {
s = discrete_range();
}
@@ -4521,7 +6340,7 @@ return s;
break;
}
default:
- jj_la1[120] = jj_gen;
+ jj_la1[169] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -4548,6 +6367,8 @@ assert(false);
QCString VhdlParser::instantiation_unit() {QCString s,s1,s2;
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case COMPONENT_T:
+ case SLSL_T:
+ case STRINGLITERAL:
case BASIC_IDENTIFIER:
case EXTENDED_CHARACTER:{
if (!hasError) {
@@ -4559,12 +6380,12 @@ QCString VhdlParser::instantiation_unit() {QCString s,s1,s2;
break;
}
default:
- jj_la1[121] = jj_gen;
+ jj_la1[170] = jj_gen;
;
}
}
if (!hasError) {
- s = identifier();
+ s = name();
}
if (!hasError) {
s1="component "; return s;
@@ -4576,7 +6397,7 @@ s1="component "; return s;
jj_consume_token(ENTITY_T);
}
if (!hasError) {
- if (jj_2_41(2)) {
+ if (jj_2_65(2)) {
if (!hasError) {
jj_consume_token(BASIC_IDENTIFIER);
}
@@ -4611,7 +6432,7 @@ s+="(";s+=s1;s+=")" ;
break;
}
default:
- jj_la1[122] = jj_gen;
+ jj_la1[171] = jj_gen;
;
}
}
@@ -4633,7 +6454,7 @@ s1="configuration ";return s;
break;
}
default:
- jj_la1[123] = jj_gen;
+ jj_la1[172] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -4674,7 +6495,7 @@ return QCString(tok->image);
break;
}
default:
- jj_la1[124] = jj_gen;
+ jj_la1[173] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -4701,37 +6522,47 @@ assert(false);
QCString VhdlParser::interface_declaration() {QCString s,s1;
- if (jj_2_42(5)) {
+ if (jj_2_66(2147483647)) {
if (!hasError) {
- s = interface_subprogram_declaration();
+ s = interface_variable_declaration();
}
if (!hasError) {
return s;
}
- } else if (jj_2_43(5)) {
+ } else if (jj_2_67(2147483647)) {
if (!hasError) {
- interface_package_declaration();
+ interface_object_declaration();
}
if (!hasError) {
-return s;
+return " ";
}
- } else if (jj_2_44(5)) {
+ } else if (jj_2_68(2147483647)) {
if (!hasError) {
- s = interface_variable_declaration();
+m_sharedState->interf_sec=true;
+ }
+ if (!hasError) {
+ s = interface_subprogram_declaration();
+ }
+ if (!hasError) {
+m_sharedState->interf_sec=false ;return s;
+ }
+ } else if (jj_2_69(2147483647)) {
+ if (!hasError) {
+ interface_package_declaration();
}
if (!hasError) {
return s;
}
- } else if (jj_2_45(5)) {
+ } else if (jj_2_70(5)) {
if (!hasError) {
- interface_file_declaration();
+ s = interface_type_declaration();
}
if (!hasError) {
return s;
}
- } else if (jj_2_46(2147483647)) {
+ } else if (jj_2_71(2147483647)) {
if (!hasError) {
- subprogram_declaration();
+ interface_subprogram_declaration();
}
if (!hasError) {
return s;
@@ -4752,13 +6583,13 @@ return s;
}
if (!hasError) {
if (m_sharedState->parse_sec==GEN_SEC)
- outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,m_sharedState->currP,s1.data(),0,Public);
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,m_sharedState->currP,s1.data(),0,Protection::Public);
return s;
}
break;
}
default:
- jj_la1[125] = jj_gen;
+ jj_la1[174] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -4767,6 +6598,89 @@ assert(false);
}
+void VhdlParser::interface_object_declaration() {QCString s,s1,s2;
+ if (jj_2_72(2147483647)) {
+ if (!hasError) {
+ interface_constant_declaration();
+ }
+ } else if (jj_2_73(2147483647)) {
+ if (!hasError) {
+ interface_signal_declaration();
+ }
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case FILE_T:{
+ if (!hasError) {
+ interface_file_declaration();
+ }
+ break;
+ }
+ default:
+ jj_la1[175] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ }
+ }
+}
+
+
+QCString VhdlParser::interface_constant_declaration() {QCString s,s1,s2;
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case CONSTANT_T:{
+ if (!hasError) {
+ jj_consume_token(CONSTANT_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[176] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ identifier_list();
+ }
+ if (!hasError) {
+ jj_consume_token(COLON_T);
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case IN_T:{
+ if (!hasError) {
+ jj_consume_token(IN_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[177] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ interface_type_indication();
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case VARASSIGN_T:{
+ if (!hasError) {
+ jj_consume_token(VARASSIGN_T);
+ }
+ if (!hasError) {
+ conditional_expression();
+ }
+ break;
+ }
+ default:
+ jj_la1[178] = jj_gen;
+ ;
+ }
+ }
+return "";
+assert(false);
+}
+
+
QCString VhdlParser::interface_element() {QCString s;
if (!hasError) {
s = interface_declaration();
@@ -4789,7 +6703,7 @@ QCString VhdlParser::interface_file_declaration() {QCString s,s1;
if (!hasError) {
s1 = subtype_indication();
}
-outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,VhdlDocGen::VFILE,0,s1.data(),Public);
+outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,VhdlDocGen::VFILE,0,s1.data(),Protection::Public);
return QCString(" file "+s+":"+s1);
assert(false);
}
@@ -4801,14 +6715,10 @@ QCString VhdlParser::interface_list() {QCString s,s1,s2;
}
if (!hasError) {
while (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case SEMI_T:{
+ if (jj_2_74(2)) {
;
- break;
- }
- default:
- jj_la1[126] = jj_gen;
- goto end_label_25;
+ } else {
+ goto end_label_34;
}
if (!hasError) {
jj_consume_token(SEMI_T);
@@ -4820,13 +6730,639 @@ QCString VhdlParser::interface_list() {QCString s,s1,s2;
s2+=";";s2+=s1;
}
}
- end_label_25: ;
+ end_label_34: ;
+ }
+ if (!hasError) {
+ if (jj_2_75(1) && (checkListTok())) {
+ if (!hasError) {
+ jj_consume_token(SEMI_T);
+ }
+ } else {
+ ;
+ }
}
return s+s2;
assert(false);
}
+QCString VhdlParser::interface_package_declaration() {QCString s,s1,s2;
+ if (!hasError) {
+ jj_consume_token(PACKAGE_T);
+ }
+ if (!hasError) {
+ identifier();
+ }
+ if (!hasError) {
+ jj_consume_token(IS_T);
+ }
+ if (!hasError) {
+ jj_consume_token(NEW_T);
+ }
+ if (!hasError) {
+ name();
+ }
+ if (!hasError) {
+ interface_package_generic_map_aspect();
+ }
+return "";
+assert(false);
+}
+
+
+QCString VhdlParser::interface_package_generic_map_aspect() {QCString s,s1,s2;
+ if (jj_2_76(4)) {
+ if (!hasError) {
+ jj_consume_token(GENERIC_T);
+ }
+ if (!hasError) {
+ jj_consume_token(MAP_T);
+ }
+ if (!hasError) {
+ jj_consume_token(LPAREN_T);
+ }
+ if (!hasError) {
+ jj_consume_token(BOX_T);
+ }
+ if (!hasError) {
+ jj_consume_token(RPAREN_T);
+ }
+ if (!hasError) {
+return "";
+ }
+ } else if (jj_2_77(4)) {
+ if (!hasError) {
+ jj_consume_token(GENERIC_T);
+ }
+ if (!hasError) {
+ jj_consume_token(MAP_T);
+ }
+ if (!hasError) {
+ jj_consume_token(LPAREN_T);
+ }
+ if (!hasError) {
+ jj_consume_token(DEFAULT_T);
+ }
+ if (!hasError) {
+ jj_consume_token(RPAREN_T);
+ }
+ if (!hasError) {
+return "";
+ }
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case GENERIC_T:{
+ if (!hasError) {
+ generic_map_aspect();
+ }
+ if (!hasError) {
+return "";
+ }
+ break;
+ }
+ default:
+ jj_la1[179] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ }
+ }
+assert(false);
+}
+
+
+QCString VhdlParser::interface_procedure_specification() {QCString s,s1,s2;
+ if (!hasError) {
+ jj_consume_token(PROCEDURE_T);
+ }
+ if (!hasError) {
+ designator();
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case PARAMETER_T:
+ case LPAREN_T:{
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case PARAMETER_T:{
+ if (!hasError) {
+ jj_consume_token(PARAMETER_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[180] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ jj_consume_token(LPAREN_T);
+ }
+ if (!hasError) {
+ formal_parameter_list();
+ }
+ if (!hasError) {
+ jj_consume_token(RPAREN_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[181] = jj_gen;
+ ;
+ }
+ }
+return "";
+assert(false);
+}
+
+
+QCString VhdlParser::interface_signal_declaration() {QCString s,s1,s2;
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case SIGNAL_T:{
+ if (!hasError) {
+ jj_consume_token(SIGNAL_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[182] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ identifier_list();
+ }
+ if (!hasError) {
+ jj_consume_token(COLON_T);
+ }
+ if (!hasError) {
+ interface_type_indication();
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BUS_T:{
+ if (!hasError) {
+ jj_consume_token(BUS_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[183] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case VARASSIGN_T:{
+ if (!hasError) {
+ jj_consume_token(VARASSIGN_T);
+ }
+ if (!hasError) {
+ conditional_expression();
+ }
+ break;
+ }
+ default:
+ jj_la1[184] = jj_gen;
+ ;
+ }
+ }
+return "";
+assert(false);
+}
+
+
+QCString VhdlParser::interface_subprogram_declaration() {QCString s;
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case PROCEDURE_T:{
+ if (!hasError) {
+ s = iproc();
+ }
+ if (!hasError) {
+return s;
+ }
+ break;
+ }
+ case FUNCTION_T:
+ case IMPURE_T:
+ case PURE_T:{
+ if (!hasError) {
+ s = ifunc();
+ }
+ if (!hasError) {
+return s;
+ }
+ break;
+ }
+ default:
+ jj_la1[185] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ }
+assert(false);
+}
+
+
+QCString VhdlParser::iproc() {QCString s,s1;
+ if (!hasError) {
+ jj_consume_token(PROCEDURE_T);
+ }
+ if (!hasError) {
+ s = identifier();
+ }
+ if (!hasError) {
+ s1 = param();
+ }
+m_sharedState->current->name=s;
+ return "procedure "+s+s1;
+assert(false);
+}
+
+
+QCString VhdlParser::ifunc() {QCString s,s1,s2,s3;Token *t=0;Token *t1=0;Token *t2=0;
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case IMPURE_T:
+ case PURE_T:{
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case PURE_T:{
+ if (!hasError) {
+ t = jj_consume_token(PURE_T);
+ }
+ break;
+ }
+ case IMPURE_T:{
+ if (!hasError) {
+ t = jj_consume_token(IMPURE_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[186] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ }
+ break;
+ }
+ default:
+ jj_la1[187] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ jj_consume_token(FUNCTION_T);
+ }
+ if (!hasError) {
+ s = name();
+ }
+ if (!hasError) {
+ s1 = param();
+ }
+ if (!hasError) {
+ jj_consume_token(RETURN_T);
+ }
+ if (!hasError) {
+ s2 = name();
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case IS_T:{
+ if (!hasError) {
+ t1 = jj_consume_token(IS_T);
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BASIC_IDENTIFIER:
+ case EXTENDED_CHARACTER:{
+ if (!hasError) {
+ s3 = identifier();
+ }
+ break;
+ }
+ case BOX_T:{
+ if (!hasError) {
+ t2 = jj_consume_token(BOX_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[188] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ }
+ }
+ break;
+ }
+ default:
+ jj_la1[189] = jj_gen;
+ ;
+ }
+ }
+QCString q;
+ if(t) q=t->image.data();
+ if(t2) s3="<>";
+ if (!s3.isEmpty())
+ {
+ s3.prepend(" is ");
+ }
+ m_sharedState->current->name=s;
+ if (m_sharedState->parse_sec==GEN_SEC)
+ {
+ QCString ss=q+" function "+s1+" return "+s2+s3;
+ int a=outlineParser()->getLine(FUNCTION_T);
+ int b=outlineParser()->getLine(PROCEDURE_T);
+
+ if (a>b) b=a;
+ outlineParser()->addVhdlType(m_sharedState->current->name.data(),b,Entry::VARIABLE_SEC,VhdlDocGen::GENERIC,ss.data(),0,Protection::Public);
+ }
+ m_sharedState->currP=0;return QCString();
+assert(false);
+}
+
+
+QCString VhdlParser::param() {QCString s,s1;Token *tok=0;
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case PARAMETER_T:{
+ if (!hasError) {
+ tok = jj_consume_token(PARAMETER_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[190] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+m_sharedState->param_sec=PARAM_SEC;
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case LPAREN_T:{
+ if (!hasError) {
+ jj_consume_token(LPAREN_T);
+ }
+ if (!hasError) {
+ s1 = interface_list();
+ }
+ if (!hasError) {
+ jj_consume_token(RPAREN_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[191] = jj_gen;
+ ;
+ }
+ }
+if(tok)
+ {
+ s = tok->image.data();
+ }
+ m_sharedState->param_sec=0;
+ return s+"("+s1+")";
+assert(false);
+}
+
+
+QCString VhdlParser::interface_subprogram_default() {QCString s,s1,s2;
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case SLSL_T:
+ case STRINGLITERAL:
+ case BASIC_IDENTIFIER:
+ case EXTENDED_CHARACTER:{
+ if (!hasError) {
+ name();
+ }
+ break;
+ }
+ case BOX_T:{
+ if (!hasError) {
+ jj_consume_token(BOX_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[192] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ }
+assert(false);
+}
+
+
+QCString VhdlParser::interface_subprogram_specification() {QCString s,s1,s2;
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case PROCEDURE_T:{
+ if (!hasError) {
+ interface_procedure_specification();
+ }
+ if (!hasError) {
+return "";
+ }
+ break;
+ }
+ case FUNCTION_T:
+ case IMPURE_T:
+ case PURE_T:{
+ if (!hasError) {
+ interface_function_specification();
+ }
+ if (!hasError) {
+return "";
+ }
+ break;
+ }
+ default:
+ jj_la1[193] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ }
+assert(false);
+}
+
+
+QCString VhdlParser::interface_function_specification() {QCString s,s1,s2;
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case IMPURE_T:
+ case PURE_T:{
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case PURE_T:{
+ if (!hasError) {
+ jj_consume_token(PURE_T);
+ }
+ break;
+ }
+ case IMPURE_T:{
+ if (!hasError) {
+ jj_consume_token(IMPURE_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[194] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ }
+ break;
+ }
+ default:
+ jj_la1[195] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ jj_consume_token(FUNCTION_T);
+ }
+ if (!hasError) {
+ designator();
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case GENERIC_T:{
+ if (!hasError) {
+ subprogram_header();
+ }
+ break;
+ }
+ default:
+ jj_la1[196] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case PARAMETER_T:
+ case LPAREN_T:{
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case PARAMETER_T:{
+ if (!hasError) {
+ jj_consume_token(PARAMETER_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[197] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ jj_consume_token(LPAREN_T);
+ }
+ if (!hasError) {
+ formal_parameter_list();
+ }
+ if (!hasError) {
+ jj_consume_token(RPAREN_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[198] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ jj_consume_token(RETURN_T);
+ }
+ if (!hasError) {
+ if (jj_2_78(2)) {
+ if (!hasError) {
+ identifier();
+ }
+ if (!hasError) {
+ jj_consume_token(OF_T);
+ }
+ } else {
+ ;
+ }
+ }
+ if (!hasError) {
+ type_mark();
+ }
+return "";
+assert(false);
+}
+
+
+QCString VhdlParser::interface_incomplete_type_declaration() {QCString s="type";QCString s1;
+ if (!hasError) {
+ jj_consume_token(TYPE_T);
+ }
+ if (!hasError) {
+ s1 = identifier();
+ }
+if (m_sharedState->currP!=VhdlDocGen::COMPONENT && m_sharedState->interf_sec==false)
+ {
+ if (m_sharedState->currP==VhdlDocGen::FUNCTION || m_sharedState->currP==VhdlDocGen::PROCEDURE)
+ {
+ outlineParser()->addProto("",s1.data(),s.data(),"","","");
+ }
+ else if(m_sharedState->parse_sec==GEN_SEC)
+ {
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,VhdlDocGen::GENERIC,s1.data(),"",Protection::Public);
+ }
+
+ return s+" "+s1;
+ }
+assert(false);
+}
+
+
+QCString VhdlParser::interface_type_declaration() {QCString s;
+ if (!hasError) {
+ s = interface_incomplete_type_declaration();
+ }
+return s;
+assert(false);
+}
+
+
+QCString VhdlParser::interface_type_indication() {QCString s,s1,s2;
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case LPAREN_T:
+ case SLSL_T:
+ case STRINGLITERAL:
+ case BASIC_IDENTIFIER:
+ case EXTENDED_CHARACTER:{
+ if (!hasError) {
+ subtype_indication();
+ }
+ if (!hasError) {
+return "";
+ }
+ break;
+ }
+ case TYPE_T:{
+ if (!hasError) {
+ anonymous_type_indication();
+ }
+ if (!hasError) {
+return "";
+ }
+ break;
+ }
+ case VIEW_T:{
+ if (!hasError) {
+ mode_view_indication();
+ }
+ if (!hasError) {
+return "";
+ }
+ break;
+ }
+ default:
+ jj_la1[199] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ }
+assert(false);
+}
+
+
QCString VhdlParser::interface_variable_declaration() {Token *tok=0;Token *tok1=0;Token *tok2=0;QCString s,s1,s2,s3,s4,s5;
if (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
@@ -4861,7 +7397,7 @@ QCString VhdlParser::interface_variable_declaration() {Token *tok=0;Token *tok1=
break;
}
default:
- jj_la1[127] = jj_gen;
+ jj_la1[200] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -4869,7 +7405,7 @@ QCString VhdlParser::interface_variable_declaration() {Token *tok=0;Token *tok1=
break;
}
default:
- jj_la1[128] = jj_gen;
+ jj_la1[201] = jj_gen;
;
}
}
@@ -4892,7 +7428,7 @@ QCString VhdlParser::interface_variable_declaration() {Token *tok=0;Token *tok1=
break;
}
default:
- jj_la1[129] = jj_gen;
+ jj_la1[202] = jj_gen;
;
}
}
@@ -4908,7 +7444,7 @@ QCString VhdlParser::interface_variable_declaration() {Token *tok=0;Token *tok1=
break;
}
default:
- jj_la1[130] = jj_gen;
+ jj_la1[203] = jj_gen;
;
}
}
@@ -4924,7 +7460,7 @@ QCString VhdlParser::interface_variable_declaration() {Token *tok=0;Token *tok1=
break;
}
default:
- jj_la1[131] = jj_gen;
+ jj_la1[204] = jj_gen;
;
}
}
@@ -4938,21 +7474,17 @@ if(tok)
s3+=":=";
QCString it=s+":"+s1+" "+s2+" "+s3+" "+s4;
- if (m_sharedState->currP!=VhdlDocGen::COMPONENT)
+ if (m_sharedState->currP!=VhdlDocGen::COMPONENT && m_sharedState->interf_sec==false)
{
- if (m_sharedState->currP==VhdlDocGen::FUNCTION || m_sharedState->currP==VhdlDocGen::PROCEDURE)
+ if (m_sharedState->currP==VhdlDocGen::FUNCTION || m_sharedState->currP==VhdlDocGen::PROCEDURE)
{
outlineParser()->addProto(s5.data(),s.data(),s1.data(),s2.data(),s3.data(),s4.data());
}
else
{
QCString i=s2+s3+s4;
- if (m_sharedState->currP==VhdlDocGen::GENERIC && m_sharedState->param_sec==0)
- outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,m_sharedState->currP,i.data(),s1.data(),Public);
- else if(m_sharedState->parse_sec != GEN_SEC)
- outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,m_sharedState->currP,i.data(),s1.data(),Public);
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,m_sharedState->currP,i.data(),s1.data(),Protection::Public);
}
- // fprintf(stderr,"\n\n <<port %s >>\n",$$.data());
} // if component
return it;
assert(false);
@@ -4992,7 +7524,7 @@ QCString q=m_sharedState->lab+" for "+s;
break;
}
default:
- jj_la1[132] = jj_gen;
+ jj_la1[205] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -5023,7 +7555,7 @@ QCString VhdlParser::library_clause() {QCString s;
}
if ( m_sharedState->parse_sec==0 && Config_getBool(SHOW_INCLUDE_FILES) )
{
- outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,VhdlDocGen::LIBRARY,s.data(),"_library_",Public);
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,VhdlDocGen::LIBRARY,s.data(),"_library_",Protection::Public);
}
QCString s1="library "+s;
return s1;
@@ -5032,7 +7564,7 @@ assert(false);
QCString VhdlParser::library_unit() {QCString s;
- if (jj_2_47(2)) {
+ if (jj_2_79(2)) {
if (!hasError) {
primary_unit();
}
@@ -5052,7 +7584,7 @@ return s;
break;
}
default:
- jj_la1[133] = jj_gen;
+ jj_la1[206] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -5062,21 +7594,21 @@ assert(false);
QCString VhdlParser::literal() {QCString s;
- if (jj_2_48(2147483647)) {
+ if (jj_2_80(2147483647)) {
if (!hasError) {
s = bit_string_literal();
}
if (!hasError) {
return s;
}
- } else if (jj_2_49(2147483647)) {
+ } else if (jj_2_81(2147483647)) {
if (!hasError) {
s = numeric_literal();
}
if (!hasError) {
return s;
}
- } else if (jj_2_50(2147483647)) {
+ } else if (jj_2_82(2147483647)) {
if (!hasError) {
s = enumeration_literal();
}
@@ -5104,7 +7636,7 @@ return "null";
break;
}
default:
- jj_la1[134] = jj_gen;
+ jj_la1[207] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -5139,7 +7671,7 @@ s+=":";
break;
}
default:
- jj_la1[135] = jj_gen;
+ jj_la1[208] = jj_gen;
;
}
}
@@ -5153,7 +7685,7 @@ s+=":";
break;
}
default:
- jj_la1[136] = jj_gen;
+ jj_la1[209] = jj_gen;
;
}
}
@@ -5165,7 +7697,7 @@ if(s1.isEmpty())
jj_consume_token(LOOP_T);
}
if (!hasError) {
- s2 = sequence_of_statement();
+ s2 = sequence_of_statements();
}
if (!hasError) {
jj_consume_token(END_T);
@@ -5183,7 +7715,7 @@ if(s1.isEmpty())
break;
}
default:
- jj_la1[137] = jj_gen;
+ jj_la1[210] = jj_gen;
;
}
}
@@ -5229,7 +7761,7 @@ return "not";
break;
}
default:
- jj_la1[138] = jj_gen;
+ jj_la1[211] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -5285,7 +7817,45 @@ return "linkage";
break;
}
default:
- jj_la1[139] = jj_gen;
+ jj_la1[212] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ }
+assert(false);
+}
+
+
+QCString VhdlParser::mode_indication() {Token *tok=0;
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BUFFER_T:
+ case IN_T:
+ case INOUT_T:
+ case LINKAGE_T:
+ case OUT_T:
+ case LPAREN_T:
+ case SLSL_T:
+ case STRINGLITERAL:
+ case BASIC_IDENTIFIER:
+ case EXTENDED_CHARACTER:{
+ if (!hasError) {
+ simple_mode_indication();
+ }
+ if (!hasError) {
+return " ";
+ }
+ break;
+ }
+ case VIEW_T:{
+ if (!hasError) {
+ mode_view_indication();
+ }
+ if (!hasError) {
+return " ";
+ }
+ break;
+ }
+ default:
+ jj_la1[213] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -5293,6 +7863,115 @@ assert(false);
}
+QCString VhdlParser::mode_view_declaration() {Token *tok=0;
+ if (!hasError) {
+ jj_consume_token(VIEW_T);
+ }
+ if (!hasError) {
+ identifier();
+ }
+ if (!hasError) {
+ jj_consume_token(OF_T);
+ }
+ if (!hasError) {
+ subtype_indication();
+ }
+ if (!hasError) {
+ jj_consume_token(IS_T);
+ }
+ if (!hasError) {
+ while (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BASIC_IDENTIFIER:
+ case EXTENDED_CHARACTER:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[214] = jj_gen;
+ goto end_label_35;
+ }
+ if (!hasError) {
+ mode_view_element_definition();
+ }
+ }
+ end_label_35: ;
+ }
+ if (!hasError) {
+ jj_consume_token(END_T);
+ }
+ if (!hasError) {
+ jj_consume_token(VIEW_T);
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BASIC_IDENTIFIER:
+ case EXTENDED_CHARACTER:{
+ if (!hasError) {
+ identifier();
+ }
+ break;
+ }
+ default:
+ jj_la1[215] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ jj_consume_token(SEMI_T);
+ }
+return "";
+assert(false);
+}
+
+
+QCString VhdlParser::mode_view_element_definition() {Token *tok=0;
+ if (!hasError) {
+ record_element_list();
+ }
+ if (!hasError) {
+ jj_consume_token(COLON_T);
+ }
+ if (!hasError) {
+ element_mode_indication();
+ }
+ if (!hasError) {
+ jj_consume_token(SEMI_T);
+ }
+return "";
+assert(false);
+}
+
+
+QCString VhdlParser::mode_view_indication() {Token *tok=0;
+ if (jj_2_83(3)) {
+ if (!hasError) {
+ array_mode_view_indication();
+ }
+ if (!hasError) {
+return "";
+ }
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case VIEW_T:{
+ if (!hasError) {
+ record_mode_view_indication();
+ }
+ if (!hasError) {
+return "";
+ }
+ break;
+ }
+ default:
+ jj_la1[216] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ }
+ }
+assert(false);
+}
+
+
QCString VhdlParser::multiplying_operation() {Token *tok=0;
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case MULT_T:{
@@ -5332,7 +8011,7 @@ return QCString(tok->image);
break;
}
default:
- jj_la1[140] = jj_gen;
+ jj_la1[217] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -5348,7 +8027,7 @@ QCString VhdlParser::name() {QCString s,s1;
s = operator_symbol();
}
if (!hasError) {
- if (jj_2_51(2147483647)) {
+ if (jj_2_84(2147483647)) {
if (!hasError) {
s1 = name_ext1();
}
@@ -5369,7 +8048,7 @@ return s;
s = external_name();
}
if (!hasError) {
- if (jj_2_52(2147483647)) {
+ if (jj_2_85(2147483647)) {
if (!hasError) {
s1 = name_ext1();
}
@@ -5391,7 +8070,7 @@ return s;
s = identifier();
}
if (!hasError) {
- if (jj_2_53(2147483647)) {
+ if (jj_2_86(2147483647)) {
if (!hasError) {
s1 = name_ext1();
}
@@ -5408,7 +8087,7 @@ return s;
break;
}
default:
- jj_la1[141] = jj_gen;
+ jj_la1[218] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -5423,10 +8102,10 @@ QCString VhdlParser::name_ext1() {QCString s,s1,s2;
}
if (!hasError) {
while (!hasError) {
- if (jj_2_54(2147483647)) {
+ if (jj_2_87(2147483647)) {
;
} else {
- goto end_label_26;
+ goto end_label_36;
}
if (!hasError) {
s1 = name_ext();
@@ -5435,7 +8114,7 @@ QCString VhdlParser::name_ext1() {QCString s,s1,s2;
s+=s1;
}
}
- end_label_26: ;
+ end_label_36: ;
}
return s;
assert(false);
@@ -5444,7 +8123,7 @@ assert(false);
QCString VhdlParser::name_ext() {QCString s,s1,s2;
if (!hasError) {
- if (jj_2_55(2147483647)) {
+ if (jj_2_88(2147483647)) {
if (!hasError) {
jj_consume_token(APOSTROPHE_T);
}
@@ -5454,7 +8133,7 @@ QCString VhdlParser::name_ext() {QCString s,s1,s2;
if (!hasError) {
s+="'subtype"; return s;
}
- } else if (jj_2_56(2147483647)) {
+ } else if (jj_2_89(2147483647)) {
if (!hasError) {
jj_consume_token(DOT_T);
}
@@ -5464,14 +8143,14 @@ s+="'subtype"; return s;
if (!hasError) {
s+=".";s+=s1; return s;
}
- } else if (jj_2_57(2147483647)) {
+ } else if (jj_2_90(2147483647)) {
if (!hasError) {
s1 = test_att_name();
}
if (!hasError) {
s+=s1;return s;
}
- } else if (jj_2_58(2147483647)) {
+ } else if (jj_2_91(2147483647)) {
if (!hasError) {
jj_consume_token(LPAREN_T);
}
@@ -5484,7 +8163,7 @@ s+=s1;return s;
if (!hasError) {
s+="(";s+=s1;s+=")";return s;
}
- } else if (jj_2_59(2147483647)) {
+ } else if (jj_2_92(2147483647)) {
if (!hasError) {
jj_consume_token(LPAREN_T);
}
@@ -5502,8 +8181,8 @@ s+="(";s+=s1;
break;
}
default:
- jj_la1[142] = jj_gen;
- goto end_label_27;
+ jj_la1[219] = jj_gen;
+ goto end_label_37;
}
if (!hasError) {
jj_consume_token(COMMA_T);
@@ -5515,7 +8194,7 @@ s+="(";s+=s1;
s+=",";s+=s1;
}
}
- end_label_27: ;
+ end_label_37: ;
}
if (!hasError) {
jj_consume_token(RPAREN_T);
@@ -5533,50 +8212,80 @@ assert(false);
QCString VhdlParser::test_att_name() {QCString s,s1;
- if (!hasError) {
- if (jj_2_60(2147483647)) {
+ if (jj_2_94(4)) {
if (!hasError) {
- s1 = signature();
- }
- if (!hasError) {
-s=s1;
+ jj_consume_token(CHARACTER_LITERAL);
}
- } else {
- ;
- }
- }
- if (!hasError) {
- jj_consume_token(APOSTROPHE_T);
- }
- if (!hasError) {
- s1 = attribute_designator();
- }
- if (!hasError) {
-s+="'";s+=s1;
- }
- if (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case LPAREN_T:{
if (!hasError) {
- jj_consume_token(LPAREN_T);
+ jj_consume_token(INTEGER);
}
if (!hasError) {
- s1 = expression();
+ jj_consume_token(APOSTROPHE_T);
}
if (!hasError) {
jj_consume_token(RPAREN_T);
}
if (!hasError) {
-s+="(";s+=s1;s+=")";
+return "kkk";
}
- break;
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case APOSTROPHE_T:
+ case LBRACKET_T:{
+ if (!hasError) {
+ if (jj_2_93(2147483647)) {
+ if (!hasError) {
+ s1 = signature();
+ }
+ if (!hasError) {
+s=s1;
+ }
+ } else {
+ ;
+ }
+ }
+ if (!hasError) {
+ jj_consume_token(APOSTROPHE_T);
+ }
+ if (!hasError) {
+ s1 = attribute_designator();
+ }
+ if (!hasError) {
+s+="'";s+=s1;
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case LPAREN_T:{
+ if (!hasError) {
+ jj_consume_token(LPAREN_T);
+ }
+ if (!hasError) {
+ s1 = expression();
+ }
+ if (!hasError) {
+ jj_consume_token(RPAREN_T);
+ }
+ if (!hasError) {
+s+="(";s+=s1;s+=")";
+ }
+ break;
+ }
+ default:
+ jj_la1[220] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+return s;
+ }
+ break;
+ }
+ default:
+ jj_la1[221] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
- default:
- jj_la1[143] = jj_gen;
- ;
}
- }
-return s;
assert(false);
}
@@ -5602,8 +8311,8 @@ s=s2+"("+s1;
break;
}
default:
- jj_la1[144] = jj_gen;
- goto end_label_28;
+ jj_la1[222] = jj_gen;
+ goto end_label_38;
}
if (!hasError) {
jj_consume_token(COMMA_T);
@@ -5615,7 +8324,7 @@ s=s2+"("+s1;
s+=",";s+=s1;
}
}
- end_label_28: ;
+ end_label_38: ;
}
if (!hasError) {
jj_consume_token(RPAREN_T);
@@ -5639,7 +8348,7 @@ QCString VhdlParser::next_statement() {QCString s,s1,s2;Token *t=0;Token *t1=0;
break;
}
default:
- jj_la1[145] = jj_gen;
+ jj_la1[223] = jj_gen;
;
}
}
@@ -5656,7 +8365,7 @@ QCString VhdlParser::next_statement() {QCString s,s1,s2;Token *t=0;Token *t1=0;
break;
}
default:
- jj_la1[146] = jj_gen;
+ jj_la1[224] = jj_gen;
;
}
}
@@ -5672,7 +8381,7 @@ QCString VhdlParser::next_statement() {QCString s,s1,s2;Token *t=0;Token *t1=0;
break;
}
default:
- jj_la1[147] = jj_gen;
+ jj_la1[225] = jj_gen;
;
}
}
@@ -5705,7 +8414,7 @@ s+=":";
break;
}
default:
- jj_la1[148] = jj_gen;
+ jj_la1[226] = jj_gen;
;
}
}
@@ -5721,7 +8430,7 @@ assert(false);
QCString VhdlParser::numeric_literal() {QCString s;
- if (jj_2_61(2147483647)) {
+ if (jj_2_95(2147483647)) {
if (!hasError) {
s = physical_literal();
}
@@ -5742,7 +8451,7 @@ return s;
break;
}
default:
- jj_la1[149] = jj_gen;
+ jj_la1[227] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -5811,7 +8520,7 @@ return "type";
break;
}
default:
- jj_la1[150] = jj_gen;
+ jj_la1[228] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -5838,7 +8547,7 @@ void VhdlParser::options() {
break;
}
default:
- jj_la1[151] = jj_gen;
+ jj_la1[229] = jj_gen;
;
}
}
@@ -5853,7 +8562,7 @@ void VhdlParser::options() {
break;
}
default:
- jj_la1[152] = jj_gen;
+ jj_la1[230] = jj_gen;
;
}
}
@@ -5876,7 +8585,7 @@ void VhdlParser::package_body() {QCString s;
if (!hasError) {
m_sharedState->lastCompound=m_sharedState->current;
s.prepend("_");
- outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::CLASS_SEC,VhdlDocGen::PACKAGE_BODY,0,0,Protected);
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::CLASS_SEC,VhdlDocGen::PACKAGE_BODY,0,0,Protection::Protected);
}
if (!hasError) {
package_body_declarative_part();
@@ -5896,7 +8605,7 @@ m_sharedState->lastCompound=m_sharedState->current;
break;
}
default:
- jj_la1[153] = jj_gen;
+ jj_la1[231] = jj_gen;
;
}
}
@@ -5912,7 +8621,7 @@ m_sharedState->lastCompound=m_sharedState->current;
break;
}
default:
- jj_la1[154] = jj_gen;
+ jj_la1[232] = jj_gen;
;
}
}
@@ -5959,42 +8668,68 @@ void VhdlParser::package_body_declarative_item() {
}
break;
}
- case FILE_T:{
- if (!hasError) {
- file_declaration();
- }
- break;
- }
- case ALIAS_T:{
- if (!hasError) {
- alias_declaration();
- }
- break;
- }
- case USE_T:{
- if (!hasError) {
- use_clause();
- }
- break;
- }
default:
- jj_la1[155] = jj_gen;
- if (jj_2_62(3)) {
+ jj_la1[233] = jj_gen;
+ if (jj_2_96(2)) {
if (!hasError) {
- group_template_declaration();
+ package_body();
+ }
+ } else if (jj_2_97(4)) {
+ if (!hasError) {
+ package_instantiation_declaration();
}
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case GROUP_T:{
+ case PACKAGE_T:{
+ if (!hasError) {
+ package_declaration();
+ }
+ break;
+ }
+ case FILE_T:{
+ if (!hasError) {
+ file_declaration();
+ }
+ break;
+ }
+ case ALIAS_T:{
+ if (!hasError) {
+ alias_declaration();
+ }
+ break;
+ }
+ case VIEW_T:{
+ if (!hasError) {
+ mode_view_declaration();
+ }
+ break;
+ }
+ case USE_T:{
if (!hasError) {
- group_declaration();
+ use_clause();
}
break;
}
default:
- jj_la1[156] = jj_gen;
- jj_consume_token(-1);
- errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ jj_la1[234] = jj_gen;
+ if (jj_2_98(3)) {
+ if (!hasError) {
+ group_template_declaration();
+ }
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case GROUP_T:{
+ if (!hasError) {
+ group_declaration();
+ }
+ break;
+ }
+ default:
+ jj_la1[235] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ }
+ }
}
}
}
@@ -6011,25 +8746,27 @@ void VhdlParser::package_body_declarative_part() {
case FUNCTION_T:
case GROUP_T:
case IMPURE_T:
+ case PACKAGE_T:
case PROCEDURE_T:
case PURE_T:
case SHARED_T:
case SUBTYPE_T:
case TYPE_T:
case USE_T:
- case VARIABLE_T:{
+ case VARIABLE_T:
+ case VIEW_T:{
;
break;
}
default:
- jj_la1[157] = jj_gen;
- goto end_label_29;
+ jj_la1[236] = jj_gen;
+ goto end_label_39;
}
if (!hasError) {
package_body_declarative_item();
}
}
- end_label_29: ;
+ end_label_39: ;
}
}
@@ -6053,14 +8790,14 @@ void VhdlParser::package_header() {QCString s;
break;
}
default:
- jj_la1[158] = jj_gen;
+ jj_la1[237] = jj_gen;
;
}
}
break;
}
default:
- jj_la1[159] = jj_gen;
+ jj_la1[238] = jj_gen;
;
}
}
@@ -6085,9 +8822,9 @@ m_sharedState->lastCompound=m_sharedState->current;
clone->name=s;
clone->startLine=outlineParser()->getLine(PACKAGE_T);
clone->bodyLine=outlineParser()->getLine(PACKAGE_T);
- clone->protection=Package;
+ clone->protection=Protection::Package;
m_sharedState->current_root->moveToSubEntryAndKeep(clone);
- outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(PACKAGE_T),Entry::CLASS_SEC,VhdlDocGen::PACKAGE,0,0,Package);
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(PACKAGE_T),Entry::CLASS_SEC,VhdlDocGen::PACKAGE,0,0,Protection::Package);
}
if (!hasError) {
package_header();
@@ -6107,7 +8844,7 @@ m_sharedState->lastCompound=m_sharedState->current;
break;
}
default:
- jj_la1[160] = jj_gen;
+ jj_la1[239] = jj_gen;
;
}
}
@@ -6123,7 +8860,7 @@ m_sharedState->lastCompound=m_sharedState->current;
break;
}
default:
- jj_la1[161] = jj_gen;
+ jj_la1[240] = jj_gen;
;
}
}
@@ -6134,42 +8871,6 @@ m_sharedState->lastEntity=0;m_sharedState->lastCompound=0; m_sharedState->genLab
}
-void VhdlParser::geninter() {
- if (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case GENERIC_T:{
- if (!hasError) {
- gen_interface_list();
- }
- if (!hasError) {
- jj_consume_token(SEMI_T);
- }
- if (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case GENERIC_T:{
- if (!hasError) {
- gen_assoc_list();
- }
- if (!hasError) {
- jj_consume_token(SEMI_T);
- }
- break;
- }
- default:
- jj_la1[162] = jj_gen;
- ;
- }
- }
- break;
- }
- default:
- jj_la1[163] = jj_gen;
- ;
- }
- }
-}
-
-
void VhdlParser::package_declarative_item() {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case FUNCTION_T:
@@ -6193,101 +8894,121 @@ void VhdlParser::package_declarative_item() {
}
break;
}
- case CONSTANT_T:{
- if (!hasError) {
- constant_declaration();
- }
- break;
- }
- case SIGNAL_T:{
- if (!hasError) {
- signal_declaration();
- }
- break;
- }
- case SHARED_T:
- case VARIABLE_T:{
- if (!hasError) {
- variable_declaration();
- }
- break;
- }
- case FILE_T:{
- if (!hasError) {
- file_declaration();
- }
- break;
- }
- case ALIAS_T:{
- if (!hasError) {
- alias_declaration();
- }
- break;
- }
- case COMPONENT_T:{
- if (!hasError) {
- component_declaration();
- }
- break;
- }
default:
- jj_la1[164] = jj_gen;
- if (jj_2_63(2147483647)) {
+ jj_la1[241] = jj_gen;
+ if (jj_2_99(5)) {
+ if (!hasError) {
+ package_instantiation_declaration();
+ }
+ } else if (jj_2_100(3)) {
if (!hasError) {
- attribute_declaration();
+ package_declaration();
}
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case ATTRIBUTE_T:{
+ case CONSTANT_T:{
if (!hasError) {
- attribute_specification();
+ constant_declaration();
}
break;
}
- case DISCONNECT_T:{
+ case SIGNAL_T:{
if (!hasError) {
- disconnection_specification();
+ signal_declaration();
}
break;
}
- case USE_T:{
+ case SHARED_T:
+ case VARIABLE_T:{
if (!hasError) {
- use_clause();
+ variable_declaration();
+ }
+ break;
+ }
+ case FILE_T:{
+ if (!hasError) {
+ file_declaration();
+ }
+ break;
+ }
+ case ALIAS_T:{
+ if (!hasError) {
+ alias_declaration();
+ }
+ break;
+ }
+ case COMPONENT_T:{
+ if (!hasError) {
+ component_declaration();
+ }
+ break;
+ }
+ case VIEW_T:{
+ if (!hasError) {
+ mode_view_declaration();
}
break;
}
default:
- jj_la1[165] = jj_gen;
- if (jj_2_64(3)) {
+ jj_la1[242] = jj_gen;
+ if (jj_2_101(2147483647)) {
if (!hasError) {
- group_template_declaration();
+ attribute_declaration();
}
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case GROUP_T:{
+ case ATTRIBUTE_T:{
if (!hasError) {
- group_declaration();
+ attribute_specification();
+ }
+ break;
+ }
+ case DISCONNECT_T:{
+ if (!hasError) {
+ disconnection_specification();
+ }
+ break;
+ }
+ case USE_T:{
+ if (!hasError) {
+ use_clause();
}
break;
}
default:
- jj_la1[166] = jj_gen;
- if (jj_2_65(5)) {
+ jj_la1[243] = jj_gen;
+ if (jj_2_102(3)) {
if (!hasError) {
- package_instantiation_declaration();
+ group_template_declaration();
}
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case PACKAGE_T:{
+ case GROUP_T:{
if (!hasError) {
- package_declaration();
+ group_declaration();
}
break;
}
default:
- jj_la1[167] = jj_gen;
- jj_consume_token(-1);
- errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ jj_la1[244] = jj_gen;
+ if (jj_2_103(5)) {
+ if (!hasError) {
+ package_instantiation_declaration();
+ }
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case PACKAGE_T:{
+ if (!hasError) {
+ package_declaration();
+ }
+ break;
+ }
+ default:
+ jj_la1[245] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ }
+ }
}
}
}
@@ -6319,23 +9040,61 @@ void VhdlParser::package_declarative_part() {
case SUBTYPE_T:
case TYPE_T:
case USE_T:
- case VARIABLE_T:{
+ case VARIABLE_T:
+ case VIEW_T:{
;
break;
}
default:
- jj_la1[168] = jj_gen;
- goto end_label_30;
+ jj_la1[246] = jj_gen;
+ goto end_label_40;
}
if (!hasError) {
package_declarative_item();
}
}
- end_label_30: ;
+ end_label_40: ;
}
}
+void VhdlParser::package_instantiation_declaration() {QCString s,s1,s2;
+ if (!hasError) {
+ jj_consume_token(PACKAGE_T);
+ }
+ if (!hasError) {
+ s = identifier();
+ }
+ if (!hasError) {
+ jj_consume_token(IS_T);
+ }
+ if (!hasError) {
+ jj_consume_token(NEW_T);
+ }
+ if (!hasError) {
+ s1 = name();
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case GENERIC_T:{
+ if (!hasError) {
+ gen_assoc_list();
+ }
+ break;
+ }
+ default:
+ jj_la1[247] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ jj_consume_token(SEMI_T);
+ }
+QCString q=" is new "+s1+s2;
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(PACKAGE_T),Entry::VARIABLE_SEC,VhdlDocGen::INSTANTIATION,"package",q.data(),Protection::Public);
+}
+
+
QCString VhdlParser::parameter_specification() {QCString s,s1;
if (!hasError) {
s = identifier();
@@ -6351,9 +9110,88 @@ assert(false);
}
+QCString VhdlParser::pathname_element() {QCString s,s1;
+ if (!hasError) {
+ s = identifier();
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case LPAREN_T:{
+ if (!hasError) {
+ jj_consume_token(LPAREN_T);
+ }
+ if (!hasError) {
+ s1 = expression();
+ }
+ if (!hasError) {
+ jj_consume_token(RPAREN_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[248] = jj_gen;
+ ;
+ }
+ }
+if(!s1.isEmpty())
+ return s+"("+s1+")";
+
+ return s;
+assert(false);
+}
+
+
+QCString VhdlParser::pathname_element_list() {QCString s,s1,s2;
+ if (!hasError) {
+ if (!hasError) {
+ s = pathname_element();
+ }
+ if (!hasError) {
+ jj_consume_token(DOT_T);
+ }
+ }
+ if (!hasError) {
+s+=".";
+ }
+ if (!hasError) {
+ while (!hasError) {
+ if (jj_2_104(2147483647)) {
+ ;
+ } else {
+ goto end_label_41;
+ }
+ if (!hasError) {
+ s1 = pathname_element();
+ }
+ if (!hasError) {
+ jj_consume_token(DOT_T);
+ }
+ if (!hasError) {
+s2+=s1;s2+=".";
+ }
+ }
+ end_label_41: ;
+ }
+return s+s2;
+assert(false);
+}
+
+
+QCString VhdlParser::package_path_name() {QCString s;
+ if (!hasError) {
+ jj_consume_token(AT_T);
+ }
+ if (!hasError) {
+ s = name();
+ }
+return "@"+s;
+assert(false);
+}
+
+
QCString VhdlParser::physical_literal() {QCString s,s1;
if (!hasError) {
- if (jj_2_66(2147483647)) {
+ if (jj_2_105(2147483647)) {
if (!hasError) {
s = abstract_literal();
}
@@ -6380,7 +9218,7 @@ QCString VhdlParser::physical_type_definition() {QCString s,s1,s2;Token *t=0;
jj_consume_token(SEMI_T);
}
if (!hasError) {
-outlineParser()->addVhdlType(s.data(),t->beginLine,Entry::VARIABLE_SEC,VhdlDocGen::UNITS,0,0,Public);
+outlineParser()->addVhdlType(s.data(),t->beginLine,Entry::VARIABLE_SEC,VhdlDocGen::UNITS,0,0,Protection::Public);
}
if (!hasError) {
while (!hasError) {
@@ -6391,14 +9229,14 @@ outlineParser()->addVhdlType(s.data(),t->beginLine,Entry::VARIABLE_SEC,VhdlDocGe
break;
}
default:
- jj_la1[169] = jj_gen;
- goto end_label_31;
+ jj_la1[249] = jj_gen;
+ goto end_label_42;
}
if (!hasError) {
s1 = secondary_unit_declaration();
}
}
- end_label_31: ;
+ end_label_42: ;
}
if (!hasError) {
jj_consume_token(END_T);
@@ -6418,7 +9256,7 @@ outlineParser()->addVhdlType(s.data(),t->beginLine,Entry::VARIABLE_SEC,VhdlDocGe
break;
}
default:
- jj_la1[170] = jj_gen;
+ jj_la1[250] = jj_gen;
;
}
}
@@ -6427,6 +9265,16 @@ assert(false);
}
+void VhdlParser::physical_incomplete_type_definition() {
+ if (!hasError) {
+ jj_consume_token(UNITS_T);
+ }
+ if (!hasError) {
+ jj_consume_token(BOX_T);
+ }
+}
+
+
void VhdlParser::port_clause() {
if (!hasError) {
jj_consume_token(PORT_T);
@@ -6476,19 +9324,19 @@ void VhdlParser::port_map_aspect() {
QCString VhdlParser::primary() {QCString s,s1;
- if (jj_2_67(2147483647)) {
+ if (jj_2_106(2147483647)) {
if (!hasError) {
s = function_call();
}
if (!hasError) {
return s;
}
- } else if (jj_2_68(2147483647)) {
+ } else if (jj_2_107(2147483647)) {
if (!hasError) {
jj_consume_token(LPAREN_T);
}
if (!hasError) {
- s1 = expression();
+ s1 = conditional_expression();
}
if (!hasError) {
jj_consume_token(RPAREN_T);
@@ -6496,57 +9344,51 @@ return s;
if (!hasError) {
s="("+s1+")"; return s;
}
- } else if (jj_2_69(2147483647)) {
+ } else if (jj_2_108(2147483647)) {
if (!hasError) {
s = qualified_expression();
}
if (!hasError) {
return s;
}
- } else if (jj_2_70(2147483647)) {
+ } else if (jj_2_109(2147483647)) {
if (!hasError) {
s = type_conversion();
}
if (!hasError) {
return s;
}
- } else if (jj_2_71(2147483647)) {
+ } else if (jj_2_110(2147483647)) {
if (!hasError) {
s = literal();
}
if (!hasError) {
s.prepend(" ");return s;
}
- } else if (jj_2_72(2147483647)) {
+ } else if (jj_2_111(2147483647)) {
if (!hasError) {
s = name();
}
if (!hasError) {
return s;
}
- } else if (jj_2_73(2147483647)) {
+ } else if (jj_2_112(2147483647)) {
if (!hasError) {
allocator();
}
if (!hasError) {
return QCString();
}
- } else {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case LPAREN_T:{
- if (!hasError) {
- s = aggregate();
- }
- if (!hasError) {
+ } else if (jj_2_113(2147483647)) {
+ if (!hasError) {
+ s = aggregate();
+ }
+ if (!hasError) {
return s;
- }
- break;
- }
- default:
- jj_la1[171] = jj_gen;
- jj_consume_token(-1);
- errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
+ } else {
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
assert(false);
}
@@ -6567,15 +9409,11 @@ void VhdlParser::primary_unit() {
break;
}
default:
- jj_la1[172] = jj_gen;
- if (jj_2_74(2147483647)) {
+ jj_la1[251] = jj_gen;
+ if (jj_2_114(2147483647)) {
if (!hasError) {
package_instantiation_declaration();
}
- } else if (jj_2_75(4)) {
- if (!hasError) {
- interface_package_declaration();
- }
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case PACKAGE_T:{
@@ -6591,7 +9429,7 @@ void VhdlParser::primary_unit() {
break;
}
default:
- jj_la1[173] = jj_gen;
+ jj_la1[252] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -6600,9 +9438,76 @@ void VhdlParser::primary_unit() {
}
+QCString VhdlParser::private_variable_declaration() {QCString s,s1;
+ if (!hasError) {
+ jj_consume_token(PRIVATE_T);
+ }
+ if (!hasError) {
+ variable_declaration();
+ }
+return "private";
+assert(false);
+}
+
+
+QCString VhdlParser::private_incomplete_type_definition() {QCString s,s1;
+ if (!hasError) {
+ jj_consume_token(PRIVATE_T);
+ }
+return "private";
+assert(false);
+}
+
+
+QCString VhdlParser::parameter_map_aspect() {QCString s,s1;
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case PARAMETER_T:{
+ if (!hasError) {
+ jj_consume_token(PARAMETER_T);
+ }
+ if (!hasError) {
+ jj_consume_token(MAP_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[253] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ jj_consume_token(LPAREN_T);
+ }
+ if (!hasError) {
+ actual_parameter_part();
+ }
+ if (!hasError) {
+ jj_consume_token(RPAREN_T);
+ }
+assert(false);
+}
+
+
QCString VhdlParser::procedure_call() {QCString s,s1;
if (!hasError) {
- s = name();
+ name();
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case PARAMETER_T:{
+ if (!hasError) {
+ jj_consume_token(PARAMETER_T);
+ }
+ if (!hasError) {
+ jj_consume_token(MAP_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[254] = jj_gen;
+ ;
+ }
}
if (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
@@ -6611,29 +9516,26 @@ QCString VhdlParser::procedure_call() {QCString s,s1;
jj_consume_token(LPAREN_T);
}
if (!hasError) {
- s1 = actual_parameter_part();
+ actual_parameter_part();
}
if (!hasError) {
jj_consume_token(RPAREN_T);
}
- if (!hasError) {
-s1.prepend("("); s1.append(")");
- }
break;
}
default:
- jj_la1[174] = jj_gen;
+ jj_la1[255] = jj_gen;
;
}
}
-return s+s1;
+return "";
assert(false);
}
QCString VhdlParser::procedure_call_statement() {QCString s,s1;
if (!hasError) {
- if (jj_2_76(2)) {
+ if (jj_2_115(2)) {
if (!hasError) {
s = identifier();
}
@@ -6658,98 +9560,160 @@ assert(false);
}
-QCString VhdlParser::process_declarative_item() {QCString s;
+QCString VhdlParser::procedure_specifiction() {QCString s,s1;
+ if (!hasError) {
+ jj_consume_token(PROCEDURE_T);
+ }
+ if (!hasError) {
+ designator();
+ }
+ if (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case FUNCTION_T:
- case IMPURE_T:
- case PROCEDURE_T:
- case PURE_T:{
- if (!hasError) {
- subprogram_declaration();
- }
- if (!hasError) {
-return QCString();
- }
- break;
- }
- case TYPE_T:{
+ case GENERIC_T:{
if (!hasError) {
- s = type_declaration();
- }
- if (!hasError) {
-return s;
+ subprogram_header();
}
break;
}
- case SUBTYPE_T:{
- if (!hasError) {
- s = subtype_declaration();
- }
+ default:
+ jj_la1[256] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case PARAMETER_T:
+ case LPAREN_T:{
if (!hasError) {
-return s;
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case PARAMETER_T:{
+ if (!hasError) {
+ jj_consume_token(PARAMETER_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[257] = jj_gen;
+ ;
}
- break;
}
- case CONSTANT_T:{
if (!hasError) {
- s = constant_declaration();
+ jj_consume_token(LPAREN_T);
}
if (!hasError) {
-return s;
+ formal_parameter_list();
}
- break;
- }
- case SHARED_T:
- case VARIABLE_T:{
if (!hasError) {
- s = variable_declaration();
- }
- if (!hasError) {
-return s;
+ jj_consume_token(RPAREN_T);
}
break;
}
- case FILE_T:{
+ default:
+ jj_la1[258] = jj_gen;
+ ;
+ }
+ }
+return s+s1+";";
+assert(false);
+}
+
+
+QCString VhdlParser::process_declarative_item() {QCString s;
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case FUNCTION_T:
+ case IMPURE_T:
+ case PROCEDURE_T:
+ case PURE_T:{
if (!hasError) {
- s = file_declaration();
+ subprogram_declaration();
}
if (!hasError) {
-return s;
+return QCString();
}
break;
}
- case ALIAS_T:{
- if (!hasError) {
- s = alias_declaration();
- }
+ case IS_T:{
if (!hasError) {
-return s;
+ subprogram_body();
}
break;
}
default:
- jj_la1[175] = jj_gen;
- if (jj_2_77(3)) {
+ jj_la1[259] = jj_gen;
+ if (jj_2_116(2)) {
if (!hasError) {
- s = attribute_declaration();
+ package_body();
}
if (!hasError) {
-return s;
+return "";
+ }
+ } else if (jj_2_117(2147483647)) {
+ if (!hasError) {
+ package_declaration();
+ }
+ if (!hasError) {
+return "";
}
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case ATTRIBUTE_T:{
+ case PACKAGE_T:{
if (!hasError) {
- s = attribute_specification();
+ package_instantiation_declaration();
+ }
+ if (!hasError) {
+return "";
+ }
+ break;
+ }
+ case SUBTYPE_T:{
+ if (!hasError) {
+ s = subtype_declaration();
}
if (!hasError) {
return s;
}
break;
}
- case USE_T:{
+ case TYPE_T:{
if (!hasError) {
- s = use_clause();
+ s = type_declaration();
+ }
+ if (!hasError) {
+return s;
+ }
+ break;
+ }
+ case CONSTANT_T:{
+ if (!hasError) {
+ s = constant_declaration();
+ }
+ if (!hasError) {
+return s;
+ }
+ break;
+ }
+ case SHARED_T:
+ case VARIABLE_T:{
+ if (!hasError) {
+ s = variable_declaration();
+ }
+ if (!hasError) {
+return s;
+ }
+ break;
+ }
+ case FILE_T:{
+ if (!hasError) {
+ s = file_declaration();
+ }
+ if (!hasError) {
+return s;
+ }
+ break;
+ }
+ case ALIAS_T:{
+ if (!hasError) {
+ s = alias_declaration();
}
if (!hasError) {
return s;
@@ -6757,19 +9721,28 @@ return s;
break;
}
default:
- jj_la1[176] = jj_gen;
- if (jj_2_78(3)) {
+ jj_la1[260] = jj_gen;
+ if (jj_2_118(3)) {
if (!hasError) {
- s = group_template_declaration();
+ s = attribute_declaration();
}
if (!hasError) {
return s;
}
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case GROUP_T:{
+ case ATTRIBUTE_T:{
if (!hasError) {
- s = group_declaration();
+ s = attribute_specification();
+ }
+ if (!hasError) {
+return s;
+ }
+ break;
+ }
+ case USE_T:{
+ if (!hasError) {
+ s = use_clause();
}
if (!hasError) {
return s;
@@ -6777,9 +9750,31 @@ return s;
break;
}
default:
- jj_la1[177] = jj_gen;
- jj_consume_token(-1);
- errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ jj_la1[261] = jj_gen;
+ if (jj_2_119(3)) {
+ if (!hasError) {
+ s = group_template_declaration();
+ }
+ if (!hasError) {
+return s;
+ }
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case GROUP_T:{
+ if (!hasError) {
+ s = group_declaration();
+ }
+ if (!hasError) {
+return s;
+ }
+ break;
+ }
+ default:
+ jj_la1[262] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ }
+ }
}
}
}
@@ -6800,6 +9795,8 @@ QCString VhdlParser::process_declarative_part() {QCString s,s1;
case FUNCTION_T:
case GROUP_T:
case IMPURE_T:
+ case IS_T:
+ case PACKAGE_T:
case PROCEDURE_T:
case PURE_T:
case SHARED_T:
@@ -6811,8 +9808,8 @@ QCString VhdlParser::process_declarative_part() {QCString s,s1;
break;
}
default:
- jj_la1[178] = jj_gen;
- goto end_label_32;
+ jj_la1[263] = jj_gen;
+ goto end_label_43;
}
if (!hasError) {
s1 = process_declarative_item();
@@ -6821,7 +9818,7 @@ QCString VhdlParser::process_declarative_part() {QCString s,s1;
s+=s1;
}
}
- end_label_32: ;
+ end_label_43: ;
}
return s;
assert(false);
@@ -6842,7 +9839,7 @@ void VhdlParser::process_statement() {QCString s,s1,s2;Token *tok=0;Token *tok1=
break;
}
default:
- jj_la1[179] = jj_gen;
+ jj_la1[264] = jj_gen;
;
}
}
@@ -6855,7 +9852,7 @@ void VhdlParser::process_statement() {QCString s,s1,s2;Token *tok=0;Token *tok1=
break;
}
default:
- jj_la1[180] = jj_gen;
+ jj_la1[265] = jj_gen;
;
}
}
@@ -6884,7 +9881,7 @@ m_sharedState->currP=VhdlDocGen::PROCESS;
break;
}
default:
- jj_la1[181] = jj_gen;
+ jj_la1[266] = jj_gen;
;
}
}
@@ -6897,7 +9894,7 @@ m_sharedState->currP=VhdlDocGen::PROCESS;
break;
}
default:
- jj_la1[182] = jj_gen;
+ jj_la1[267] = jj_gen;
;
}
}
@@ -6927,7 +9924,7 @@ if (s2.data())
break;
}
default:
- jj_la1[183] = jj_gen;
+ jj_la1[268] = jj_gen;
;
}
}
@@ -6944,7 +9941,7 @@ if (s2.data())
break;
}
default:
- jj_la1[184] = jj_gen;
+ jj_la1[269] = jj_gen;
;
}
}
@@ -6962,7 +9959,7 @@ if(s.isEmpty())
m_sharedState->currP=0;
if(tok)
s1=tok->image;
- outlineParser()->createFunction(m_sharedState->currName.data(),VhdlDocGen::PROCESS,s1.data());
+ outlineParser()->createFunction(m_sharedState->currName,VhdlDocGen::PROCESS,s1);
outlineParser()->createFlow();
m_sharedState->currName="";
outlineParser()->newEntry();
@@ -6974,6 +9971,7 @@ void VhdlParser::process_statement_part() {
while (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case ASSERT_T:
+ case BLOCK_T:
case CASE_T:
case EXIT_T:
case FOR_T:
@@ -6995,67 +9993,437 @@ void VhdlParser::process_statement_part() {
break;
}
default:
- jj_la1[185] = jj_gen;
- goto end_label_33;
+ jj_la1[270] = jj_gen;
+ goto end_label_44;
}
if (!hasError) {
sequential_statement();
}
}
- end_label_33: ;
+ end_label_44: ;
}
}
-QCString VhdlParser::qualified_expression() {QCString s,s1;
+QCString VhdlParser::protected_type_body() {
if (!hasError) {
- s1 = identifier();
+ jj_consume_token(PROTECTED_T);
}
if (!hasError) {
- jj_consume_token(APOSTROPHE_T);
+ jj_consume_token(BODY_T);
}
if (!hasError) {
-s=s1+"'";
+ protected_type_body_declarative_part();
}
if (!hasError) {
- if (jj_2_79(2147483647)) {
+ jj_consume_token(END_T);
+ }
+ if (!hasError) {
+ jj_consume_token(PROTECTED_T);
+ }
+ if (!hasError) {
+ jj_consume_token(BODY_T);
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BASIC_IDENTIFIER:
+ case EXTENDED_CHARACTER:{
if (!hasError) {
- s1 = aggregate();
+ identifier();
}
+ break;
+ }
+ default:
+ jj_la1[271] = jj_gen;
+ ;
+ }
+ }
+return QCString();
+assert(false);
+}
+
+
+void VhdlParser::protected_type_body_declarative_item() {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case FUNCTION_T:
+ case IMPURE_T:
+ case PROCEDURE_T:
+ case PURE_T:{
if (!hasError) {
-s+=s1;
+ subprogram_declaration();
+ }
+ break;
+ }
+ case IS_T:{
+ if (!hasError) {
+ subprogram_body();
+ }
+ break;
+ }
+ default:
+ jj_la1[272] = jj_gen;
+ if (jj_2_120(2)) {
+ if (!hasError) {
+ package_body();
+ }
+ } else if (jj_2_121(2147483647)) {
+ if (!hasError) {
+ package_declaration();
+ }
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case PACKAGE_T:{
+ if (!hasError) {
+ package_instantiation_declaration();
+ }
+ break;
+ }
+ case TYPE_T:{
+ if (!hasError) {
+ type_declaration();
+ }
+ break;
+ }
+ case SUBTYPE_T:{
+ if (!hasError) {
+ subtype_declaration();
+ }
+ break;
+ }
+ case CONSTANT_T:{
+ if (!hasError) {
+ constant_declaration();
+ }
+ break;
+ }
+ case SHARED_T:
+ case VARIABLE_T:{
+ if (!hasError) {
+ variable_declaration();
+ }
+ break;
+ }
+ case FILE_T:{
+ if (!hasError) {
+ file_declaration();
+ }
+ break;
+ }
+ case ALIAS_T:{
+ if (!hasError) {
+ alias_declaration();
+ }
+ break;
+ }
+ default:
+ jj_la1[273] = jj_gen;
+ if (jj_2_122(2147483647)) {
+ if (!hasError) {
+ attribute_declaration();
+ }
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case ATTRIBUTE_T:{
+ if (!hasError) {
+ attribute_specification();
+ }
+ break;
+ }
+ case USE_T:{
+ if (!hasError) {
+ use_clause();
+ }
+ break;
+ }
+ default:
+ jj_la1[274] = jj_gen;
+ if (jj_2_123(3)) {
+ if (!hasError) {
+ group_template_declaration();
+ }
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case GROUP_T:{
+ if (!hasError) {
+ group_declaration();
+ }
+ break;
+ }
+ default:
+ jj_la1[275] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+
+void VhdlParser::protected_type_body_declarative_part() {
+ if (!hasError) {
+ while (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case ALIAS_T:
+ case ATTRIBUTE_T:
+ case CONSTANT_T:
+ case FILE_T:
+ case FUNCTION_T:
+ case GROUP_T:
+ case IMPURE_T:
+ case IS_T:
+ case PACKAGE_T:
+ case PROCEDURE_T:
+ case PURE_T:
+ case SHARED_T:
+ case SUBTYPE_T:
+ case TYPE_T:
+ case USE_T:
+ case VARIABLE_T:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[276] = jj_gen;
+ goto end_label_45;
+ }
+ if (!hasError) {
+ protected_type_body_declarative_item();
+ }
+ }
+ end_label_45: ;
+ }
+}
+
+
+QCString VhdlParser::protected_type_declaration() {
+ if (!hasError) {
+ jj_consume_token(PROTECTED_T);
+ }
+ if (!hasError) {
+ try {
+ if (!hasError) {
+ protected_type_header();
+ }
+ if (!hasError) {
+ protected_type_declarative_part();
+ }
+ } catch ( ...) {
+outlineParser()->error_skipto(END_T);
+ }
+ }
+ if (!hasError) {
+ jj_consume_token(END_T);
+ }
+ if (!hasError) {
+ jj_consume_token(PROTECTED_T);
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BASIC_IDENTIFIER:
+ case EXTENDED_CHARACTER:{
+ if (!hasError) {
+ identifier();
+ }
+ break;
+ }
+ default:
+ jj_la1[277] = jj_gen;
+ ;
+ }
+ }
+return QCString();
+assert(false);
+}
+
+
+void VhdlParser::protected_type_header() {
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case GENERIC_T:{
+ if (!hasError) {
+ generic_clause();
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case GENERIC_T:{
+ if (!hasError) {
+ generic_map_aspect();
+ }
+ break;
+ }
+ default:
+ jj_la1[278] = jj_gen;
+ ;
+ }
+ }
+ break;
+ }
+ default:
+ jj_la1[279] = jj_gen;
+ ;
+ }
+ }
+}
+
+
+void VhdlParser::protected_type_declarative_item() {
+ if (jj_2_124(2147483647)) {
+ if (!hasError) {
+ subprogram_declaration();
+ }
+ } else if (jj_2_125(4)) {
+ if (!hasError) {
+ alias_declaration();
}
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case LPAREN_T:{
+ case FUNCTION_T:{
if (!hasError) {
- jj_consume_token(LPAREN_T);
+ subprogram_instantiation_declaration();
}
+ break;
+ }
+ case ATTRIBUTE_T:{
if (!hasError) {
- s1 = expression();
+ attribute_specification();
}
+ break;
+ }
+ case PRIVATE_T:{
if (!hasError) {
- jj_consume_token(RPAREN_T);
+ private_variable_declaration();
}
+ break;
+ }
+ case USE_T:{
if (!hasError) {
-s+="(";s+=s1;s+=")";
+ use_clause();
}
break;
}
default:
- jj_la1[186] = jj_gen;
+ jj_la1[280] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
}
+}
+
+
+void VhdlParser::protected_type_declarative_part() {
+ if (!hasError) {
+ while (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case ALIAS_T:
+ case ATTRIBUTE_T:
+ case FUNCTION_T:
+ case IMPURE_T:
+ case PRIVATE_T:
+ case PROCEDURE_T:
+ case PURE_T:
+ case USE_T:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[281] = jj_gen;
+ goto end_label_46;
+ }
+ if (!hasError) {
+ protected_type_declarative_item();
+ }
+ }
+ end_label_46: ;
}
+}
+
+
+QCString VhdlParser::qualified_expression() {QCString s,s1;Token *tok=0;
+ if (jj_2_127(4)) {
+ if (!hasError) {
+ s1 = identifier();
+ }
+ if (!hasError) {
+ jj_consume_token(CHARACTER_LITERAL);
+ }
+ if (!hasError) {
+ tok = jj_consume_token(LETTER_OR_DIGIT);
+ }
+ if (!hasError) {
+ jj_consume_token(APOSTROPHE_T);
+ }
+ if (!hasError) {
+ jj_consume_token(RPAREN_T);
+ }
+ if (!hasError) {
+return s1+"'('"+QCString(tok->image)+"')";
+ }
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BASIC_IDENTIFIER:
+ case EXTENDED_CHARACTER:{
+ if (!hasError) {
+ s1 = identifier();
+ }
+ if (!hasError) {
+ jj_consume_token(APOSTROPHE_T);
+ }
+ if (!hasError) {
+s=s1+"'";
+ }
+ if (!hasError) {
+ if (jj_2_126(2147483647)) {
+ if (!hasError) {
+ s1 = aggregate();
+ }
+ if (!hasError) {
+s+=s1;
+ }
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case LPAREN_T:{
+ if (!hasError) {
+ jj_consume_token(LPAREN_T);
+ }
+ if (!hasError) {
+ s1 = expression();
+ }
+ if (!hasError) {
+ jj_consume_token(RPAREN_T);
+ }
+ if (!hasError) {
+s+="(";s+=s1;s+=")";
+ }
+ break;
+ }
+ default:
+ jj_la1[282] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ }
+ }
+ }
+ if (!hasError) {
return s;
+ }
+ break;
+ }
+ default:
+ jj_la1[283] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ }
+ }
assert(false);
}
QCString VhdlParser::range() {QCString s,s1,s2;
- if (jj_2_80(2147483647)) {
+ if (jj_2_128(2147483647)) {
if (!hasError) {
s = simple_expression();
}
@@ -7068,7 +10436,7 @@ QCString VhdlParser::range() {QCString s,s1,s2;
if (!hasError) {
return s+" "+s1+" "+s2;
}
- } else if (jj_2_81(2147483647)) {
+ } else if (jj_2_129(2147483647)) {
if (!hasError) {
s = attribute_name();
}
@@ -7101,9 +10469,6 @@ void VhdlParser::record_type_definition() {
}
if (!hasError) {
while (!hasError) {
- if (!hasError) {
- element_declaration();
- }
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case SLSL_T:
case STRINGLITERAL:
@@ -7113,11 +10478,14 @@ void VhdlParser::record_type_definition() {
break;
}
default:
- jj_la1[187] = jj_gen;
- goto end_label_34;
+ jj_la1[284] = jj_gen;
+ goto end_label_47;
+ }
+ if (!hasError) {
+ element_declaration();
}
}
- end_label_34: ;
+ end_label_47: ;
}
if (!hasError) {
jj_consume_token(END_T);
@@ -7137,7 +10505,140 @@ void VhdlParser::record_type_definition() {
break;
}
default:
- jj_la1[188] = jj_gen;
+ jj_la1[285] = jj_gen;
+ ;
+ }
+ }
+}
+
+
+void VhdlParser::record_constraint() {
+ if (!hasError) {
+ jj_consume_token(LPAREN_T);
+ }
+ if (!hasError) {
+ record_element_constraint();
+ }
+ if (!hasError) {
+ while (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case COMMA_T:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[286] = jj_gen;
+ goto end_label_48;
+ }
+ if (!hasError) {
+ jj_consume_token(COMMA_T);
+ }
+ if (!hasError) {
+ record_element_constraint();
+ }
+ }
+ end_label_48: ;
+ }
+ if (!hasError) {
+ jj_consume_token(RPAREN_T);
+ }
+}
+
+
+void VhdlParser::record_element_constraint() {
+ if (!hasError) {
+ identifier();
+ }
+ if (!hasError) {
+ element_constraint();
+ }
+}
+
+
+void VhdlParser::record_element_list() {
+ if (!hasError) {
+ identifier();
+ }
+ if (!hasError) {
+ while (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case COMMA_T:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[287] = jj_gen;
+ goto end_label_49;
+ }
+ if (!hasError) {
+ jj_consume_token(COMMA_T);
+ }
+ if (!hasError) {
+ identifier();
+ }
+ }
+ end_label_49: ;
+ }
+}
+
+
+void VhdlParser::record_element_resolution() {
+ if (!hasError) {
+ identifier();
+ }
+ if (!hasError) {
+ resolution_indication();
+ }
+}
+
+
+void VhdlParser::record_resolution() {
+ if (!hasError) {
+ record_element_resolution();
+ }
+ if (!hasError) {
+ while (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case COMMA_T:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[288] = jj_gen;
+ goto end_label_50;
+ }
+ if (!hasError) {
+ jj_consume_token(COMMA_T);
+ }
+ if (!hasError) {
+ record_element_resolution();
+ }
+ }
+ end_label_50: ;
+ }
+}
+
+
+void VhdlParser::record_mode_view_indication() {
+ if (!hasError) {
+ jj_consume_token(VIEW_T);
+ }
+ if (!hasError) {
+ name();
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case OF_T:{
+ if (!hasError) {
+ jj_consume_token(OF_T);
+ }
+ if (!hasError) {
+ subtype_indication();
+ }
+ break;
+ }
+ default:
+ jj_la1[289] = jj_gen;
;
}
}
@@ -7171,15 +10672,65 @@ QCString VhdlParser::relation() {QCString s,s1,s2;
break;
}
default:
- jj_la1[189] = jj_gen;
+ jj_la1[290] = jj_gen;
+ ;
+ }
+ }
+return s+s1+s2;
+assert(false);
+}
+
+
+QCString VhdlParser::relative_pathname() {QCString s,s1,s2;
+ if (!hasError) {
+ s = neg_list();
+ }
+ if (!hasError) {
+ if (jj_2_130(2147483647)) {
+ if (!hasError) {
+ s1 = pathname_element_list();
+ }
+ } else {
;
}
}
+ if (!hasError) {
+ s2 = identifier();
+ }
return s+s1+s2;
assert(false);
}
+QCString VhdlParser::neg_list() {QCString s;
+ if (!hasError) {
+ while (!hasError) {
+ if (!hasError) {
+ jj_consume_token(NEG_T);
+ }
+ if (!hasError) {
+ jj_consume_token(DOT_T);
+ }
+ if (!hasError) {
+s+="^.";
+ }
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case NEG_T:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[291] = jj_gen;
+ goto end_label_51;
+ }
+ }
+ end_label_51: ;
+ }
+return s;
+assert(false);
+}
+
+
QCString VhdlParser::relation_operator() {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case LT_T:{
@@ -7291,7 +10842,7 @@ return "?/=";
break;
}
default:
- jj_la1[190] = jj_gen;
+ jj_la1[292] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -7313,7 +10864,7 @@ QCString VhdlParser::report_statement() {Token *t=0;Token *t1=0;QCString s,s1,s2
break;
}
default:
- jj_la1[191] = jj_gen;
+ jj_la1[293] = jj_gen;
;
}
}
@@ -7335,7 +10886,7 @@ QCString VhdlParser::report_statement() {Token *t=0;Token *t1=0;QCString s,s1,s2
break;
}
default:
- jj_la1[192] = jj_gen;
+ jj_la1[294] = jj_gen;
;
}
}
@@ -7350,7 +10901,74 @@ assert(false);
}
+QCString VhdlParser::resolution_indication() {QCString s;
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BASIC_IDENTIFIER:
+ case EXTENDED_CHARACTER:{
+ if (!hasError) {
+ s = identifier();
+ }
+ if (!hasError) {
+return s;
+ }
+ break;
+ }
+ case LPAREN_T:{
+ if (!hasError) {
+ jj_consume_token(LPAREN_T);
+ }
+ if (!hasError) {
+ s = expression();
+ }
+ if (!hasError) {
+ jj_consume_token(RPAREN_T);
+ }
+ if (!hasError) {
+return "("+s+")";
+ }
+ break;
+ }
+ default:
+ jj_la1[295] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ }
+assert(false);
+}
+
+
QCString VhdlParser::return_statement() {QCString s,s1;
+ if (jj_2_131(2147483647)) {
+ if (!hasError) {
+ s = plain_return_statement();
+ }
+ if (!hasError) {
+return s;
+ }
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case RETURN_T:
+ case BASIC_IDENTIFIER:
+ case EXTENDED_CHARACTER:{
+ if (!hasError) {
+ s = value_return_statement();
+ }
+ if (!hasError) {
+return s;
+ }
+ break;
+ }
+ default:
+ jj_la1[296] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ }
+ }
+assert(false);
+}
+
+
+QCString VhdlParser::plain_return_statement() {QCString s,s1;
if (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case BASIC_IDENTIFIER:
@@ -7361,55 +10979,68 @@ QCString VhdlParser::return_statement() {QCString s,s1;
if (!hasError) {
jj_consume_token(COLON_T);
}
+ break;
+ }
+ default:
+ jj_la1[297] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ jj_consume_token(RETURN_T);
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case WHEN_T:{
+ if (!hasError) {
+ jj_consume_token(WHEN_T);
+ }
if (!hasError) {
-s+=":";
+ condition();
}
break;
}
default:
- jj_la1[193] = jj_gen;
+ jj_la1[298] = jj_gen;
;
}
}
if (!hasError) {
- jj_consume_token(RETURN_T);
+ jj_consume_token(SEMI_T);
}
+return s;
+assert(false);
+}
+
+
+QCString VhdlParser::value_return_statement() {QCString s,s1;
if (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case ABS_T:
- case AND_T:
- case NAND_T:
- case NEW_T:
- case NOR_T:
- case NOT_T:
- case NULL_T:
- case OR_T:
- case XOR_T:
- case XNOR_T:
- case LPAREN_T:
- case PLUS_T:
- case MINUS_T:
- case SLSL_T:
- case QQ_T:
- case INTEGER:
- case STRINGLITERAL:
case BASIC_IDENTIFIER:
- case EXTENDED_CHARACTER:
- case CHARACTER_LITERAL:
- case DECIMAL_LITERAL:
- case BASED_LITERAL:
- case BIT_STRING_LITERAL:{
+ case EXTENDED_CHARACTER:{
if (!hasError) {
- s1 = expression();
+ s = identifier();
+ }
+ if (!hasError) {
+ jj_consume_token(COLON_T);
+ }
+ if (!hasError) {
+s+=":";
}
break;
}
default:
- jj_la1[194] = jj_gen;
+ jj_la1[299] = jj_gen;
;
}
}
if (!hasError) {
+ jj_consume_token(RETURN_T);
+ }
+ if (!hasError) {
+ s1 = conditional_or_unaffected_expression();
+ }
+ if (!hasError) {
jj_consume_token(SEMI_T);
}
return s+" return "+s1+";";
@@ -7418,7 +11049,7 @@ assert(false);
QCString VhdlParser::scalar_type_definition() {QCString s,s1;
- if (jj_2_82(2147483647)) {
+ if (jj_2_132(2147483647)) {
if (!hasError) {
s = enumeration_type_definition();
}
@@ -7440,7 +11071,7 @@ return s;
break;
}
default:
- jj_la1[195] = jj_gen;
+ jj_la1[300] = jj_gen;
;
}
}
@@ -7450,7 +11081,7 @@ return s+" "+s1;
break;
}
default:
- jj_la1[196] = jj_gen;
+ jj_la1[301] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -7459,6 +11090,13 @@ assert(false);
}
+void VhdlParser::scalar_incomplete_type_definition() {
+ if (!hasError) {
+ jj_consume_token(BOX_T);
+ }
+}
+
+
void VhdlParser::secondary_unit() {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case ARCHITECTURE_T:{
@@ -7474,7 +11112,7 @@ void VhdlParser::secondary_unit() {
break;
}
default:
- jj_la1[197] = jj_gen;
+ jj_la1[302] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -7494,7 +11132,7 @@ QCString VhdlParser::secondary_unit_declaration() {QCString s,s1;Token *t1=0;
if (!hasError) {
jj_consume_token(SEMI_T);
}
-outlineParser()->addVhdlType(s.data(),t1->beginLine,Entry::VARIABLE_SEC,VhdlDocGen::UNITS,0,s1.data(),Public);
+outlineParser()->addVhdlType(s.data(),t1->beginLine,Entry::VARIABLE_SEC,VhdlDocGen::UNITS,0,s1.data(),Protection::Public);
return s+"="+s1;
assert(false);
}
@@ -7561,8 +11199,8 @@ void VhdlParser::selected_waveforms() {
break;
}
default:
- jj_la1[198] = jj_gen;
- goto end_label_35;
+ jj_la1[303] = jj_gen;
+ goto end_label_52;
}
if (!hasError) {
jj_consume_token(COMMA_T);
@@ -7577,7 +11215,7 @@ void VhdlParser::selected_waveforms() {
choices();
}
}
- end_label_35: ;
+ end_label_52: ;
}
}
@@ -7595,6 +11233,315 @@ assert(false);
}
+void VhdlParser::selected_signal_assignment_wave() {
+ if (jj_2_133(2147483647)) {
+ if (!hasError) {
+ selected_force_assignment();
+ }
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case WITH_T:{
+ if (!hasError) {
+ selected_waveform_assignment();
+ }
+ break;
+ }
+ default:
+ jj_la1[304] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ }
+ }
+}
+
+
+void VhdlParser::selected_variable_assignment() {
+ if (!hasError) {
+ jj_consume_token(WITH_T);
+ }
+ if (!hasError) {
+ expression();
+ }
+ if (!hasError) {
+ jj_consume_token(SELECT_T);
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case Q_T:{
+ if (!hasError) {
+ jj_consume_token(Q_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[305] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ select_name();
+ }
+ if (!hasError) {
+ jj_consume_token(VARASSIGN_T);
+ }
+ if (!hasError) {
+ sel_var_list();
+ }
+}
+
+
+void VhdlParser::select_name() {
+ if (jj_2_134(2147483647)) {
+ if (!hasError) {
+ aggregate();
+ }
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case SLSL_T:
+ case STRINGLITERAL:
+ case BASIC_IDENTIFIER:
+ case EXTENDED_CHARACTER:{
+ if (!hasError) {
+ name();
+ }
+ break;
+ }
+ default:
+ jj_la1[306] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ }
+ }
+}
+
+
+void VhdlParser::selected_waveform_assignment() {
+ if (!hasError) {
+ jj_consume_token(WITH_T);
+ }
+ if (!hasError) {
+ expression();
+ }
+ if (!hasError) {
+ jj_consume_token(SELECT_T);
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case Q_T:{
+ if (!hasError) {
+ jj_consume_token(Q_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[307] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ target();
+ }
+ if (!hasError) {
+ jj_consume_token(LESSTHAN_T);
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case INERTIAL_T:
+ case REJECT_T:
+ case TRANSPORT_T:{
+ if (!hasError) {
+ delay_mechanism();
+ }
+ break;
+ }
+ default:
+ jj_la1[308] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ sel_wave_list();
+ }
+}
+
+
+void VhdlParser::selected_force_assignment() {
+ if (!hasError) {
+ jj_consume_token(WITH_T);
+ }
+ if (!hasError) {
+ expression();
+ }
+ if (!hasError) {
+ jj_consume_token(SELECT_T);
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case Q_T:{
+ if (!hasError) {
+ jj_consume_token(Q_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[309] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ target();
+ }
+ if (!hasError) {
+ jj_consume_token(LESSTHAN_T);
+ }
+ if (!hasError) {
+ jj_consume_token(FORCE_T);
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case IN_T:
+ case OUT_T:{
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case IN_T:{
+ if (!hasError) {
+ jj_consume_token(IN_T);
+ }
+ break;
+ }
+ case OUT_T:{
+ if (!hasError) {
+ jj_consume_token(OUT_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[310] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ }
+ break;
+ }
+ default:
+ jj_la1[311] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ sel_var_list();
+ }
+}
+
+
+void VhdlParser::sel_var_list() {
+ if (!hasError) {
+ if (!hasError) {
+ expression();
+ }
+ if (!hasError) {
+ jj_consume_token(WHEN_T);
+ }
+ if (!hasError) {
+ choices();
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case COMMA_T:{
+ if (!hasError) {
+ jj_consume_token(COMMA_T);
+ }
+ break;
+ }
+ case SEMI_T:{
+ if (!hasError) {
+ jj_consume_token(SEMI_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[312] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ }
+ }
+ }
+ if (!hasError) {
+ while (!hasError) {
+ if (jj_2_135(2147483647)) {
+ ;
+ } else {
+ goto end_label_53;
+ }
+ if (!hasError) {
+ expression();
+ }
+ if (!hasError) {
+ jj_consume_token(WHEN_T);
+ }
+ if (!hasError) {
+ choices();
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case COMMA_T:{
+ if (!hasError) {
+ jj_consume_token(COMMA_T);
+ }
+ break;
+ }
+ case SEMI_T:{
+ if (!hasError) {
+ jj_consume_token(SEMI_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[313] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ }
+ }
+ }
+ end_label_53: ;
+ }
+}
+
+
+void VhdlParser::sel_wave_list() {
+ if (!hasError) {
+ waveform_element();
+ }
+ if (!hasError) {
+ jj_consume_token(WHEN_T);
+ }
+ if (!hasError) {
+ choices();
+ }
+ if (!hasError) {
+ while (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case COMMA_T:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[314] = jj_gen;
+ goto end_label_54;
+ }
+ if (!hasError) {
+ jj_consume_token(COMMA_T);
+ }
+ if (!hasError) {
+ sel_wave_list();
+ }
+ }
+ end_label_54: ;
+ }
+ if (!hasError) {
+ jj_consume_token(SEMI_T);
+ }
+}
+
+
QCString VhdlParser::sensitivity_list() {QCString s,s1;Token* tok=0;
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case ALL_T:{
@@ -7621,8 +11568,8 @@ if(tok) return "all" ;
break;
}
default:
- jj_la1[199] = jj_gen;
- goto end_label_36;
+ jj_la1[315] = jj_gen;
+ goto end_label_55;
}
if (!hasError) {
jj_consume_token(COMMA_T);
@@ -7634,7 +11581,7 @@ if(tok) return "all" ;
s+=",";s+=s1;
}
}
- end_label_36: ;
+ end_label_55: ;
}
if (!hasError) {
return s;
@@ -7642,7 +11589,7 @@ return s;
break;
}
default:
- jj_la1[200] = jj_gen;
+ jj_la1[316] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -7650,13 +11597,13 @@ assert(false);
}
-QCString VhdlParser::sequence_of_statement() {QCString s,s1;
+QCString VhdlParser::sequence_of_statements() {QCString s,s1;
if (!hasError) {
while (!hasError) {
- if (jj_2_83(3)) {
+ if (jj_2_136(3)) {
;
} else {
- goto end_label_37;
+ goto end_label_56;
}
if (!hasError) {
s1 = sequential_statement();
@@ -7665,7 +11612,7 @@ QCString VhdlParser::sequence_of_statement() {QCString s,s1;
s+=s1;
}
}
- end_label_37: ;
+ end_label_56: ;
}
return s;
assert(false);
@@ -7673,90 +11620,97 @@ assert(false);
QCString VhdlParser::sequential_statement() {QCString s;
- if (jj_2_84(2147483647)) {
+ if (jj_2_137(2147483647)) {
if (!hasError) {
s = signal_assignment_statement();
}
if (!hasError) {
FlowChart::addFlowChart(FlowChart::TEXT_NO,s,QCString());return s;
}
- } else if (jj_2_85(3)) {
+ } else if (jj_2_138(3)) {
if (!hasError) {
s = assertion_statement();
}
if (!hasError) {
FlowChart::addFlowChart(FlowChart::TEXT_NO,s,QCString());return s;
}
- } else if (jj_2_86(3)) {
+ } else if (jj_2_139(3)) {
if (!hasError) {
s = report_statement();
}
if (!hasError) {
FlowChart::addFlowChart(FlowChart::TEXT_NO,s,QCString());return s;
}
- } else if (jj_2_87(3)) {
+ } else if (jj_2_140(3)) {
if (!hasError) {
s = wait_statement();
}
if (!hasError) {
FlowChart::addFlowChart(FlowChart::TEXT_NO,s,QCString());return s;
}
- } else if (jj_2_88(2147483647)) {
+ } else if (jj_2_141(2147483647)) {
if (!hasError) {
s = variable_assignment_statement();
}
if (!hasError) {
FlowChart::addFlowChart(FlowChart::TEXT_NO,s,QCString());return s;
}
- } else if (jj_2_89(3)) {
+ } else if (jj_2_142(3)) {
if (!hasError) {
s = procedure_call_statement();
}
if (!hasError) {
FlowChart::addFlowChart(FlowChart::TEXT_NO,s,QCString());return s;
}
- } else if (jj_2_90(3)) {
+ } else if (jj_2_143(3)) {
if (!hasError) {
if_statement();
}
if (!hasError) {
return s;
}
- } else if (jj_2_91(3)) {
+ } else if (jj_2_144(3)) {
if (!hasError) {
case_statement();
}
if (!hasError) {
return s;
}
- } else if (jj_2_92(3)) {
+ } else if (jj_2_145(3)) {
if (!hasError) {
loop_statement();
}
if (!hasError) {
return s;
}
- } else if (jj_2_93(3)) {
+ } else if (jj_2_146(3)) {
if (!hasError) {
s = next_statement();
}
if (!hasError) {
return s;
}
- } else if (jj_2_94(3)) {
+ } else if (jj_2_147(3)) {
if (!hasError) {
s = exit_statement();
}
if (!hasError) {
return s;
}
- } else if (jj_2_95(3)) {
+ } else if (jj_2_148(3)) {
if (!hasError) {
s = return_statement();
}
if (!hasError) {
FlowChart::addFlowChart(FlowChart::RETURN_NO,s,QCString());return s;
}
+ } else if (jj_2_149(3)) {
+ if (!hasError) {
+ sequential_bock_statement();
+ }
+ if (!hasError) {
+return "";
+ }
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case NULL_T:
@@ -7771,7 +11725,179 @@ FlowChart::addFlowChart(FlowChart::TEXT_NO,s,QCString());return s;
break;
}
default:
- jj_la1[201] = jj_gen;
+ jj_la1[317] = jj_gen;
+ jj_consume_token(-1);
+ errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
+ }
+ }
+assert(false);
+}
+
+
+QCString VhdlParser::sequential_bock_statement() {QCString s,s1,s2;
+ if (jj_2_150(6)) {
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BASIC_IDENTIFIER:
+ case EXTENDED_CHARACTER:{
+ if (!hasError) {
+ label();
+ }
+ if (!hasError) {
+ jj_consume_token(COLON_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[318] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ jj_consume_token(BLOCK_T);
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case IS_T:{
+ if (!hasError) {
+ jj_consume_token(IS_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[319] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ jj_consume_token(BEGIN_T);
+ }
+ if (!hasError) {
+ sequential_block_statement_part();
+ }
+ if (!hasError) {
+ jj_consume_token(END_T);
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BLOCK_T:{
+ if (!hasError) {
+ jj_consume_token(BLOCK_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[320] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BASIC_IDENTIFIER:
+ case EXTENDED_CHARACTER:{
+ if (!hasError) {
+ label();
+ }
+ break;
+ }
+ default:
+ jj_la1[321] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ jj_consume_token(SEMI_T);
+ }
+ if (!hasError) {
+return "";
+ }
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BLOCK_T:
+ case BASIC_IDENTIFIER:
+ case EXTENDED_CHARACTER:{
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BASIC_IDENTIFIER:
+ case EXTENDED_CHARACTER:{
+ if (!hasError) {
+ label();
+ }
+ if (!hasError) {
+ jj_consume_token(COLON_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[322] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ jj_consume_token(BLOCK_T);
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case IS_T:{
+ if (!hasError) {
+ jj_consume_token(IS_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[323] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ sequential_block_declarative_part();
+ }
+ if (!hasError) {
+ jj_consume_token(BEGIN_T);
+ }
+ if (!hasError) {
+ sequential_block_statement_part();
+ }
+ if (!hasError) {
+ jj_consume_token(END_T);
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BLOCK_T:{
+ if (!hasError) {
+ jj_consume_token(BLOCK_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[324] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BASIC_IDENTIFIER:
+ case EXTENDED_CHARACTER:{
+ if (!hasError) {
+ label();
+ }
+ break;
+ }
+ default:
+ jj_la1[325] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ jj_consume_token(SEMI_T);
+ }
+ if (!hasError) {
+return "";
+ }
+ break;
+ }
+ default:
+ jj_la1[326] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -7780,6 +11906,135 @@ assert(false);
}
+QCString VhdlParser::sequential_block_declarative_part() {QCString s,s1,s2;
+ if (!hasError) {
+ process_declarative_part();
+ }
+return "";
+assert(false);
+}
+
+
+QCString VhdlParser::sequential_block_statement_part() {QCString s,s1,s2;
+ if (!hasError) {
+ while (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case ASSERT_T:
+ case BLOCK_T:
+ case CASE_T:
+ case EXIT_T:
+ case FOR_T:
+ case IF_T:
+ case LOOP_T:
+ case NEXT_T:
+ case NULL_T:
+ case REPORT_T:
+ case RETURN_T:
+ case WAIT_T:
+ case WHILE_T:
+ case WITH_T:
+ case LPAREN_T:
+ case SLSL_T:
+ case STRINGLITERAL:
+ case BASIC_IDENTIFIER:
+ case EXTENDED_CHARACTER:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[327] = jj_gen;
+ goto end_label_57;
+ }
+ if (!hasError) {
+ sequential_statement();
+ }
+ }
+ end_label_57: ;
+ }
+return "";
+assert(false);
+}
+
+
+QCString VhdlParser::sequential_statement_body() {QCString s,s1,s2;
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case ALIAS_T:
+ case ATTRIBUTE_T:
+ case BEGIN_T:
+ case CONSTANT_T:
+ case FILE_T:
+ case FUNCTION_T:
+ case GROUP_T:
+ case IMPURE_T:
+ case IS_T:
+ case PACKAGE_T:
+ case PROCEDURE_T:
+ case PURE_T:
+ case SHARED_T:
+ case SUBTYPE_T:
+ case TYPE_T:
+ case USE_T:
+ case VARIABLE_T:{
+ if (!hasError) {
+ sequential_statement_declarative_part();
+ }
+ if (!hasError) {
+ jj_consume_token(BEGIN_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[328] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ sequence_of_statements();
+ }
+return "";
+assert(false);
+}
+
+
+QCString VhdlParser::sequential_statement_declarative_part() {QCString s,s1,s2;
+ if (!hasError) {
+ while (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case ALIAS_T:
+ case ATTRIBUTE_T:
+ case CONSTANT_T:
+ case FILE_T:
+ case FUNCTION_T:
+ case GROUP_T:
+ case IMPURE_T:
+ case IS_T:
+ case PACKAGE_T:
+ case PROCEDURE_T:
+ case PURE_T:
+ case SHARED_T:
+ case SUBTYPE_T:
+ case TYPE_T:
+ case USE_T:
+ case VARIABLE_T:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[329] = jj_gen;
+ goto end_label_58;
+ }
+ if (!hasError) {
+ process_declarative_item();
+ }
+ }
+ end_label_58: ;
+ }
+return "";
+assert(false);
+}
+
+
QCString VhdlParser::shift_expression() {QCString s,s1,s2;
if (!hasError) {
s = simple_expression();
@@ -7801,7 +12056,7 @@ QCString VhdlParser::shift_expression() {QCString s,s1,s2;
break;
}
default:
- jj_la1[202] = jj_gen;
+ jj_la1[330] = jj_gen;
;
}
}
@@ -7867,7 +12122,7 @@ return "ror";
break;
}
default:
- jj_la1[203] = jj_gen;
+ jj_la1[331] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -7896,7 +12151,7 @@ return "-";
break;
}
default:
- jj_la1[204] = jj_gen;
+ jj_la1[332] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -7905,14 +12160,14 @@ assert(false);
QCString VhdlParser::signal_assignment_statement() {QCString s,s1,s2,s3;
- if (jj_2_97(2147483647)) {
+ if (jj_2_152(2147483647)) {
if (!hasError) {
conditional_signal_assignment_wave();
}
if (!hasError) {
return QCString();
}
- } else if (jj_2_98(2147483647)) {
+ } else if (jj_2_153(2147483647)) {
if (!hasError) {
selected_signal_assignment_wave();
}
@@ -7927,7 +12182,7 @@ return QCString();
case BASIC_IDENTIFIER:
case EXTENDED_CHARACTER:{
if (!hasError) {
- if (jj_2_96(2)) {
+ if (jj_2_151(2)) {
if (!hasError) {
s = identifier();
}
@@ -7958,7 +12213,7 @@ s+=":";
break;
}
default:
- jj_la1[205] = jj_gen;
+ jj_la1[333] = jj_gen;
;
}
}
@@ -7974,7 +12229,7 @@ return s+s1+"<="+s2+s3+";";
break;
}
default:
- jj_la1[206] = jj_gen;
+ jj_la1[334] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -7983,13 +12238,6 @@ assert(false);
}
-void VhdlParser::semi() {
- if (!hasError) {
- jj_consume_token(SEMI_T);
- }
-}
-
-
void VhdlParser::signal_declaration() {Token* tok=0;QCString s,s1,s2,s3,s4;
if (!hasError) {
jj_consume_token(SIGNAL_T);
@@ -8013,7 +12261,7 @@ void VhdlParser::signal_declaration() {Token* tok=0;QCString s,s1,s2,s3,s4;
break;
}
default:
- jj_la1[207] = jj_gen;
+ jj_la1[335] = jj_gen;
;
}
}
@@ -8029,7 +12277,7 @@ void VhdlParser::signal_declaration() {Token* tok=0;QCString s,s1,s2,s3,s4;
break;
}
default:
- jj_la1[208] = jj_gen;
+ jj_la1[336] = jj_gen;
;
}
}
@@ -8039,7 +12287,7 @@ void VhdlParser::signal_declaration() {Token* tok=0;QCString s,s1,s2,s3,s4;
if(tok)
s3.prepend(":=");
s4=s1+s2+s3;
- outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,VhdlDocGen::SIGNAL,0,s4.data(),Public);
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,VhdlDocGen::SIGNAL,0,s4.data(),Protection::Public);
}
@@ -8064,7 +12312,7 @@ return "bus";
break;
}
default:
- jj_la1[209] = jj_gen;
+ jj_la1[337] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -8089,8 +12337,8 @@ QCString VhdlParser::signal_list() {QCString s,s1;
break;
}
default:
- jj_la1[210] = jj_gen;
- goto end_label_38;
+ jj_la1[338] = jj_gen;
+ goto end_label_59;
}
if (!hasError) {
jj_consume_token(COMMA_T);
@@ -8102,7 +12350,7 @@ QCString VhdlParser::signal_list() {QCString s,s1;
s+=",";s+=s1;
}
}
- end_label_38: ;
+ end_label_59: ;
}
break;
}
@@ -8125,7 +12373,7 @@ return "all";
break;
}
default:
- jj_la1[211] = jj_gen;
+ jj_la1[339] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -8133,6 +12381,63 @@ assert(false);
}
+QCString VhdlParser::simple_mode_indication() {QCString s,s1;
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BUFFER_T:
+ case IN_T:
+ case INOUT_T:
+ case LINKAGE_T:
+ case OUT_T:{
+ if (!hasError) {
+ mode();
+ }
+ break;
+ }
+ default:
+ jj_la1[340] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ subtype_indication();
+ }
+ if (!hasError) {
+ interface_type_indication();
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BUS_T:{
+ if (!hasError) {
+ jj_consume_token(BUS_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[341] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case VARASSIGN_T:{
+ if (!hasError) {
+ jj_consume_token(VARASSIGN_T);
+ }
+ if (!hasError) {
+ expression();
+ }
+ break;
+ }
+ default:
+ jj_la1[342] = jj_gen;
+ ;
+ }
+ }
+assert(false);
+}
+
+
QCString VhdlParser::signature() {QCString s,s1,s2;
if (!hasError) {
jj_consume_token(LBRACKET_T);
@@ -8154,8 +12459,8 @@ QCString VhdlParser::signature() {QCString s,s1,s2;
break;
}
default:
- jj_la1[212] = jj_gen;
- goto end_label_39;
+ jj_la1[343] = jj_gen;
+ goto end_label_60;
}
if (!hasError) {
jj_consume_token(COMMA_T);
@@ -8167,12 +12472,12 @@ QCString VhdlParser::signature() {QCString s,s1,s2;
s+=",";s+=s1;
}
}
- end_label_39: ;
+ end_label_60: ;
}
break;
}
default:
- jj_la1[213] = jj_gen;
+ jj_la1[344] = jj_gen;
;
}
}
@@ -8191,7 +12496,7 @@ s+="return ";s+=s1;
break;
}
default:
- jj_la1[214] = jj_gen;
+ jj_la1[345] = jj_gen;
;
}
}
@@ -8214,34 +12519,34 @@ QCString VhdlParser::simple_expression() {QCString s,s1,s2;
break;
}
default:
- jj_la1[215] = jj_gen;
+ jj_la1[346] = jj_gen;
;
}
}
if (!hasError) {
- s1 = term();
+ s1 = simpleTerm();
}
if (!hasError) {
s+=s1;
}
if (!hasError) {
while (!hasError) {
- if (jj_2_99(2147483647)) {
+ if (jj_2_154(2147483647)) {
;
} else {
- goto end_label_40;
+ goto end_label_61;
}
if (!hasError) {
s1 = adding_operator();
}
if (!hasError) {
- s2 = term();
+ s2 = simpleTerm();
}
if (!hasError) {
s+=s1;s+=s2;
}
}
- end_label_40: ;
+ end_label_61: ;
}
return s;
assert(false);
@@ -8287,8 +12592,7 @@ void VhdlParser::subprogram_body() {QCString s;
jj_consume_token(IS_T);
}
if (!hasError) {
- //try{
- s = subprogram_declarative_part();
+ s = subprogram_declarative_part();
}
if (!hasError) {
if (s.data())
@@ -8316,7 +12620,7 @@ if (s.data())
break;
}
default:
- jj_la1[216] = jj_gen;
+ jj_la1[347] = jj_gen;
;
}
}
@@ -8331,7 +12635,7 @@ if (s.data())
break;
}
default:
- jj_la1[217] = jj_gen;
+ jj_la1[348] = jj_gen;
;
}
}
@@ -8345,7 +12649,7 @@ m_sharedState->tempEntry->endBodyLine=outlineParser()->getLine(END_T);
void VhdlParser::subprogram_declaration() {
- if (jj_2_100(2147483647)) {
+ if (jj_2_155(2147483647)) {
if (!hasError) {
subprogram_instantiation_declaration();
}
@@ -8367,7 +12671,7 @@ m_sharedState->currP=0;
break;
}
default:
- jj_la1[218] = jj_gen;
+ jj_la1[349] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -8390,7 +12694,7 @@ void VhdlParser::subprogram_1() {
break;
}
default:
- jj_la1[219] = jj_gen;
+ jj_la1[350] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -8476,8 +12780,8 @@ return s;
break;
}
default:
- jj_la1[220] = jj_gen;
- if (jj_2_101(2147483647)) {
+ jj_la1[351] = jj_gen;
+ if (jj_2_156(2147483647)) {
if (!hasError) {
s = attribute_declaration();
}
@@ -8505,8 +12809,8 @@ return s;
break;
}
default:
- jj_la1[221] = jj_gen;
- if (jj_2_102(3)) {
+ jj_la1[352] = jj_gen;
+ if (jj_2_157(3)) {
if (!hasError) {
s = group_template_declaration();
}
@@ -8525,7 +12829,7 @@ return s;
break;
}
default:
- jj_la1[222] = jj_gen;
+ jj_la1[353] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -8560,8 +12864,8 @@ QCString VhdlParser::subprogram_declarative_part() {QCString s,s1;
break;
}
default:
- jj_la1[223] = jj_gen;
- goto end_label_41;
+ jj_la1[354] = jj_gen;
+ goto end_label_62;
}
if (!hasError) {
s1 = subprogram_declarative_item();
@@ -8570,7 +12874,7 @@ QCString VhdlParser::subprogram_declarative_part() {QCString s,s1;
s+=s1;
}
}
- end_label_41: ;
+ end_label_62: ;
}
return s;
assert(false);
@@ -8592,13 +12896,44 @@ void VhdlParser::subprogram_kind() {
break;
}
default:
- jj_la1[224] = jj_gen;
+ jj_la1[355] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
}
+void VhdlParser::subprogram_header() {
+ if (!hasError) {
+ jj_consume_token(GENERIC_T);
+ }
+ if (!hasError) {
+m_sharedState->parse_sec=GEN_SEC;
+ }
+ if (!hasError) {
+ jj_consume_token(LPAREN_T);
+ }
+ if (!hasError) {
+ generic_list();
+ }
+ if (!hasError) {
+ jj_consume_token(RPAREN_T);
+ }
+ if (!hasError) {
+m_sharedState->parse_sec=0;
+ }
+ if (!hasError) {
+ if (jj_2_158(2)) {
+ if (!hasError) {
+ generic_map_aspect();
+ }
+ } else {
+ ;
+ }
+ }
+}
+
+
void VhdlParser::subprogram_specification() {QCString s;Token *tok=0;Token *t;
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case PROCEDURE_T:{
@@ -8610,7 +12945,7 @@ void VhdlParser::subprogram_specification() {QCString s;Token *tok=0;Token *t;
}
if (!hasError) {
m_sharedState->currP=VhdlDocGen::PROCEDURE;
- outlineParser()->createFunction(s.data(),m_sharedState->currP,0);
+ outlineParser()->createFunction(s,m_sharedState->currP,0);
m_sharedState->tempEntry=m_sharedState->current;
m_sharedState->current->startLine=outlineParser()->getLine(PROCEDURE_T);
m_sharedState->current->bodyLine=outlineParser()->getLine(PROCEDURE_T);
@@ -8636,12 +12971,12 @@ m_sharedState->param_sec=0;
break;
}
default:
- jj_la1[225] = jj_gen;
+ jj_la1[356] = jj_gen;
;
}
}
if (!hasError) {
- if (jj_2_103(2)) {
+ if (jj_2_159(2)) {
if (!hasError) {
gen_interface_list();
}
@@ -8650,7 +12985,7 @@ m_sharedState->param_sec=0;
}
}
if (!hasError) {
- if (jj_2_104(2)) {
+ if (jj_2_160(2)) {
if (!hasError) {
gen_assoc_list();
}
@@ -8688,7 +13023,7 @@ outlineParser()->newEntry();
break;
}
default:
- jj_la1[226] = jj_gen;
+ jj_la1[357] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -8696,7 +13031,7 @@ outlineParser()->newEntry();
break;
}
default:
- jj_la1[227] = jj_gen;
+ jj_la1[358] = jj_gen;
;
}
}
@@ -8704,22 +13039,52 @@ outlineParser()->newEntry();
t = jj_consume_token(FUNCTION_T);
}
if (!hasError) {
+m_sharedState->currP=VhdlDocGen::FUNCTION;
+ }
+ if (!hasError) {
s = designator();
}
if (!hasError) {
-m_sharedState->currP=VhdlDocGen::FUNCTION;
- if(tok)
- outlineParser()->createFunction(tok->image.c_str(),m_sharedState->currP,s.data());
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case GENERIC_T:{
+ if (!hasError) {
+ subprogram_header();
+ }
+ break;
+ }
+ default:
+ jj_la1[359] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+if (tok)
+ outlineParser()->createFunction(tok->image,m_sharedState->currP,s);
else
- outlineParser()->createFunction(0,m_sharedState->currP,s.data());
+ outlineParser()->createFunction(QCString(),m_sharedState->currP,s);
+
m_sharedState->tempEntry=m_sharedState->current;
m_sharedState->current->startLine=outlineParser()->getLine(FUNCTION_T);
m_sharedState->current->bodyLine=outlineParser()->getLine(FUNCTION_T);
}
if (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case PARAMETER_T:
case LPAREN_T:{
if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case PARAMETER_T:{
+ if (!hasError) {
+ jj_consume_token(PARAMETER_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[360] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
m_sharedState->param_sec=PARAM_SEC;
}
if (!hasError) {
@@ -8737,7 +13102,7 @@ m_sharedState->param_sec=0;
break;
}
default:
- jj_la1[228] = jj_gen;
+ jj_la1[361] = jj_gen;
;
}
}
@@ -8745,6 +13110,18 @@ m_sharedState->param_sec=0;
jj_consume_token(RETURN_T);
}
if (!hasError) {
+ if (jj_2_161(2)) {
+ if (!hasError) {
+ identifier();
+ }
+ if (!hasError) {
+ jj_consume_token(OF_T);
+ }
+ } else {
+ ;
+ }
+ }
+ if (!hasError) {
s = type_mark();
}
if (!hasError) {
@@ -8755,7 +13132,7 @@ m_sharedState->tempEntry=m_sharedState->current;
break;
}
default:
- jj_la1[229] = jj_gen;
+ jj_la1[362] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -8767,6 +13144,7 @@ void VhdlParser::subprogram_statement_part() {
while (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case ASSERT_T:
+ case BLOCK_T:
case CASE_T:
case EXIT_T:
case FOR_T:
@@ -8788,21 +13166,21 @@ void VhdlParser::subprogram_statement_part() {
break;
}
default:
- jj_la1[230] = jj_gen;
- goto end_label_42;
+ jj_la1[363] = jj_gen;
+ goto end_label_63;
}
if (!hasError) {
sequential_statement();
}
}
- end_label_42: ;
+ end_label_63: ;
}
}
-QCString VhdlParser::subtype_declaration() {QCString s,s1;
+QCString VhdlParser::subprogram_instantiation_declaration() {QCString s,s1,s2;
if (!hasError) {
- jj_consume_token(SUBTYPE_T);
+ jj_consume_token(FUNCTION_T);
}
if (!hasError) {
s = identifier();
@@ -8811,39 +13189,86 @@ QCString VhdlParser::subtype_declaration() {QCString s,s1;
jj_consume_token(IS_T);
}
if (!hasError) {
- s1 = subtype_indication();
+ jj_consume_token(NEW_T);
+ }
+ if (!hasError) {
+ s1 = name();
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case LBRACKET_T:{
+ if (!hasError) {
+ s2 = signature();
+ }
+ break;
+ }
+ default:
+ jj_la1[364] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case GENERIC_T:{
+ if (!hasError) {
+ gen_assoc_list();
+ }
+ break;
+ }
+ default:
+ jj_la1[365] = jj_gen;
+ ;
+ }
}
if (!hasError) {
jj_consume_token(SEMI_T);
}
-outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,VhdlDocGen::SUBTYPE,0,s1.data(),Public);
- return " subtype "+s+" is "+s1+";";
+QCString q= " is new "+s1+s2;
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(FUNCTION_T),Entry::VARIABLE_SEC,VhdlDocGen::INSTANTIATION,"function ",q.data(),Protection::Public);
+ return q;
assert(false);
}
-QCString VhdlParser::reslution_indication() {QCString s;
+QCString VhdlParser::subtype_declaration() {QCString s,s1;
if (!hasError) {
- jj_consume_token(LPAREN_T);
+ jj_consume_token(SUBTYPE_T);
}
if (!hasError) {
- s = expression();
+ s = identifier();
}
if (!hasError) {
- jj_consume_token(RPAREN_T);
+ jj_consume_token(IS_T);
}
-return "("+s+")";
+ if (!hasError) {
+ s1 = subtype_indication();
+ }
+ if (!hasError) {
+ jj_consume_token(SEMI_T);
+ }
+outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,VhdlDocGen::SUBTYPE,0,s1.data(),Protection::Public);
+ return " subtype "+s+" is "+s1+";";
assert(false);
}
QCString VhdlParser::subtype_indication() {QCString s,s1,s2;
if (!hasError) {
- if (jj_2_105(5)) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case LPAREN_T:{
if (!hasError) {
- s = reslution_indication();
+ jj_consume_token(LPAREN_T);
}
- } else {
+ if (!hasError) {
+ s = expression();
+ }
+ if (!hasError) {
+ jj_consume_token(RPAREN_T);
+ }
+ break;
+ }
+ default:
+ jj_la1[366] = jj_gen;
;
}
}
@@ -8852,23 +13277,16 @@ QCString VhdlParser::subtype_indication() {QCString s,s1,s2;
if (!hasError) {
s1 = name();
}
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case SLSL_T:
- case STRINGLITERAL:
- case BASIC_IDENTIFIER:
- case EXTENDED_CHARACTER:{
+ if (jj_2_162(2)) {
;
- break;
- }
- default:
- jj_la1[231] = jj_gen;
- goto end_label_43;
+ } else {
+ goto end_label_64;
}
}
- end_label_43: ;
+ end_label_64: ;
}
if (!hasError) {
- if (jj_2_106(2147483647)) {
+ if (jj_2_163(2147483647)) {
if (!hasError) {
s2 = constraint();
}
@@ -8882,7 +13300,7 @@ assert(false);
QCString VhdlParser::suffix() {QCString s;
- if (jj_2_107(2147483647)) {
+ if (jj_2_164(2147483647)) {
if (!hasError) {
s = name();
}
@@ -8919,7 +13337,7 @@ return " all ";
break;
}
default:
- jj_la1[232] = jj_gen;
+ jj_la1[367] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -8952,7 +13370,7 @@ return s;
break;
}
default:
- jj_la1[233] = jj_gen;
+ jj_la1[368] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -8960,16 +13378,16 @@ assert(false);
}
-QCString VhdlParser::term() {QCString s,s1,s2;
+QCString VhdlParser::simpleTerm() {QCString s,s1,s2;
if (!hasError) {
s = factor();
}
if (!hasError) {
while (!hasError) {
- if (jj_2_108(2)) {
+ if (jj_2_165(2)) {
;
} else {
- goto end_label_44;
+ goto end_label_65;
}
if (!hasError) {
s1 = multiplying_operation();
@@ -8981,7 +13399,7 @@ QCString VhdlParser::term() {QCString s,s1,s2;
s+=s1;s+=s2;
}
}
- end_label_44: ;
+ end_label_65: ;
}
return s;
assert(false);
@@ -9019,7 +13437,7 @@ assert(false);
QCString VhdlParser::type_declaration() {QCString s;
- if (jj_2_109(3)) {
+ if (jj_2_166(3)) {
if (!hasError) {
s = full_type_declaration();
}
@@ -9038,7 +13456,7 @@ return s;
break;
}
default:
- jj_la1[234] = jj_gen;
+ jj_la1[369] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -9087,9 +13505,18 @@ return s;
}
break;
}
+ case NEW_T:{
+ if (!hasError) {
+ protected_type_instantiation_definition();
+ }
+ if (!hasError) {
+return QCString();
+ }
+ break;
+ }
default:
- jj_la1[235] = jj_gen;
- if (jj_2_110(2)) {
+ jj_la1[370] = jj_gen;
+ if (jj_2_167(2)) {
if (!hasError) {
protected_type_body();
}
@@ -9108,7 +13535,7 @@ return QCString();
break;
}
default:
- jj_la1[236] = jj_gen;
+ jj_la1[371] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -9118,6 +13545,29 @@ assert(false);
}
+void VhdlParser::protected_type_instantiation_definition() {QCString s;
+ if (!hasError) {
+ jj_consume_token(NEW_T);
+ }
+ if (!hasError) {
+ name();
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case GENERIC_T:{
+ if (!hasError) {
+ generic_map_aspect();
+ }
+ break;
+ }
+ default:
+ jj_la1[372] = jj_gen;
+ ;
+ }
+ }
+}
+
+
QCString VhdlParser::type_mark() {QCString s;
if (!hasError) {
s = name();
@@ -9145,8 +13595,8 @@ QCString VhdlParser::unconstraint_array_definition() {QCString s,s1,s2,s3;
break;
}
default:
- jj_la1[237] = jj_gen;
- goto end_label_45;
+ jj_la1[373] = jj_gen;
+ goto end_label_66;
}
if (!hasError) {
jj_consume_token(COMMA_T);
@@ -9158,7 +13608,7 @@ QCString VhdlParser::unconstraint_array_definition() {QCString s,s1,s2,s3;
s3+=",";s3+=s1;
}
}
- end_label_45: ;
+ end_label_66: ;
}
if (!hasError) {
jj_consume_token(RPAREN_T);
@@ -9189,8 +13639,8 @@ QCString VhdlParser::use_clause() {QCString s,s1;
break;
}
default:
- jj_la1[238] = jj_gen;
- goto end_label_46;
+ jj_la1[374] = jj_gen;
+ goto end_label_67;
}
if (!hasError) {
jj_consume_token(COMMA_T);
@@ -9202,7 +13652,7 @@ QCString VhdlParser::use_clause() {QCString s,s1;
s+=",";s+=s1;
}
}
- end_label_46: ;
+ end_label_67: ;
}
if (!hasError) {
jj_consume_token(SEMI_T);
@@ -9221,7 +13671,7 @@ auto ql1=split(s.str(),",");
Entry::VARIABLE_SEC,
VhdlDocGen::USE,
it.c_str(),
- "_use_",Public);
+ "_use_",Protection::Public);
}
}
}
@@ -9239,7 +13689,7 @@ QCString VhdlParser::variable_assignment_statement() {QCString s,s1,s2;
case BASIC_IDENTIFIER:
case EXTENDED_CHARACTER:{
if (!hasError) {
- if (jj_2_111(2)) {
+ if (jj_2_168(2)) {
if (!hasError) {
s = identifier();
}
@@ -9260,7 +13710,7 @@ s+=":";
jj_consume_token(VARASSIGN_T);
}
if (!hasError) {
- s2 = expression();
+ s2 = conditional_or_unaffected_expression();
}
if (!hasError) {
jj_consume_token(SEMI_T);
@@ -9280,7 +13730,7 @@ return QCString();
break;
}
default:
- jj_la1[239] = jj_gen;
+ jj_la1[375] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -9298,7 +13748,7 @@ QCString VhdlParser::variable_declaration() {Token *tok=0;Token *t1=0;QCString s
break;
}
default:
- jj_la1[240] = jj_gen;
+ jj_la1[376] = jj_gen;
;
}
}
@@ -9316,17 +13766,30 @@ QCString VhdlParser::variable_declaration() {Token *tok=0;Token *t1=0;QCString s
}
if (!hasError) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case GENERIC_T:{
+ if (!hasError) {
+ generic_map_aspect();
+ }
+ break;
+ }
+ default:
+ jj_la1[377] = jj_gen;
+ ;
+ }
+ }
+ if (!hasError) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case VARASSIGN_T:{
if (!hasError) {
t1 = jj_consume_token(VARASSIGN_T);
}
if (!hasError) {
- s2 = expression();
+ s2 = conditional_expression();
}
break;
}
default:
- jj_la1[241] = jj_gen;
+ jj_la1[378] = jj_gen;
;
}
}
@@ -9352,7 +13815,7 @@ int spec;
it+=":=";
it+=s2;
}
- outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,spec,0,it.data(),Public);
+ outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(),Entry::VARIABLE_SEC,spec,0,it.data(),Protection::Public);
return val;
assert(false);
}
@@ -9372,7 +13835,7 @@ QCString VhdlParser::wait_statement() {QCString s,s1,s2,s3;Token *t=0;
break;
}
default:
- jj_la1[242] = jj_gen;
+ jj_la1[379] = jj_gen;
;
}
}
@@ -9388,7 +13851,7 @@ QCString VhdlParser::wait_statement() {QCString s,s1,s2,s3;Token *t=0;
break;
}
default:
- jj_la1[243] = jj_gen;
+ jj_la1[380] = jj_gen;
;
}
}
@@ -9401,7 +13864,7 @@ QCString VhdlParser::wait_statement() {QCString s,s1,s2,s3;Token *t=0;
break;
}
default:
- jj_la1[244] = jj_gen;
+ jj_la1[381] = jj_gen;
;
}
}
@@ -9414,7 +13877,7 @@ QCString VhdlParser::wait_statement() {QCString s,s1,s2,s3;Token *t=0;
break;
}
default:
- jj_la1[245] = jj_gen;
+ jj_la1[382] = jj_gen;
;
}
}
@@ -9463,8 +13926,8 @@ QCString VhdlParser::waveform() {QCString s,s1;
break;
}
default:
- jj_la1[246] = jj_gen;
- goto end_label_47;
+ jj_la1[383] = jj_gen;
+ goto end_label_68;
}
if (!hasError) {
jj_consume_token(COMMA_T);
@@ -9476,7 +13939,7 @@ QCString VhdlParser::waveform() {QCString s,s1;
s+=","; s+=s1;
}
}
- end_label_47: ;
+ end_label_68: ;
}
if (!hasError) {
return s;
@@ -9493,7 +13956,7 @@ return " unaffected ";
break;
}
default:
- jj_la1[247] = jj_gen;
+ jj_la1[384] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -9520,7 +13983,7 @@ s1.prepend(" after ");
break;
}
default:
- jj_la1[248] = jj_gen;
+ jj_la1[385] = jj_gen;
;
}
}
@@ -9529,1853 +13992,6 @@ assert(false);
}
-QCString VhdlParser::protected_type_body() {
- if (!hasError) {
- jj_consume_token(PROTECTED_T);
- }
- if (!hasError) {
- jj_consume_token(BODY_T);
- }
- if (!hasError) {
- protected_type_body_declarative_part();
- }
- if (!hasError) {
- jj_consume_token(END_T);
- }
- if (!hasError) {
- jj_consume_token(PROTECTED_T);
- }
- if (!hasError) {
- jj_consume_token(BODY_T);
- }
- if (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case BASIC_IDENTIFIER:
- case EXTENDED_CHARACTER:{
- if (!hasError) {
- identifier();
- }
- break;
- }
- default:
- jj_la1[249] = jj_gen;
- ;
- }
- }
-return QCString();
-assert(false);
-}
-
-
-void VhdlParser::protected_type_body_declarative_item() {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case FUNCTION_T:
- case IMPURE_T:
- case PROCEDURE_T:
- case PURE_T:{
- if (!hasError) {
- subprogram_declaration();
- }
- break;
- }
- case IS_T:{
- if (!hasError) {
- subprogram_body();
- }
- break;
- }
- case TYPE_T:{
- if (!hasError) {
- type_declaration();
- }
- break;
- }
- case SUBTYPE_T:{
- if (!hasError) {
- subtype_declaration();
- }
- break;
- }
- case CONSTANT_T:{
- if (!hasError) {
- constant_declaration();
- }
- break;
- }
- case SHARED_T:
- case VARIABLE_T:{
- if (!hasError) {
- variable_declaration();
- }
- break;
- }
- case FILE_T:{
- if (!hasError) {
- file_declaration();
- }
- break;
- }
- case ALIAS_T:{
- if (!hasError) {
- alias_declaration();
- }
- break;
- }
- default:
- jj_la1[250] = jj_gen;
- if (jj_2_112(2147483647)) {
- if (!hasError) {
- attribute_declaration();
- }
- } else {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case ATTRIBUTE_T:{
- if (!hasError) {
- attribute_specification();
- }
- break;
- }
- case USE_T:{
- if (!hasError) {
- use_clause();
- }
- break;
- }
- default:
- jj_la1[251] = jj_gen;
- if (jj_2_113(3)) {
- if (!hasError) {
- group_template_declaration();
- }
- } else {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case GROUP_T:{
- if (!hasError) {
- group_declaration();
- }
- break;
- }
- default:
- jj_la1[252] = jj_gen;
- jj_consume_token(-1);
- errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
- }
- }
- }
- }
- }
-}
-
-
-void VhdlParser::protected_type_body_declarative_part() {
- if (!hasError) {
- while (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case ALIAS_T:
- case ATTRIBUTE_T:
- case CONSTANT_T:
- case FILE_T:
- case FUNCTION_T:
- case GROUP_T:
- case IMPURE_T:
- case IS_T:
- case PROCEDURE_T:
- case PURE_T:
- case SHARED_T:
- case SUBTYPE_T:
- case TYPE_T:
- case USE_T:
- case VARIABLE_T:{
- ;
- break;
- }
- default:
- jj_la1[253] = jj_gen;
- goto end_label_48;
- }
- if (!hasError) {
- protected_type_body_declarative_item();
- }
- }
- end_label_48: ;
- }
-}
-
-
-QCString VhdlParser::protected_type_declaration() {
- if (!hasError) {
- jj_consume_token(PROTECTED_T);
- }
- if (!hasError) {
- try {
- if (!hasError) {
- protected_type_declarative_part();
- }
- } catch ( ...) {
-outlineParser()->error_skipto(END_T);
- }
- }
- if (!hasError) {
- jj_consume_token(END_T);
- }
- if (!hasError) {
- jj_consume_token(PROTECTED_T);
- }
- if (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case BASIC_IDENTIFIER:
- case EXTENDED_CHARACTER:{
- if (!hasError) {
- identifier();
- }
- break;
- }
- default:
- jj_la1[254] = jj_gen;
- ;
- }
- }
-return QCString();
-assert(false);
-}
-
-
-void VhdlParser::protected_type_declarative_item() {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case FUNCTION_T:
- case IMPURE_T:
- case PROCEDURE_T:
- case PURE_T:{
- if (!hasError) {
- subprogram_specification();
- }
- break;
- }
- case ATTRIBUTE_T:{
- if (!hasError) {
- attribute_specification();
- }
- break;
- }
- case USE_T:{
- if (!hasError) {
- use_clause();
- }
- break;
- }
- default:
- jj_la1[255] = jj_gen;
- jj_consume_token(-1);
- errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
- }
-}
-
-
-void VhdlParser::protected_type_declarative_part() {
- if (!hasError) {
- while (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case ATTRIBUTE_T:
- case FUNCTION_T:
- case IMPURE_T:
- case PROCEDURE_T:
- case PURE_T:
- case USE_T:{
- ;
- break;
- }
- default:
- jj_la1[256] = jj_gen;
- goto end_label_49;
- }
- if (!hasError) {
- protected_type_declarative_item();
- }
- if (!hasError) {
- jj_consume_token(SEMI_T);
- }
- }
- end_label_49: ;
- }
-}
-
-
-QCString VhdlParser::context_ref() {QCString s, s1;
- if (!hasError) {
- jj_consume_token(CONTEXT_T);
- }
- if (!hasError) {
- s = identifier();
- }
- if (!hasError) {
- while (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case DOT_T:{
- ;
- break;
- }
- default:
- jj_la1[257] = jj_gen;
- goto end_label_50;
- }
- if (!hasError) {
- jj_consume_token(DOT_T);
- }
- if (!hasError) {
- s1 = identifier();
- }
- if (!hasError) {
-s+=".";s+=s1;
- }
- }
- end_label_50: ;
- }
- if (!hasError) {
- jj_consume_token(SEMI_T);
- }
-return "context "+s ;
-assert(false);
-}
-
-
-void VhdlParser::context_declaration() {QCString s,s1;
- if (!hasError) {
- jj_consume_token(CONTEXT_T);
- }
- if (!hasError) {
- s = identifier();
- }
- if (!hasError) {
- jj_consume_token(IS_T);
- }
- if (!hasError) {
-m_sharedState->parse_sec=CONTEXT_SEC;
- }
- if (!hasError) {
- while (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case CONTEXT_T:
- case LIBRARY_T:
- case USE_T:{
- ;
- break;
- }
- default:
- jj_la1[258] = jj_gen;
- goto end_label_51;
- }
- if (!hasError) {
- s1 = libustcont_stats();
- }
- }
- end_label_51: ;
- }
- if (!hasError) {
- jj_consume_token(END_T);
- }
- if (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case CONTEXT_T:{
- if (!hasError) {
- jj_consume_token(CONTEXT_T);
- }
- break;
- }
- default:
- jj_la1[259] = jj_gen;
- ;
- }
- }
- if (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case BASIC_IDENTIFIER:
- case EXTENDED_CHARACTER:{
- if (!hasError) {
- identifier();
- }
- break;
- }
- default:
- jj_la1[260] = jj_gen;
- ;
- }
- }
- if (!hasError) {
- jj_consume_token(SEMI_T);
- }
-m_sharedState->parse_sec=0;
- outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(LIBRARY_T),Entry::VARIABLE_SEC,VhdlDocGen::LIBRARY,"context",s1.data(),Public);
-}
-
-
-QCString VhdlParser::libustcont_stats() {QCString s;
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case USE_T:{
- if (!hasError) {
- s = use_clause();
- }
- if (!hasError) {
-return s;
- }
- break;
- }
- case LIBRARY_T:{
- if (!hasError) {
- s = library_clause();
- }
- if (!hasError) {
-return s;
- }
- break;
- }
- case CONTEXT_T:{
- if (!hasError) {
- s = context_ref();
- }
- if (!hasError) {
-return s;
- }
- break;
- }
- default:
- jj_la1[261] = jj_gen;
- jj_consume_token(-1);
- errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
- }
-assert(false);
-}
-
-
-void VhdlParser::package_instantiation_declaration() {QCString s,s1,s2;
- if (!hasError) {
- jj_consume_token(PACKAGE_T);
- }
- if (!hasError) {
- s = identifier();
- }
- if (!hasError) {
- jj_consume_token(IS_T);
- }
- if (!hasError) {
- jj_consume_token(NEW_T);
- }
- if (!hasError) {
- s1 = name();
- }
- if (!hasError) {
- s2 = signature();
- }
- if (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case GENERIC_T:{
- if (!hasError) {
- gen_assoc_list();
- }
- break;
- }
- default:
- jj_la1[262] = jj_gen;
- ;
- }
- }
- if (!hasError) {
- jj_consume_token(SEMI_T);
- }
-QCString q=" is new "+s1+s2;
- outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(PACKAGE_T),Entry::VARIABLE_SEC,VhdlDocGen::INSTANTIATION,"package",q.data(),Public);
-}
-
-
-QCString VhdlParser::interface_package_declaration() {QCString s,s1;
- if (!hasError) {
- jj_consume_token(PACKAGE_T);
- }
- if (!hasError) {
- s = identifier();
- }
- if (!hasError) {
- jj_consume_token(IS_T);
- }
- if (!hasError) {
- jj_consume_token(NEW_T);
- }
- if (!hasError) {
- s1 = name();
- }
- if (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case GENERIC_T:{
- if (!hasError) {
- gen_assoc_list();
- }
- break;
- }
- default:
- jj_la1[263] = jj_gen;
- ;
- }
- }
-m_sharedState->current->name=s;
- return "package "+s+" is new "+s1;
-assert(false);
-}
-
-
-QCString VhdlParser::subprogram_instantiation_declaration() {QCString s,s1,s2;
- if (!hasError) {
- jj_consume_token(FUNCTION_T);
- }
- if (!hasError) {
- s = identifier();
- }
- if (!hasError) {
- jj_consume_token(IS_T);
- }
- if (!hasError) {
- jj_consume_token(NEW_T);
- }
- if (!hasError) {
- s1 = name();
- }
- if (!hasError) {
- s2 = signature();
- }
- if (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case GENERIC_T:{
- if (!hasError) {
- gen_assoc_list();
- }
- break;
- }
- default:
- jj_la1[264] = jj_gen;
- ;
- }
- }
- if (!hasError) {
- jj_consume_token(SEMI_T);
- }
-QCString q= " is new "+s1+s2;
- outlineParser()->addVhdlType(s.data(),outlineParser()->getLine(FUNCTION_T),Entry::VARIABLE_SEC,VhdlDocGen::INSTANTIATION,"function ",q.data(),Public);
- return q;
-assert(false);
-}
-
-
-void VhdlParser::gen_assoc_list() {
- if (!hasError) {
- jj_consume_token(GENERIC_T);
- }
- if (!hasError) {
- jj_consume_token(MAP_T);
- }
- if (!hasError) {
- jj_consume_token(LPAREN_T);
- }
- if (!hasError) {
- association_list();
- }
- if (!hasError) {
- jj_consume_token(RPAREN_T);
- }
-}
-
-
-void VhdlParser::gen_interface_list() {
- if (!hasError) {
- jj_consume_token(GENERIC_T);
- }
- if (!hasError) {
- jj_consume_token(LPAREN_T);
- }
- if (!hasError) {
-//int u=s_str.iLine;
- m_sharedState->parse_sec=GEN_SEC;
- }
- if (!hasError) {
- interface_list();
- }
- if (!hasError) {
-// QCString vo=$3;
- m_sharedState->parse_sec=0;
- }
- if (!hasError) {
- jj_consume_token(RPAREN_T);
- }
-}
-
-
-void VhdlParser::case_scheme() {
- if (!hasError) {
- jj_consume_token(CASE_T);
- }
- if (!hasError) {
- expression();
- }
- if (!hasError) {
- jj_consume_token(GENERATE_T);
- }
- if (!hasError) {
- when_stats();
- }
- if (!hasError) {
- if (jj_2_114(3)) {
- if (!hasError) {
- ttend();
- }
- } else {
- ;
- }
- }
- if (!hasError) {
- jj_consume_token(END_T);
- }
- if (!hasError) {
- jj_consume_token(GENERATE_T);
- }
- if (!hasError) {
- generate_statement_body();
- }
- if (!hasError) {
- jj_consume_token(SEMI_T);
- }
-}
-
-
-void VhdlParser::when_stats() {
- if (!hasError) {
- while (!hasError) {
- if (!hasError) {
- jj_consume_token(WHEN_T);
- }
- if (!hasError) {
- if (jj_2_115(2)) {
- if (!hasError) {
- label();
- }
- if (!hasError) {
- jj_consume_token(COLON_T);
- }
- } else {
- ;
- }
- }
- if (!hasError) {
- choices();
- }
- if (!hasError) {
- jj_consume_token(ARROW_T);
- }
- if (!hasError) {
- generate_statement_body();
- }
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case WHEN_T:{
- ;
- break;
- }
- default:
- jj_la1[265] = jj_gen;
- goto end_label_52;
- }
- }
- end_label_52: ;
- }
-}
-
-
-void VhdlParser::ttend() {
- if (!hasError) {
- jj_consume_token(END_T);
- }
- if (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case BASIC_IDENTIFIER:
- case EXTENDED_CHARACTER:{
- if (!hasError) {
- identifier();
- }
- break;
- }
- default:
- jj_la1[266] = jj_gen;
- ;
- }
- }
- if (!hasError) {
- jj_consume_token(SEMI_T);
- }
-}
-
-
-void VhdlParser::generate_statement_body() {
- if (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case ALIAS_T:
- case ATTRIBUTE_T:
- case BEGIN_T:
- case COMPONENT_T:
- case CONSTANT_T:
- case DISCONNECT_T:
- case FILE_T:
- case FOR_T:
- case FUNCTION_T:
- case GROUP_T:
- case IMPURE_T:
- case PROCEDURE_T:
- case PURE_T:
- case SIGNAL_T:
- case SHARED_T:
- case SUBTYPE_T:
- case TYPE_T:
- case USE_T:
- case VARIABLE_T:{
- if (!hasError) {
- while (!hasError) {
- if (jj_2_116(2147483647)) {
- ;
- } else {
- goto end_label_53;
- }
- if (!hasError) {
- block_declarative_item();
- }
- }
- end_label_53: ;
- }
- if (!hasError) {
- jj_consume_token(BEGIN_T);
- }
- break;
- }
- default:
- jj_la1[267] = jj_gen;
- ;
- }
- }
- if (!hasError) {
- while (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case ASSERT_T:
- case CASE_T:
- case POSTPONED_T:
- case PROCESS_T:
- case WITH_T:
- case LPAREN_T:
- case SLSL_T:
- case STRINGLITERAL:
- case BASIC_IDENTIFIER:
- case EXTENDED_CHARACTER:
- case VHDL2008TOOLDIR:{
- ;
- break;
- }
- default:
- jj_la1[268] = jj_gen;
- goto end_label_54;
- }
- if (!hasError) {
- concurrent_statement();
- }
- }
- end_label_54: ;
- }
-}
-
-
-void VhdlParser::generate_statement_body1() {
- if (!hasError) {
- generate_statement_body();
- }
- if (!hasError) {
- generate_scheme_1();
- }
- if (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case ELSE_T:{
- if (!hasError) {
- generate_scheme_2();
- }
- break;
- }
- default:
- jj_la1[269] = jj_gen;
- ;
- }
- }
-}
-
-
-void VhdlParser::generate_scheme_1() {
- if (!hasError) {
- while (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case ELSIF_T:{
- ;
- break;
- }
- default:
- jj_la1[270] = jj_gen;
- goto end_label_55;
- }
- if (!hasError) {
- generate_scheme_3();
- }
- }
- end_label_55: ;
- }
-}
-
-
-void VhdlParser::generate_scheme_2() {
- if (!hasError) {
- jj_consume_token(ELSE_T);
- }
- if (!hasError) {
- if (jj_2_117(2)) {
- if (!hasError) {
- identifier();
- }
- if (!hasError) {
- jj_consume_token(COLON_T);
- }
- } else {
- ;
- }
- }
- if (!hasError) {
- jj_consume_token(GENERATE_T);
- }
- if (!hasError) {
- generate_statement_body();
- }
-}
-
-
-void VhdlParser::generate_scheme_3() {
- if (!hasError) {
- jj_consume_token(ELSIF_T);
- }
- if (!hasError) {
- if (jj_2_118(2)) {
- if (!hasError) {
- identifier();
- }
- if (!hasError) {
- jj_consume_token(COLON_T);
- }
- } else {
- ;
- }
- }
- if (!hasError) {
- expression();
- }
- if (!hasError) {
- jj_consume_token(GENERATE_T);
- }
- if (!hasError) {
- generate_statement_body();
- }
-}
-
-
-QCString VhdlParser::external_name() {QCString s,s1,s2;
- if (!hasError) {
- jj_consume_token(SLSL_T);
- }
- if (!hasError) {
- s = sig_stat();
- }
- if (!hasError) {
- s1 = external_pathname();
- }
- if (!hasError) {
- jj_consume_token(COLON_T);
- }
- if (!hasError) {
- s2 = subtype_indication();
- }
- if (!hasError) {
- jj_consume_token(RSRS_T);
- }
-QCString t="<<"+s;
- QCString t1=s1+":"+s2+">>";
- return s+s1;
-assert(false);
-}
-
-
-QCString VhdlParser::sig_stat() {Token *t;
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case CONSTANT_T:{
- if (!hasError) {
- t = jj_consume_token(CONSTANT_T);
- }
- if (!hasError) {
-return QCString(t->image);
- }
- break;
- }
- case SIGNAL_T:{
- if (!hasError) {
- t = jj_consume_token(SIGNAL_T);
- }
- if (!hasError) {
-return QCString(t->image);
- }
- break;
- }
- case VARIABLE_T:{
- if (!hasError) {
- t = jj_consume_token(VARIABLE_T);
- }
- if (!hasError) {
-return QCString(t->image);
- }
- break;
- }
- default:
- jj_la1[271] = jj_gen;
- jj_consume_token(-1);
- errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
- }
-assert(false);
-}
-
-
-QCString VhdlParser::external_pathname() {QCString s;
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case DOT_T:{
- if (!hasError) {
- s = absolute_pathname();
- }
- if (!hasError) {
-return s;
- }
- break;
- }
- case NEG_T:{
- if (!hasError) {
- s = relative_pathname();
- }
- if (!hasError) {
-return s;
- }
- break;
- }
- case AT_T:{
- if (!hasError) {
- s = package_path_name();
- }
- if (!hasError) {
-return s;
- }
- break;
- }
- default:
- jj_la1[272] = jj_gen;
- jj_consume_token(-1);
- errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
- }
-assert(false);
-}
-
-
-QCString VhdlParser::absolute_pathname() {QCString s,s1;
- if (jj_2_119(2147483647)) {
- if (!hasError) {
- jj_consume_token(DOT_T);
- }
- if (!hasError) {
- s = pathname_element_list();
- }
- if (!hasError) {
- s1 = identifier();
- }
- if (!hasError) {
-return "."+s+s1;
- }
- } else {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case DOT_T:{
- if (!hasError) {
- jj_consume_token(DOT_T);
- }
- if (!hasError) {
- s = identifier();
- }
- if (!hasError) {
-return "."+s;
- }
- break;
- }
- default:
- jj_la1[273] = jj_gen;
- jj_consume_token(-1);
- errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
- }
- }
-assert(false);
-}
-
-
-QCString VhdlParser::relative_pathname() {QCString s,s1,s2;
- if (!hasError) {
- s = neg_list();
- }
- if (!hasError) {
- if (jj_2_120(2147483647)) {
- if (!hasError) {
- s1 = pathname_element_list();
- }
- } else {
- ;
- }
- }
- if (!hasError) {
- s2 = identifier();
- }
-return s+s1+s2;
-assert(false);
-}
-
-
-QCString VhdlParser::neg_list() {QCString s;
- if (!hasError) {
- while (!hasError) {
- if (!hasError) {
- jj_consume_token(NEG_T);
- }
- if (!hasError) {
- jj_consume_token(DOT_T);
- }
- if (!hasError) {
-s+="^.";
- }
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case NEG_T:{
- ;
- break;
- }
- default:
- jj_la1[274] = jj_gen;
- goto end_label_56;
- }
- }
- end_label_56: ;
- }
-return s;
-assert(false);
-}
-
-
-QCString VhdlParser::pathname_element() {QCString s,s1;
- if (!hasError) {
- s = identifier();
- }
- if (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case LPAREN_T:{
- if (!hasError) {
- jj_consume_token(LPAREN_T);
- }
- if (!hasError) {
- s1 = expression();
- }
- if (!hasError) {
- jj_consume_token(RPAREN_T);
- }
- break;
- }
- default:
- jj_la1[275] = jj_gen;
- ;
- }
- }
-if(!s1.isEmpty())
- return s+"("+s1+")";
-
- return s;
-assert(false);
-}
-
-
-QCString VhdlParser::pathname_element_list() {QCString s,s1,s2;
- if (!hasError) {
- if (!hasError) {
- s = pathname_element();
- }
- if (!hasError) {
- jj_consume_token(DOT_T);
- }
- }
- if (!hasError) {
-s+=".";
- }
- if (!hasError) {
- while (!hasError) {
- if (jj_2_121(2147483647)) {
- ;
- } else {
- goto end_label_57;
- }
- if (!hasError) {
- s1 = pathname_element();
- }
- if (!hasError) {
- jj_consume_token(DOT_T);
- }
- if (!hasError) {
-s2+=s1;s2+=".";
- }
- }
- end_label_57: ;
- }
-return s+s2;
-assert(false);
-}
-
-
-QCString VhdlParser::package_path_name() {QCString s;
- if (!hasError) {
- jj_consume_token(AT_T);
- }
- if (!hasError) {
- s = name();
- }
-return "@"+s;
-assert(false);
-}
-
-
-void VhdlParser::conditional_signal_assignment_wave() {
- if (jj_2_122(2147483647)) {
- if (!hasError) {
- conditional_force_assignment();
- }
- } else {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case LPAREN_T:
- case SLSL_T:
- case STRINGLITERAL:
- case BASIC_IDENTIFIER:
- case EXTENDED_CHARACTER:{
- if (!hasError) {
- conditional_waveform_assignment();
- }
- break;
- }
- default:
- jj_la1[276] = jj_gen;
- jj_consume_token(-1);
- errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
- }
- }
-}
-
-
-void VhdlParser::conditional_waveform_assignment() {
- if (!hasError) {
- target();
- }
- if (!hasError) {
- jj_consume_token(LESSTHAN_T);
- }
- if (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case INERTIAL_T:
- case REJECT_T:
- case TRANSPORT_T:{
- if (!hasError) {
- delay_mechanism();
- }
- break;
- }
- default:
- jj_la1[277] = jj_gen;
- ;
- }
- }
- if (!hasError) {
- waveform_element();
- }
- if (!hasError) {
- jj_consume_token(WHEN_T);
- }
- if (!hasError) {
- expression();
- }
- if (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case ELSE_T:{
- if (!hasError) {
- else_wave_list();
- }
- break;
- }
- default:
- jj_la1[278] = jj_gen;
- ;
- }
- }
- if (!hasError) {
- jj_consume_token(SEMI_T);
- }
-}
-
-
-void VhdlParser::else_wave_list() {
- if (!hasError) {
- jj_consume_token(ELSE_T);
- }
- if (!hasError) {
- expression();
- }
- if (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case WHEN_T:{
- if (!hasError) {
- jj_consume_token(WHEN_T);
- }
- if (!hasError) {
- expression();
- }
- break;
- }
- default:
- jj_la1[279] = jj_gen;
- ;
- }
- }
-}
-
-
-void VhdlParser::conditional_force_assignment() {
- if (!hasError) {
- target();
- }
- if (!hasError) {
- jj_consume_token(LESSTHAN_T);
- }
- if (!hasError) {
- jj_consume_token(FORCE_T);
- }
- if (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case IN_T:
- case OUT_T:{
- if (!hasError) {
- inout_stat();
- }
- break;
- }
- default:
- jj_la1[280] = jj_gen;
- ;
- }
- }
- if (!hasError) {
- expression();
- }
- if (!hasError) {
- jj_consume_token(WHEN_T);
- }
- if (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case ABS_T:
- case AND_T:
- case NAND_T:
- case NEW_T:
- case NOR_T:
- case NOT_T:
- case NULL_T:
- case OR_T:
- case XOR_T:
- case XNOR_T:
- case LPAREN_T:
- case PLUS_T:
- case MINUS_T:
- case SLSL_T:
- case QQ_T:
- case INTEGER:
- case STRINGLITERAL:
- case BASIC_IDENTIFIER:
- case EXTENDED_CHARACTER:
- case CHARACTER_LITERAL:
- case DECIMAL_LITERAL:
- case BASED_LITERAL:
- case BIT_STRING_LITERAL:{
- if (!hasError) {
- expression();
- }
- if (!hasError) {
- else_stat();
- }
- break;
- }
- default:
- jj_la1[281] = jj_gen;
- ;
- }
- }
- if (!hasError) {
- jj_consume_token(SEMI_T);
- }
-}
-
-
-void VhdlParser::selected_signal_assignment_wave() {
- if (jj_2_123(2147483647)) {
- if (!hasError) {
- selected_force_assignment();
- }
- } else {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case WITH_T:{
- if (!hasError) {
- selected_waveform_assignment();
- }
- break;
- }
- default:
- jj_la1[282] = jj_gen;
- jj_consume_token(-1);
- errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
- }
- }
-}
-
-
-void VhdlParser::selected_variable_assignment() {
- if (!hasError) {
- jj_consume_token(WITH_T);
- }
- if (!hasError) {
- expression();
- }
- if (!hasError) {
- jj_consume_token(SELECT_T);
- }
- if (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case Q_T:{
- if (!hasError) {
- jj_consume_token(Q_T);
- }
- break;
- }
- default:
- jj_la1[283] = jj_gen;
- ;
- }
- }
- if (!hasError) {
- select_name();
- }
- if (!hasError) {
- jj_consume_token(VARASSIGN_T);
- }
- if (!hasError) {
- sel_var_list();
- }
-}
-
-
-void VhdlParser::select_name() {
- if (jj_2_124(2147483647)) {
- if (!hasError) {
- aggregate();
- }
- } else {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case SLSL_T:
- case STRINGLITERAL:
- case BASIC_IDENTIFIER:
- case EXTENDED_CHARACTER:{
- if (!hasError) {
- name();
- }
- break;
- }
- default:
- jj_la1[284] = jj_gen;
- jj_consume_token(-1);
- errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
- }
- }
-}
-
-
-void VhdlParser::selected_waveform_assignment() {
- if (!hasError) {
- jj_consume_token(WITH_T);
- }
- if (!hasError) {
- expression();
- }
- if (!hasError) {
- jj_consume_token(SELECT_T);
- }
- if (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case Q_T:{
- if (!hasError) {
- jj_consume_token(Q_T);
- }
- break;
- }
- default:
- jj_la1[285] = jj_gen;
- ;
- }
- }
- if (!hasError) {
- target();
- }
- if (!hasError) {
- jj_consume_token(LESSTHAN_T);
- }
- if (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case INERTIAL_T:
- case REJECT_T:
- case TRANSPORT_T:{
- if (!hasError) {
- delay_mechanism();
- }
- break;
- }
- default:
- jj_la1[286] = jj_gen;
- ;
- }
- }
- if (!hasError) {
- sel_wave_list();
- }
-}
-
-
-void VhdlParser::selected_force_assignment() {
- if (!hasError) {
- jj_consume_token(WITH_T);
- }
- if (!hasError) {
- expression();
- }
- if (!hasError) {
- jj_consume_token(SELECT_T);
- }
- if (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case Q_T:{
- if (!hasError) {
- jj_consume_token(Q_T);
- }
- break;
- }
- default:
- jj_la1[287] = jj_gen;
- ;
- }
- }
- if (!hasError) {
- target();
- }
- if (!hasError) {
- jj_consume_token(LESSTHAN_T);
- }
- if (!hasError) {
- jj_consume_token(FORCE_T);
- }
- if (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case IN_T:
- case OUT_T:{
- if (!hasError) {
- inout_stat();
- }
- break;
- }
- default:
- jj_la1[288] = jj_gen;
- ;
- }
- }
- if (!hasError) {
- sel_var_list();
- }
-}
-
-
-void VhdlParser::sel_var_list() {
- if (!hasError) {
- if (!hasError) {
- expression();
- }
- if (!hasError) {
- jj_consume_token(WHEN_T);
- }
- if (!hasError) {
- choices();
- }
- if (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case COMMA_T:{
- if (!hasError) {
- jj_consume_token(COMMA_T);
- }
- break;
- }
- case SEMI_T:{
- if (!hasError) {
- jj_consume_token(SEMI_T);
- }
- break;
- }
- default:
- jj_la1[289] = jj_gen;
- jj_consume_token(-1);
- errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
- }
- }
- }
- if (!hasError) {
- while (!hasError) {
- if (jj_2_125(2147483647)) {
- ;
- } else {
- goto end_label_58;
- }
- if (!hasError) {
- expression();
- }
- if (!hasError) {
- jj_consume_token(WHEN_T);
- }
- if (!hasError) {
- choices();
- }
- if (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case COMMA_T:{
- if (!hasError) {
- jj_consume_token(COMMA_T);
- }
- break;
- }
- case SEMI_T:{
- if (!hasError) {
- jj_consume_token(SEMI_T);
- }
- break;
- }
- default:
- jj_la1[290] = jj_gen;
- jj_consume_token(-1);
- errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
- }
- }
- }
- end_label_58: ;
- }
-}
-
-
-void VhdlParser::sel_wave_list() {
- if (!hasError) {
- waveform_element();
- }
- if (!hasError) {
- jj_consume_token(WHEN_T);
- }
- if (!hasError) {
- choices();
- }
- if (!hasError) {
- while (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case COMMA_T:{
- ;
- break;
- }
- default:
- jj_la1[291] = jj_gen;
- goto end_label_59;
- }
- if (!hasError) {
- jj_consume_token(COMMA_T);
- }
- if (!hasError) {
- sel_wave_list();
- }
- }
- end_label_59: ;
- }
- if (!hasError) {
- jj_consume_token(SEMI_T);
- }
-}
-
-
-void VhdlParser::inout_stat() {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case IN_T:{
- if (!hasError) {
- jj_consume_token(IN_T);
- }
- break;
- }
- case OUT_T:{
- if (!hasError) {
- jj_consume_token(OUT_T);
- }
- break;
- }
- default:
- jj_la1[292] = jj_gen;
- jj_consume_token(-1);
- errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
- }
-}
-
-
-void VhdlParser::else_stat() {
- if (!hasError) {
- while (!hasError) {
- if (!hasError) {
- jj_consume_token(ELSE_T);
- }
- if (!hasError) {
- expression();
- }
- if (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case WHEN_T:{
- if (!hasError) {
- jj_consume_token(WHEN_T);
- }
- if (!hasError) {
- expression();
- }
- break;
- }
- default:
- jj_la1[293] = jj_gen;
- ;
- }
- }
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case ELSE_T:{
- ;
- break;
- }
- default:
- jj_la1[294] = jj_gen;
- goto end_label_60;
- }
- }
- end_label_60: ;
- }
-}
-
-
-QCString VhdlParser::interface_subprogram_declaration() {QCString s;
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case PROCEDURE_T:{
- if (!hasError) {
- s = iproc();
- }
- if (!hasError) {
-return s;
- }
- break;
- }
- case FUNCTION_T:
- case IMPURE_T:
- case PURE_T:{
- if (!hasError) {
- s = ifunc();
- }
- if (!hasError) {
-return s;
- }
- break;
- }
- default:
- jj_la1[295] = jj_gen;
- jj_consume_token(-1);
- errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
- }
-assert(false);
-}
-
-
-QCString VhdlParser::iproc() {QCString s,s1;
- if (!hasError) {
- jj_consume_token(PROCEDURE_T);
- }
- if (!hasError) {
- s = identifier();
- }
- if (!hasError) {
- s1 = param();
- }
-m_sharedState->current->name=s;
- return "procedure "+s+s1;
-assert(false);
-}
-
-
-QCString VhdlParser::ifunc() {QCString s,s1,s2,s3;Token *t=0;Token *t1=0;Token *t2=0;
- if (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case IMPURE_T:
- case PURE_T:{
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case PURE_T:{
- if (!hasError) {
- t = jj_consume_token(PURE_T);
- }
- break;
- }
- case IMPURE_T:{
- if (!hasError) {
- t = jj_consume_token(IMPURE_T);
- }
- break;
- }
- default:
- jj_la1[296] = jj_gen;
- jj_consume_token(-1);
- errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
- }
- break;
- }
- default:
- jj_la1[297] = jj_gen;
- ;
- }
- }
- if (!hasError) {
- jj_consume_token(FUNCTION_T);
- }
- if (!hasError) {
- s = name();
- }
- if (!hasError) {
- s1 = param();
- }
- if (!hasError) {
- jj_consume_token(RETURN_T);
- }
- if (!hasError) {
- s2 = name();
- }
- if (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case IS_T:{
- if (!hasError) {
- t1 = jj_consume_token(IS_T);
- }
- if (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case BASIC_IDENTIFIER:
- case EXTENDED_CHARACTER:{
- if (!hasError) {
- s3 = identifier();
- }
- break;
- }
- case BOX_T:{
- if (!hasError) {
- t2 = jj_consume_token(BOX_T);
- }
- break;
- }
- default:
- jj_la1[298] = jj_gen;
- jj_consume_token(-1);
- errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
- }
- }
- break;
- }
- default:
- jj_la1[299] = jj_gen;
- ;
- }
- }
-QCString q;
- if(t) q=t->image.data();
- if(t2) s3="<>";
- if (!s3.isEmpty())
- {
- s3.prepend(" is ");
- }
- m_sharedState->current->name=s;
- if (m_sharedState->parse_sec==GEN_SEC)
- {
- QCString ss=q+" function "+s1+" return "+s2+s3;
- int a=outlineParser()->getLine(FUNCTION_T);
- int b=outlineParser()->getLine(PROCEDURE_T);
-
- if (a>b) b=a;
- outlineParser()->addVhdlType(m_sharedState->current->name.data(),b,Entry::VARIABLE_SEC,VhdlDocGen::GENERIC,ss.data(),0,Public);
- }
- m_sharedState->currP=0;return QCString();
-assert(false);
-}
-
-
-QCString VhdlParser::param() {QCString s,s1;Token *tok=0;
- if (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case PARAMETER_T:{
- if (!hasError) {
- tok = jj_consume_token(PARAMETER_T);
- }
- break;
- }
- default:
- jj_la1[300] = jj_gen;
- ;
- }
- }
- if (!hasError) {
-m_sharedState->param_sec=PARAM_SEC;
- }
- if (!hasError) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case LPAREN_T:{
- if (!hasError) {
- jj_consume_token(LPAREN_T);
- }
- if (!hasError) {
- s1 = interface_list();
- }
- if (!hasError) {
- jj_consume_token(RPAREN_T);
- }
- break;
- }
- default:
- jj_la1[301] = jj_gen;
- ;
- }
- }
-if(tok)
- {
- s = tok->image.data();
- }
- m_sharedState->param_sec=0;
- return s+"("+s1+")";
-assert(false);
-}
-
-
void VhdlParser::parseInline() {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case POSTPONED_T:
@@ -11397,7 +14013,7 @@ void VhdlParser::parseInline() {
break;
}
default:
- jj_la1[302] = jj_gen;
+ jj_la1[386] = jj_gen;
jj_consume_token(-1);
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
@@ -11431,7 +14047,7 @@ void VhdlParser::ReInit(TokenManager* tokenManager){
trace = false;
jj_ntk = -1;
jj_gen = 0;
- for (int i = 0; i < 303; i++) jj_la1[i] = -1;
+ for (int i = 0; i < 387; i++) jj_la1[i] = -1;
}
@@ -11462,7 +14078,7 @@ Token * VhdlParser::jj_consume_token(int kind) {
jj_gen++;
if (++jj_gc > 100) {
jj_gc = 0;
- for (int i = 0; i < 125; i++) {
+ for (int i = 0; i < 168; i++) {
JJCalls *c = &jj_2_rtns[i];
while (c != nullptr) {
if (c->gen < jj_gen) c->first = nullptr;
@@ -11556,7 +14172,7 @@ int VhdlParser::jj_ntk_f(){
void VhdlParser::jj_rescan_token(){
jj_rescan = true;
- for (int i = 0; i < 125; i++) {
+ for (int i = 0; i < 168; i++) {
JJCalls *p = &jj_2_rtns[i];
do {
if (p->gen > jj_gen) {
@@ -11687,6 +14303,49 @@ int VhdlParser::jj_ntk_f(){
case 122: jj_3_123(); break;
case 123: jj_3_124(); break;
case 124: jj_3_125(); break;
+ case 125: jj_3_126(); break;
+ case 126: jj_3_127(); break;
+ case 127: jj_3_128(); break;
+ case 128: jj_3_129(); break;
+ case 129: jj_3_130(); break;
+ case 130: jj_3_131(); break;
+ case 131: jj_3_132(); break;
+ case 132: jj_3_133(); break;
+ case 133: jj_3_134(); break;
+ case 134: jj_3_135(); break;
+ case 135: jj_3_136(); break;
+ case 136: jj_3_137(); break;
+ case 137: jj_3_138(); break;
+ case 138: jj_3_139(); break;
+ case 139: jj_3_140(); break;
+ case 140: jj_3_141(); break;
+ case 141: jj_3_142(); break;
+ case 142: jj_3_143(); break;
+ case 143: jj_3_144(); break;
+ case 144: jj_3_145(); break;
+ case 145: jj_3_146(); break;
+ case 146: jj_3_147(); break;
+ case 147: jj_3_148(); break;
+ case 148: jj_3_149(); break;
+ case 149: jj_3_150(); break;
+ case 150: jj_3_151(); break;
+ case 151: jj_3_152(); break;
+ case 152: jj_3_153(); break;
+ case 153: jj_3_154(); break;
+ case 154: jj_3_155(); break;
+ case 155: jj_3_156(); break;
+ case 156: jj_3_157(); break;
+ case 157: jj_3_158(); break;
+ case 158: jj_3_159(); break;
+ case 159: jj_3_160(); break;
+ case 160: jj_3_161(); break;
+ case 161: jj_3_162(); break;
+ case 162: jj_3_163(); break;
+ case 163: jj_3_164(); break;
+ case 164: jj_3_165(); break;
+ case 165: jj_3_166(); break;
+ case 166: jj_3_167(); break;
+ case 167: jj_3_168(); break;
}
}
p = p->next;