diff options
author | Eli Bendersky <eliben@gmail.com> | 2015-05-10 07:56:41 -0700 |
---|---|---|
committer | Eli Bendersky <eliben@gmail.com> | 2015-05-10 07:56:41 -0700 |
commit | c830da88193cff670180b57eee95712fe1f01b07 (patch) | |
tree | ed5f48cbc172ce9ea0f2b669725c987e967f6958 /pycparser | |
parent | 6c5d15d2a035948cb6c83d7331b276a43634071f (diff) | |
download | pycparser-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.py | 8 |
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 |