forked from conix-security/audit-springbok
-
Notifications
You must be signed in to change notification settings - Fork 0
/
parsetab.py
163 lines (156 loc) · 32.7 KB
/
parsetab.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
# parsetab.py
# This file is automatically generated. Do not edit.
_tabversion = '3.2'
_lr_method = 'LALR'
_lr_signature = 'Xm\xe1\xb58\x17l\xdc\xd3\xf2A\xa1\x84\xb8\xc4\xb4'
_lr_action_items = {'IPTABLES':([0,14,35,56,63,66,69,75,85,86,87,89,142,],[1,-12,1,-9,-7,-4,-8,-6,-11,-13,-5,-3,-10,]),'STAR':([0,14,35,56,63,66,69,75,85,86,87,89,142,],[4,-12,4,-9,-7,-4,-8,-6,-11,-13,-5,-3,-10,]),'DEFAULT':([0,14,35,56,63,66,69,75,85,86,87,89,142,],[5,-12,5,-9,-7,-4,-8,-6,-11,-13,-5,-3,-10,]),'SQUARE_BRACKET':([127,128,129,211,212,213,],[172,173,174,218,219,220,]),'PROTOCOL':([57,61,70,73,77,79,80,81,88,98,99,101,104,105,106,109,111,114,116,118,120,123,124,125,126,130,132,133,134,135,139,143,151,152,153,154,155,156,157,158,159,160,161,167,168,169,170,184,185,186,187,188,198,199,200,201,202,203,],[-76,112,112,112,-17,-18,-16,-19,112,112,-89,-98,-96,-88,-90,-95,-93,-92,-99,165,-91,-100,112,-97,-87,-129,-127,-126,-128,-130,112,-15,-118,-112,-120,-114,-121,-109,-105,-108,-101,-122,-119,-94,-103,-123,-124,-106,-113,-115,-102,-104,-117,-116,-111,-110,-107,-125,]),'NUMBER':([34,57,60,72,73,76,77,79,80,81,82,83,88,100,103,112,119,163,164,165,172,173,174,180,181,182,204,205,206,226,],[79,-76,98,138,139,141,-17,-18,79,-19,79,79,147,79,79,79,79,79,79,79,190,191,192,79,79,201,211,212,213,227,]),'ACCEPT':([57,67,68,117,],[-76,129,133,133,]),'QUEUE':([57,68,117,],[-76,134,134,]),'LINK':([34,222,],[82,223,]),'IPV4':([57,61,70,73,77,79,80,81,88,98,99,101,104,105,106,109,111,114,116,120,123,124,125,126,130,132,133,134,135,139,143,151,152,153,154,155,156,157,158,159,160,161,167,168,169,170,184,185,186,187,188,198,199,200,201,202,203,],[-76,126,126,126,-17,-18,-16,-19,126,126,-89,-98,-96,-88,-90,-95,-93,-92,-99,-91,-100,126,-97,-87,-129,-127,-126,-128,-130,126,-15,-118,-112,-120,-114,-121,-109,-105,-108,-101,-122,-119,-94,-103,-123,-124,-106,-113,-115,-102,-104,-117,-116,-111,-110,-107,-125,]),'NAT':([4,48,],[52,93,]),'IPV6':([57,61,70,73,77,79,80,81,88,98,99,101,104,105,106,109,111,114,116,120,123,124,125,126,130,132,133,134,135,139,143,151,152,153,154,155,156,157,158,159,160,161,167,168,169,170,184,185,186,187,188,198,199,200,201,202,203,],[-76,105,105,105,-17,-18,-16,-19,105,105,-89,-98,-96,-88,-90,-95,-93,-92,-99,-91,-100,105,-97,-87,-129,-127,-126,-128,-130,105,-15,-118,-112,-120,-114,-121,-109,-105,-108,-101,-122,-119,-94,-103,-123,-124,-106,-113,-115,-102,-104,-117,-116,-111,-110,-107,-125,]),'IP_SOURCE':([57,61,70,73,77,79,80,81,88,98,99,101,104,105,106,109,111,114,116,118,120,123,124,125,126,130,132,133,134,135,139,143,151,152,153,154,155,156,157,158,159,160,161,167,168,169,170,184,185,186,187,188,198,199,200,201,202,203,],[-76,121,121,121,-17,-18,-16,-19,121,121,-89,-98,-96,-88,-90,-95,-93,-92,-99,166,-91,-100,121,-97,-87,-129,-127,-126,-128,-130,121,-15,-118,-112,-120,-114,-121,-109,-105,-108,-101,-122,-119,-94,-103,-123,-124,-106,-113,-115,-102,-104,-117,-116,-111,-110,-107,-125,]),'LIST_RULES':([0,1,14,35,47,49,56,63,66,69,75,85,86,87,89,91,92,93,94,95,142,],[8,-14,-12,8,8,-28,-9,-7,-4,-8,-6,-11,-13,-5,-3,-27,-31,-29,-32,-30,-10,]),'DELETE_CHAIN':([0,1,14,35,47,49,56,63,66,69,75,85,86,87,89,91,92,93,94,95,142,],[16,-14,-12,16,16,-28,-9,-7,-4,-8,-6,-11,-13,-5,-3,-27,-31,-29,-32,-30,-10,]),'IN_INTERFACE':([57,61,70,73,77,79,80,81,88,98,99,101,104,105,106,109,111,114,116,120,123,124,125,126,130,132,133,134,135,139,143,151,152,153,154,155,156,157,158,159,160,161,167,168,169,170,184,185,186,187,188,198,199,200,201,202,203,],[-76,108,108,108,-17,-18,-16,-19,108,108,-89,-98,-96,-88,-90,-95,-93,-92,-99,-91,-100,108,-97,-87,-129,-127,-126,-128,-130,108,-15,-118,-112,-120,-114,-121,-109,-105,-108,-101,-122,-119,-94,-103,-123,-124,-106,-113,-115,-102,-104,-117,-116,-111,-110,-107,-125,]),'APPEND':([0,1,14,35,47,49,56,63,66,69,75,85,86,87,89,91,92,93,94,95,142,],[10,-14,-12,10,10,-28,-9,-7,-4,-8,-6,-11,-13,-5,-3,-27,-31,-29,-32,-30,-10,]),'IP_DESTINATION':([57,61,70,73,77,79,80,81,88,98,99,101,104,105,106,109,111,114,116,118,120,123,124,125,126,130,132,133,134,135,139,143,151,152,153,154,155,156,157,158,159,160,161,167,168,169,170,184,185,186,187,188,198,199,200,201,202,203,],[-76,110,110,110,-17,-18,-16,-19,110,110,-89,-98,-96,-88,-90,-95,-93,-92,-99,162,-91,-100,110,-97,-87,-129,-127,-126,-128,-130,110,-15,-118,-112,-120,-114,-121,-109,-105,-108,-101,-122,-119,-94,-103,-123,-124,-106,-113,-115,-102,-104,-117,-116,-111,-110,-107,-125,]),'INSERT':([0,1,14,35,47,49,56,63,66,69,75,85,86,87,89,91,92,93,94,95,142,],[30,-14,-12,30,30,-28,-9,-7,-4,-8,-6,-11,-13,-5,-3,-27,-31,-29,-32,-30,-10,]),'WORD':([0,7,8,9,10,11,14,15,16,22,23,25,30,31,33,34,35,44,56,57,58,63,66,67,68,69,75,77,79,80,81,82,83,85,86,87,89,100,102,103,108,112,115,117,119,122,142,149,163,164,165,177,180,181,189,197,209,210,217,225,],[34,57,57,57,57,57,-12,57,57,57,57,57,57,57,57,77,34,57,-9,-76,57,-7,-4,127,135,-8,-6,-17,-18,77,-19,77,77,-11,-13,-5,-3,77,57,77,155,77,160,135,77,170,-10,179,77,77,77,197,77,77,170,210,216,217,222,226,]),'RAW':([4,48,],[51,92,]),'RENAME_CHAIN':([0,1,14,35,47,49,56,63,66,69,75,85,86,87,89,91,92,93,94,95,142,],[7,-14,-12,7,7,-28,-9,-7,-4,-8,-6,-11,-13,-5,-3,-27,-31,-29,-32,-30,-10,]),'DROP':([57,67,68,117,],[-76,128,132,132,]),'MASK':([175,193,195,214,],[-14,-23,208,-22,]),'REPLACE':([0,1,14,35,47,49,56,63,66,69,75,85,86,87,89,91,92,93,94,95,142,],[9,-14,-12,9,9,-28,-9,-7,-4,-8,-6,-11,-13,-5,-3,-27,-31,-29,-32,-30,-10,]),'NEW_CHAIN':([0,1,14,35,47,49,56,63,66,69,75,85,86,87,89,91,92,93,94,95,142,],[15,-14,-12,15,15,-28,-9,-7,-4,-8,-6,-11,-13,-5,-3,-27,-31,-29,-32,-30,-10,]),'COLON':([0,14,34,35,56,63,66,69,71,75,77,79,80,81,82,83,85,86,87,89,100,103,112,119,142,151,163,164,165,180,181,190,191,192,194,208,],[22,-12,81,22,-9,-7,-4,-8,137,-6,-17,-18,81,-19,81,81,-11,-13,-5,-3,81,81,81,81,-10,181,81,81,81,81,81,204,205,206,207,215,]),'POLICY':([0,1,14,35,47,49,56,63,66,69,75,85,86,87,89,91,92,93,94,95,142,],[23,-14,-12,23,23,-28,-9,-7,-4,-8,-6,-11,-13,-5,-3,-27,-31,-29,-32,-30,-10,]),'TABLE':([1,],[48,]),'SECURITY':([4,48,],[53,94,]),'MANGLE':([4,48,],[54,95,]),'CHECK':([0,1,14,35,47,49,56,63,66,69,75,85,86,87,89,91,92,93,94,95,142,],[25,-14,-12,25,25,-28,-9,-7,-4,-8,-6,-11,-13,-5,-3,-27,-31,-29,-32,-30,-10,]),'INET':([0,14,35,56,63,66,69,75,85,86,87,89,142,],[26,-12,26,-9,-7,-4,-8,-6,-11,-13,-5,-3,-10,]),'$end':([14,35,38,56,63,66,69,75,84,85,86,87,89,142,],[-12,-1,0,-9,-7,-4,-8,-6,-2,-11,-13,-5,-3,-10,]),'SRC':([223,],[224,]),'IP_ADDR':([0,14,35,55,56,63,66,69,75,85,86,87,89,110,121,137,142,162,166,176,182,183,207,215,224,],[29,-12,29,96,-9,-7,-4,-8,-6,-11,-13,-5,-3,156,156,175,-10,156,156,196,200,156,214,221,225,]),'GOTO':([57,61,70,73,77,79,80,81,88,98,99,101,104,105,106,109,111,114,116,120,123,124,125,126,130,132,133,134,135,139,143,151,152,153,154,155,156,157,158,159,160,161,167,168,169,170,184,185,186,187,188,198,199,200,201,202,203,],[-76,102,102,102,-17,-18,-16,-19,102,102,-89,-98,-96,-88,-90,-95,-93,-92,-99,-91,-100,102,-97,-87,-129,-127,-126,-128,-130,102,-15,-118,-112,-120,-114,-121,-109,-105,-108,-101,-122,-119,-94,-103,-123,-124,-106,-113,-115,-102,-104,-117,-116,-111,-110,-107,-125,]),'OUT_INTERFACE':([57,61,70,73,77,79,80,81,88,98,99,101,104,105,106,109,111,114,116,120,123,124,125,126,130,132,133,134,135,139,143,151,152,153,154,155,156,157,158,159,160,161,167,168,169,170,184,185,186,187,188,198,199,200,201,202,203,],[-76,115,115,115,-17,-18,-16,-19,115,115,-89,-98,-96,-88,-90,-95,-93,-92,-99,-91,-100,115,-97,-87,-129,-127,-126,-128,-130,115,-15,-118,-112,-120,-114,-121,-109,-105,-108,-101,-122,-119,-94,-103,-123,-124,-106,-113,-115,-102,-104,-117,-116,-111,-110,-107,-125,]),'FLUSH':([0,1,14,35,47,49,56,63,66,69,75,85,86,87,89,91,92,93,94,95,142,],[31,-14,-12,31,31,-28,-9,-7,-4,-8,-6,-11,-13,-5,-3,-27,-31,-29,-32,-30,-10,]),'JUMP':([57,61,70,73,77,79,80,81,88,98,99,101,104,105,106,109,111,114,116,120,123,124,125,126,130,132,133,134,135,139,143,151,152,153,154,155,156,157,158,159,160,161,167,168,169,170,184,185,186,187,188,198,199,200,201,202,203,],[-76,117,117,117,-17,-18,-16,-19,117,117,-89,-98,-96,-88,-90,-95,-93,-92,-99,-91,-100,117,-97,-87,-129,-127,-126,-128,-130,117,-15,-118,-112,-120,-114,-121,-109,-105,-108,-101,-122,-119,-94,-103,-123,-124,-106,-113,-115,-102,-104,-117,-116,-111,-110,-107,-125,]),'ZERO':([0,1,14,35,47,49,56,63,66,69,75,85,86,87,89,91,92,93,94,95,142,],[33,-14,-12,33,33,-28,-9,-7,-4,-8,-6,-11,-13,-5,-3,-27,-31,-29,-32,-30,-10,]),'DEV':([96,138,196,],[149,177,209,]),'SLASH':([29,156,],[72,182,]),'NL':([0,2,3,6,8,11,12,13,14,16,17,18,19,20,21,24,27,28,31,32,33,35,36,37,39,40,41,42,43,45,46,50,51,52,53,54,56,57,59,62,63,64,65,66,69,74,75,76,77,78,79,80,81,85,86,87,89,90,97,99,101,104,105,106,107,109,111,113,114,116,120,123,124,125,126,130,131,132,133,134,135,136,140,141,142,143,144,145,146,147,148,150,151,152,153,154,155,156,157,158,159,160,161,167,168,169,170,171,178,179,184,185,186,187,188,198,199,200,201,202,203,216,218,219,220,221,225,227,],[14,-45,-46,56,-65,-63,-47,63,-12,-73,-52,66,-54,-43,-42,69,-50,-49,-67,75,-70,14,-44,-41,85,-53,86,87,-51,89,-48,-33,-36,-34,-37,-35,-9,-76,-64,-62,-7,-71,-72,-4,-8,-66,-6,-69,-17,142,-18,-16,-19,-11,-13,-5,-3,-26,-75,-89,-98,-96,-88,-90,-77,-95,-93,-55,-92,-99,-91,-100,-79,-97,-87,-129,-74,-127,-126,-128,-130,-56,-60,-68,-10,-15,-20,-24,-25,-58,-57,-61,-118,-112,-120,-114,-121,-109,-105,-108,-101,-122,-119,-94,-103,-123,-124,-78,-59,-131,-106,-113,-115,-102,-104,-117,-116,-111,-110,-107,-125,-132,-40,-39,-38,-21,-133,-134,]),'PORT_SOURCE':([57,61,70,73,77,79,80,81,88,98,99,101,104,105,106,109,111,114,116,118,120,123,124,125,126,130,132,133,134,135,139,143,151,152,153,154,155,156,157,158,159,160,161,167,168,169,170,184,185,186,187,188,198,199,200,201,202,203,],[-76,100,100,100,-17,-18,-16,-19,100,100,-89,-98,-96,-88,-90,-95,-93,-92,-99,163,-91,-100,100,-97,-87,-129,-127,-126,-128,-130,100,-15,-118,-112,-120,-114,-121,-109,-105,-108,-101,-122,-119,-94,-103,-123,-124,-106,-113,-115,-102,-104,-117,-116,-111,-110,-107,-125,]),'EQ':([34,],[83,]),'MATCH':([57,61,70,73,77,79,80,81,88,98,99,101,104,105,106,109,111,114,116,120,123,124,125,126,130,132,133,134,135,139,143,151,152,153,154,155,156,157,158,159,160,161,167,168,169,170,184,185,186,187,188,198,199,200,201,202,203,],[-76,119,119,119,-17,-18,-16,-19,119,119,-89,-98,-96,-88,-90,-95,-93,-92,-99,-91,-100,119,-97,-87,-129,-127,-126,-128,-130,119,-15,-118,-112,-120,-114,-121,-109,-105,-108,-101,-122,-119,-94,-103,-123,-124,-106,-113,-115,-102,-104,-117,-116,-111,-110,-107,-125,]),'RETURN':([57,68,117,],[-76,130,130,]),'VIA':([5,138,],[55,176,]),'ADDR':([26,],[71,]),'LIST':([0,1,14,35,47,49,56,63,66,69,75,85,86,87,89,91,92,93,94,95,142,],[11,-14,-12,11,11,-28,-9,-7,-4,-8,-6,-11,-13,-5,-3,-27,-31,-29,-32,-30,-10,]),'STATE':([57,61,70,73,77,79,80,81,88,98,99,101,104,105,106,109,111,114,116,120,123,124,125,126,130,132,133,134,135,139,143,151,152,153,154,155,156,157,158,159,160,161,167,168,169,170,184,185,186,187,188,198,199,200,201,202,203,],[-76,122,122,122,-17,-18,-16,-19,122,122,-89,-98,-96,-88,-90,-95,-93,-92,-99,-91,-100,122,-97,-87,-129,-127,-126,-128,-130,122,-15,-118,-112,-120,-114,-121,-109,-105,-108,-101,-122,-119,-94,-103,-123,-124,-106,-113,-115,-102,-104,-117,-116,-111,-110,-107,-125,]),'FILTER':([4,48,],[50,91,]),'BANG':([57,61,70,73,77,79,80,81,88,98,99,101,104,105,106,109,111,114,116,120,123,124,125,126,130,132,133,134,135,139,143,151,152,153,154,155,156,157,158,159,160,161,167,168,169,170,184,185,186,187,188,198,199,200,201,202,203,],[-76,118,118,118,-17,-18,-16,-19,118,118,-89,-98,-96,-88,-90,-95,-93,-92,-99,-91,-100,118,-97,-87,-129,-127,-126,-128,-130,118,-15,-118,-112,-120,-114,-121,-109,-105,-108,-101,-122,-119,-94,-103,-123,-124,-106,-113,-115,-102,-104,-117,-116,-111,-110,-107,-125,]),'error':([0,14,35,56,57,61,63,66,69,70,73,75,77,79,80,81,83,85,86,87,88,89,98,99,101,104,105,106,109,111,114,116,120,123,124,125,126,130,132,133,134,135,139,142,143,151,152,153,154,155,156,157,158,159,160,161,167,168,169,170,184,185,186,187,188,198,199,200,201,202,203,],[41,-12,41,-9,-76,123,-7,-4,-8,123,123,-6,-17,-18,-16,-19,146,-11,-13,-5,123,-3,123,-89,-98,-96,-88,-90,-95,-93,-92,-99,-91,-100,123,-97,-87,-129,-127,-126,-128,-130,123,-10,-15,-118,-112,-120,-114,-121,-109,-105,-108,-101,-122,-119,-94,-103,-123,-124,-106,-113,-115,-102,-104,-117,-116,-111,-110,-107,-125,]),'PORT_DESTINATION':([57,61,70,73,77,79,80,81,88,98,99,101,104,105,106,109,111,114,116,118,120,123,124,125,126,130,132,133,134,135,139,143,151,152,153,154,155,156,157,158,159,160,161,167,168,169,170,184,185,186,187,188,198,199,200,201,202,203,],[-76,103,103,103,-17,-18,-16,-19,103,103,-89,-98,-96,-88,-90,-95,-93,-92,-99,164,-91,-100,103,-97,-87,-129,-127,-126,-128,-130,103,-15,-118,-112,-120,-114,-121,-109,-105,-108,-101,-122,-119,-94,-103,-123,-124,-106,-113,-115,-102,-104,-117,-116,-111,-110,-107,-125,]),'BCAST':([175,],[194,]),'COMMA':([77,79,81,151,156,158,170,200,201,],[-17,-18,-19,180,-109,183,189,-111,-110,]),'DELETE':([0,1,14,35,47,49,56,63,66,69,75,85,86,87,89,91,92,93,94,95,142,],[44,-14,-12,44,44,-28,-9,-7,-4,-8,-6,-11,-13,-5,-3,-27,-31,-29,-32,-30,-10,]),}
_lr_action = { }
for _k, _v in _lr_action_items.items():
for _x,_y in zip(_v[0],_v[1]):
if not _x in _lr_action: _lr_action[_x] = { }
_lr_action[_x][_k] = _y
del _lr_action_items
_lr_goto_items = {'insert_cmd':([0,35,47,],[2,2,2,]),'replace_cmd':([0,35,47,],[3,3,3,]),'ip_source':([61,70,73,88,98,124,139,],[106,106,106,106,106,106,106,]),'chain':([7,8,9,10,11,15,16,22,23,25,30,31,33,44,58,102,],[58,59,60,61,62,64,65,67,68,70,73,74,76,88,97,153,]),'out_interface':([61,70,73,88,98,124,139,],[101,101,101,101,101,101,101,]),'state_arg':([122,189,],[169,203,]),'ip_addr':([110,121,162,166,183,],[158,158,158,158,158,]),'new_chain_cmd':([0,35,47,],[43,43,43,]),'goto_chain':([61,70,73,88,98,124,139,],[104,104,104,104,104,104,104,]),'protocol':([61,70,73,88,98,124,139,],[99,99,99,99,99,99,99,]),'opt_matches':([61,70,73,88,98,124,139,],[107,107,107,107,107,171,107,]),'jump_target':([61,70,73,88,98,124,139,],[109,109,109,109,109,109,109,]),'list_cmd':([0,35,47,],[12,12,12,]),'table_line':([0,35,],[13,13,]),'delete_chain_cmd':([0,35,47,],[17,17,17,]),'opt_table':([1,],[47,]),'command_line':([0,35,],[6,6,]),'interface_address':([0,35,],[18,18,]),'check_cmd':([0,35,47,],[20,20,20,]),'append_cmd':([0,35,47,],[21,21,21,]),'port_destination':([61,70,73,88,98,124,139,],[111,111,111,111,111,111,111,]),'ip_addr_list':([110,121,162,166,183,],[157,168,184,188,202,]),'chain_line':([0,35,],[24,24,]),'route_line':([0,35,],[39,39,]),'zero_cmd':([0,35,47,],[27,27,27,]),'flush_cmd':([0,35,47,],[28,28,28,]),'rule_spec':([61,70,73,88,98,139,],[113,136,140,148,150,178,]),'port_source':([61,70,73,88,98,124,139,],[114,114,114,114,114,114,114,]),'state_option':([61,70,73,88,98,124,139,],[116,116,116,116,116,116,116,]),'iptables_line':([0,35,],[32,32,]),'opt_match':([61,70,73,88,98,124,139,],[124,124,124,124,124,124,124,]),'port_list':([100,103,163,164,180,],[152,154,185,186,198,]),'line':([0,35,],[35,35,]),'opt_bcast':([175,],[195,]),'rename_chain_cmd':([0,35,47,],[19,19,19,]),'delete_cmd':([0,35,47,],[36,36,36,]),'commands':([0,35,47,],[37,37,90,]),'ip_destination':([61,70,73,88,98,124,139,],[120,120,120,120,120,120,120,]),'target':([68,117,],[131,161,]),'items':([34,80,82,119,],[78,143,144,167,]),'lines':([0,35,],[38,84,]),'item':([34,80,82,83,100,103,112,119,163,164,165,180,181,],[80,80,80,145,151,151,159,80,151,151,187,151,199,]),'empty':([1,175,],[49,193,]),'policy_cmd':([0,35,47,],[40,40,40,]),'variable_line':([0,35,],[42,42,]),'interface_line':([0,35,],[45,45,]),'in_interface':([61,70,73,88,98,124,139,],[125,125,125,125,125,125,125,]),'list_rules_cmd':([0,35,47,],[46,46,46,]),}
_lr_goto = { }
for _k, _v in _lr_goto_items.items():
for _x,_y in zip(_v[0],_v[1]):
if not _x in _lr_goto: _lr_goto[_x] = { }
_lr_goto[_x][_k] = _y
del _lr_goto_items
_lr_productions = [
("S' -> lines","S'",1,None,None,None),
('lines -> line','lines',1,'p_lines','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',295),
('lines -> line lines','lines',2,'p_lines','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',296),
('line -> interface_line NL','line',2,'p_line','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',300),
('line -> interface_address NL','line',2,'p_line','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',301),
('line -> variable_line NL','line',2,'p_line','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',302),
('line -> iptables_line NL','line',2,'p_line','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',303),
('line -> table_line NL','line',2,'p_line','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',304),
('line -> chain_line NL','line',2,'p_line','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',305),
('line -> command_line NL','line',2,'p_line','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',306),
('line -> WORD items NL','line',3,'p_line','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',307),
('line -> route_line NL','line',2,'p_line','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',308),
('line -> NL','line',1,'p_line','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',309),
('line -> error NL','line',2,'p_line_error','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',315),
('empty -> <empty>','empty',0,'p_empty','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',319),
('items -> item items','items',2,'p_items','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',324),
('items -> item','items',1,'p_items','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',325),
('item -> WORD','item',1,'p_item','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',329),
('item -> NUMBER','item',1,'p_item','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',330),
('item -> COLON','item',1,'p_item','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',331),
('interface_line -> WORD LINK items','interface_line',3,'p_interface_line','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',339),
('interface_address -> INET ADDR COLON IP_ADDR opt_bcast MASK COLON IP_ADDR','interface_address',8,'p_interface_address','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',345),
('opt_bcast -> BCAST COLON IP_ADDR','opt_bcast',3,'p_opt_bcast','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',352),
('opt_bcast -> empty','opt_bcast',1,'p_opt_bcast','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',353),
('variable_line -> WORD EQ item','variable_line',3,'p_variable_line_1','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',359),
('variable_line -> WORD EQ error','variable_line',3,'p_variable_line_2','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',365),
('iptables_line -> IPTABLES opt_table commands','iptables_line',3,'p_iptables_line','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',372),
('opt_table -> TABLE FILTER','opt_table',2,'p_opt_table1','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',377),
('opt_table -> empty','opt_table',1,'p_opt_table1','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',378),
('opt_table -> TABLE NAT','opt_table',2,'p_opt_table2','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',383),
('opt_table -> TABLE MANGLE','opt_table',2,'p_opt_table2','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',384),
('opt_table -> TABLE RAW','opt_table',2,'p_opt_table2','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',385),
('opt_table -> TABLE SECURITY','opt_table',2,'p_opt_table2','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',386),
('table_line -> STAR FILTER','table_line',2,'p_table_line1','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',394),
('table_line -> STAR NAT','table_line',2,'p_table_line1','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',395),
('table_line -> STAR MANGLE','table_line',2,'p_table_line1','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',396),
('table_line -> STAR RAW','table_line',2,'p_table_line1','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',397),
('table_line -> STAR SECURITY','table_line',2,'p_table_line1','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',398),
('chain_line -> COLON chain ACCEPT SQUARE_BRACKET NUMBER COLON NUMBER SQUARE_BRACKET','chain_line',8,'p_chain_line1','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',403),
('chain_line -> COLON chain DROP SQUARE_BRACKET NUMBER COLON NUMBER SQUARE_BRACKET','chain_line',8,'p_chain_line2','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',410),
('chain_line -> COLON chain WORD SQUARE_BRACKET NUMBER COLON NUMBER SQUARE_BRACKET','chain_line',8,'p_chain_line3','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',417),
('command_line -> commands','command_line',1,'p_command_line','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',423),
('commands -> append_cmd','commands',1,'p_statement','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',430),
('commands -> check_cmd','commands',1,'p_statement','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',431),
('commands -> delete_cmd','commands',1,'p_statement','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',432),
('commands -> insert_cmd','commands',1,'p_statement','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',433),
('commands -> replace_cmd','commands',1,'p_statement','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',434),
('commands -> list_cmd','commands',1,'p_statement','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',435),
('commands -> list_rules_cmd','commands',1,'p_statement','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',436),
('commands -> flush_cmd','commands',1,'p_statement','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',437),
('commands -> zero_cmd','commands',1,'p_statement','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',438),
('commands -> new_chain_cmd','commands',1,'p_statement','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',439),
('commands -> delete_chain_cmd','commands',1,'p_statement','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',440),
('commands -> policy_cmd','commands',1,'p_statement','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',441),
('commands -> rename_chain_cmd','commands',1,'p_statement','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',442),
('append_cmd -> APPEND chain rule_spec','append_cmd',3,'p_append_cmd','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',446),
('check_cmd -> CHECK chain rule_spec','check_cmd',3,'p_check_cmd','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',455),
('delete_cmd -> DELETE chain rule_spec','delete_cmd',3,'p_delete_cmd1','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',460),
('delete_cmd -> DELETE chain NUMBER','delete_cmd',3,'p_delete_cmd2','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',467),
('insert_cmd -> INSERT chain NUMBER rule_spec','insert_cmd',4,'p_insert_cmd1','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',474),
('insert_cmd -> INSERT chain rule_spec','insert_cmd',3,'p_insert_cmd2','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',483),
('replace_cmd -> REPLACE chain NUMBER rule_spec','replace_cmd',4,'p_replace_cmd','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',492),
('list_cmd -> LIST chain','list_cmd',2,'p_list_cmd','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',499),
('list_cmd -> LIST','list_cmd',1,'p_list_cmd','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',500),
('list_rules_cmd -> LIST_RULES chain','list_rules_cmd',2,'p_list_rules_cmd','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',505),
('list_rules_cmd -> LIST_RULES','list_rules_cmd',1,'p_list_rules_cmd','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',506),
('flush_cmd -> FLUSH chain','flush_cmd',2,'p_flush_cmd1','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',511),
('flush_cmd -> FLUSH','flush_cmd',1,'p_flush_cmd2','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',517),
('zero_cmd -> ZERO chain NUMBER','zero_cmd',3,'p_zero_cmd','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',523),
('zero_cmd -> ZERO chain','zero_cmd',2,'p_zero_cmd','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',524),
('zero_cmd -> ZERO','zero_cmd',1,'p_zero_cmd','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',525),
('new_chain_cmd -> NEW_CHAIN chain','new_chain_cmd',2,'p_new_chain_cmd','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',529),
('delete_chain_cmd -> DELETE_CHAIN chain','delete_chain_cmd',2,'p_delete_chain_cmd1','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',535),
('delete_chain_cmd -> DELETE_CHAIN','delete_chain_cmd',1,'p_delete_chain_cmd2','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',541),
('policy_cmd -> POLICY chain target','policy_cmd',3,'p_policy_cmd','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',547),
('rename_chain_cmd -> RENAME_CHAIN chain chain','rename_chain_cmd',3,'p_rename_chain_cmd','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',553),
('chain -> WORD','chain',1,'p_chain','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',562),
('rule_spec -> opt_matches','rule_spec',1,'p_rule_spec','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',567),
('opt_matches -> opt_match opt_matches','opt_matches',2,'p_opt_matches','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',571),
('opt_matches -> opt_match','opt_matches',1,'p_opt_matches','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',572),
('unsupported_option -> WORD unsupported_arguments','unsupported_option',2,'p_unsupported_option','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',576),
('unsupported_option -> WORD','unsupported_option',1,'p_unsupported_option','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',577),
('unsupported_arguments -> unsupported_arg unsupported_arguments','unsupported_arguments',2,'p_unsupported_arguments','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',581),
('unsupported_arguments -> unsupported_arg','unsupported_arguments',1,'p_unsupported_arguments','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',582),
('unsupported_arg -> WORD','unsupported_arg',1,'p_unsupported_arg','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',586),
('unsupported_arg -> NUMBER','unsupported_arg',1,'p_unsupported_arg','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',587),
('unsupported_arg -> COLON','unsupported_arg',1,'p_unsupported_arg','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',588),
('opt_match -> IPV4','opt_match',1,'p_opt_match','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',592),
('opt_match -> IPV6','opt_match',1,'p_opt_match','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',593),
('opt_match -> protocol','opt_match',1,'p_opt_match','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',594),
('opt_match -> ip_source','opt_match',1,'p_opt_match','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',595),
('opt_match -> ip_destination','opt_match',1,'p_opt_match','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',596),
('opt_match -> port_source','opt_match',1,'p_opt_match','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',597),
('opt_match -> port_destination','opt_match',1,'p_opt_match','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',598),
('opt_match -> MATCH items','opt_match',2,'p_opt_match','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',599),
('opt_match -> jump_target','opt_match',1,'p_opt_match','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',600),
('opt_match -> goto_chain','opt_match',1,'p_opt_match','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',601),
('opt_match -> in_interface','opt_match',1,'p_opt_match','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',602),
('opt_match -> out_interface','opt_match',1,'p_opt_match','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',603),
('opt_match -> state_option','opt_match',1,'p_opt_match','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',604),
('opt_match -> error','opt_match',1,'p_opt_match','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',605),
('protocol -> PROTOCOL item','protocol',2,'p_protocol_1','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',609),
('protocol -> BANG PROTOCOL item','protocol',3,'p_protocol_2','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',614),
('ip_source -> IP_SOURCE ip_addr_list','ip_source',2,'p_ip_source_1','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',619),
('ip_source -> BANG IP_SOURCE ip_addr_list','ip_source',3,'p_ip_source_2','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',625),
('ip_destination -> IP_DESTINATION ip_addr_list','ip_destination',2,'p_ip_dest_1','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',631),
('ip_destination -> BANG IP_DESTINATION ip_addr_list','ip_destination',3,'p_ip_dest_2','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',637),
('ip_addr_list -> ip_addr COMMA ip_addr_list','ip_addr_list',3,'p_ip_addr_list1','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',643),
('ip_addr_list -> ip_addr','ip_addr_list',1,'p_ip_addr_list2','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',648),
('ip_addr -> IP_ADDR','ip_addr',1,'p_ip_addr1','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',653),
('ip_addr -> IP_ADDR SLASH NUMBER','ip_addr',3,'p_ip_addr2','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',658),
('ip_addr -> IP_ADDR SLASH IP_ADDR','ip_addr',3,'p_ip_addr3','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',663),
('port_source -> PORT_SOURCE port_list','port_source',2,'p_port_source_1','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',668),
('port_source -> BANG PORT_SOURCE port_list','port_source',3,'p_port_source_2','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',677),
('port_destination -> PORT_DESTINATION port_list','port_destination',2,'p_port_destination_1','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',686),
('port_destination -> BANG PORT_DESTINATION port_list','port_destination',3,'p_port_destination_2','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',695),
('port_list -> item COLON item','port_list',3,'p_port_list1','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',704),
('port_list -> item COMMA port_list','port_list',3,'p_port_list2','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',709),
('port_list -> item','port_list',1,'p_port_list3','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',714),
('jump_target -> JUMP target','jump_target',2,'p_jump_target','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',719),
('goto_chain -> GOTO chain','goto_chain',2,'p_goto_chain','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',724),
('in_interface -> IN_INTERFACE WORD','in_interface',2,'p_in_interface','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',729),
('out_interface -> OUT_INTERFACE WORD','out_interface',2,'p_out_interface','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',734),
('state_option -> STATE state_arg','state_option',2,'p_state_option','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',739),
('state_arg -> WORD','state_arg',1,'p_state_arg1','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',745),
('state_arg -> WORD COMMA state_arg','state_arg',3,'p_state_arg2','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',750),
('target -> ACCEPT','target',1,'p_target1','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',755),
('target -> DROP','target',1,'p_target2','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',760),
('target -> QUEUE','target',1,'p_target3','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',765),
('target -> RETURN','target',1,'p_target4','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',770),
('target -> WORD','target',1,'p_target5','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',775),
('route_line -> DEFAULT VIA IP_ADDR DEV WORD','route_line',5,'p_default_route_line','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',782),
('route_line -> IP_ADDR SLASH NUMBER VIA IP_ADDR DEV WORD','route_line',7,'p_route_line2','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',798),
('route_line -> IP_ADDR SLASH NUMBER DEV WORD WORD WORD WORD LINK SRC IP_ADDR','route_line',11,'p_route_line3','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',812),
('route_line -> IP_ADDR SLASH NUMBER DEV WORD WORD WORD WORD LINK SRC IP_ADDR WORD NUMBER','route_line',13,'p_route_line3','/root/Documents/springbok/Parser/IpTables/IpTablesYacc.py',813),
]