summaryrefslogtreecommitdiff
path: root/pycparser
diff options
context:
space:
mode:
authorEli Bendersky <eliben@gmail.com>2015-05-10 07:56:41 -0700
committerEli Bendersky <eliben@gmail.com>2015-05-10 07:56:41 -0700
commitc830da88193cff670180b57eee95712fe1f01b07 (patch)
treeed5f48cbc172ce9ea0f2b669725c987e967f6958 /pycparser
parent6c5d15d2a035948cb6c83d7331b276a43634071f (diff)
downloadpycparser-c830da88193cff670180b57eee95712fe1f01b07.tar.gz
Adding support for empty initializer lists.
The idea comes from #79 but the implementation is somewhat different.
Diffstat (limited to 'pycparser')
-rw-r--r--pycparser/c_parser.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/pycparser/c_parser.py b/pycparser/c_parser.py
index e4fa503..11405ed 100644
--- a/pycparser/c_parser.py
+++ b/pycparser/c_parser.py
@@ -85,6 +85,7 @@ class CParser(PLYParser):
'expression',
'identifier_list',
'init_declarator_list',
+ 'initializer_list',
'parameter_type_list',
'specifier_qualifier_list',
'block_item_list',
@@ -1166,10 +1167,13 @@ class CParser(PLYParser):
p[0] = p[1]
def p_initializer_2(self, p):
- """ initializer : brace_open initializer_list brace_close
+ """ initializer : brace_open initializer_list_opt brace_close
| brace_open initializer_list COMMA brace_close
"""
- p[0] = p[2]
+ if p[2] is None:
+ p[0] = c_ast.InitList([], self._coord(p.lineno(1)))
+ else:
+ p[0] = p[2]
def p_initializer_list(self, p):
""" initializer_list : designation_opt initializer