Commit c64a5e85 authored by Robert Bradshaw's avatar Robert Bradshaw

Alternative syntax for c array declarators.

parent 9e3a2d7a
......@@ -2031,8 +2031,14 @@ def p_c_complex_base_type(s):
base_type = p_c_base_type(s)
declarator = p_c_declarator(s, empty = 1)
s.expect(')')
return Nodes.CComplexBaseTypeNode(pos,
base_type = base_type, declarator = declarator)
complex_type = Nodes.CComplexBaseTypeNode(pos,
base_type = base_type, declarator = declarator)
while s.sy == '[':
declarator = p_c_declarator(s, empty = 1)
complex_type = Nodes.CComplexBaseTypeNode(pos,
base_type = complex_type, declarator = declarator)
return complex_type
def p_c_simple_base_type(s, self_flag, nonempty, templates = None):
#print "p_c_simple_base_type: self_flag =", self_flag, nonempty
......@@ -2104,6 +2110,10 @@ def p_c_simple_base_type(s, self_flag, nonempty, templates = None):
type_node = p_memoryviewslice_access(s, type_node)
else:
type_node = p_buffer_or_template(s, type_node, templates)
while s.sy == '[':
declarator = p_c_declarator(s, empty = 1)
type_node = Nodes.CComplexBaseTypeNode(pos,
base_type = type_node, declarator = declarator)
if s.sy == '.':
s.next()
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment