/usr/lib/python2.6/site-packages/pycparser-2.14-py2.6.egg/pycparser
NameSizeModeActions
ply/-0755rm
ast_transforms.py35680755editdlrm
ast_transforms.pyc28910644editdlrm
c_ast.py233360755editdlrm
c_ast.pyc435420644editdlrm
c_generator.py135700755editdlrm
c_generator.pyc205930644editdlrm
c_lexer.py144470755editdlrm
c_lexer.pyc169800644editdlrm
c_parser.py622120755editdlrm
c_parser.pyc681880644editdlrm
lextab.py74570755editdlrm
lextab.pyc71340644editdlrm
plyparser.py15940755editdlrm
plyparser.pyc29080644editdlrm
yacctab.py1295680755editdlrm
yacctab.pyc1018710644editdlrm
_ast_gen.py86630755editdlrm
_ast_gen.pyc98050644editdlrm
_build_tables.py8510755editdlrm
_build_tables.pyc6620644editdlrm
_c_ast.cfg41800644editdlrm
__init__.py29030755editdlrm
__init__.pyc29720644editdlrm
Edit: /usr/lib/python2.6/site-packages/pycparser-2.14-py2.6.egg/pycparser/ast_transforms.pyc (2891B)
Ńň ö Wc@s&ddklZd„Zd„ZdS(i(tc_astcCsőt|tiƒpt‚t|itiƒp|Stig|iiƒ}d}x’|iiD]„}t|ti ti fƒo1|ii |ƒt ||iƒ|id}q`|djo|ii |ƒq`|i i |ƒq`W||_|S(sÜ The 'case' statements in a 'switch' come out of parsing with one child node, so subsequent statements are just tucked to the parent Compound. Additionally, consecutive (fall-through) case statements come out messy. This is a peculiarity of the C grammar. The following: switch (myvar) { case 10: k = 10; p = k + 1; return 10; case 20: case 30: return 20; default: break; } Creates this tree (pseudo-dump): Switch ID: myvar Compound: Case 10: k = 10 p = k + 1 return 10 Case 20: Case 30: return 20 Default: break The goal of this transform it to fix this mess, turning it into the following: Switch ID: myvar Compound: Case 10: k = 10 p = k + 1 return 10 Case 20: Case 30: return 20 Default: break A fixed AST node is returned. The argument may be modified. i˙˙˙˙N(t isinstanceRtSwitchtAssertionErrortstmttCompoundtcoordtNonet block_itemstCasetDefaulttappendt_extract_nested_casetstmts(t switch_nodet new_compoundt last_casetchild((sU/usr/lib/python2.6/site-packages/pycparser-2.14-py2.6.egg/pycparser/ast_transforms.pytfix_switch_cases s 3   cCsRt|idtitifƒo+|i|iiƒƒt|d|ƒndS(s€ Recursively extract consecutive Case statements that are made nested by the parser and add them to the stmts_list. ii˙˙˙˙N(RR RR R R tpopR (t case_nodet stmts_list((sU/usr/lib/python2.6/site-packages/pycparser-2.14-py2.6.egg/pycparser/ast_transforms.pyR bs#N(tRRR (((sU/usr/lib/python2.6/site-packages/pycparser-2.14-py2.6.egg/pycparser/ast_transforms.pyt s U