I am trying to parse c files using pycparser and find the switch statement I have generated the ast using https://github.com/eliben/pycparser/blob/master/examples/explore_ast.py this link. then using n = len(ast.ext) i have found the length of the exts generated from the ast. Now i have to find the switch statement from the ast i tried doing if re.findall(r'(switch(\s*'),ast.ext) and match regex to find switch case but it isnt happening. How to proceed with this as i am entirely new to pycparser and have no idea about it
how to find switch statement from an ast generated from pycparser?
371 Views Asked by BHASWATI SENGUPTA At
1
There are 1 best solutions below
Related Questions in PYTHON
- new thread blocks main thread
- Extracting viewCount & SubscriberCount from YouTube API V3 for a given channel, where channelID does not equal userID
- Display images on Django Template Site
- Difference between list() and dict() with generators
- How can I serialize a numpy array while preserving matrix dimensions?
- Protractor did not run properly when using browser.wait, msg: "Wait timed out after XXXms"
- Why is my program adding int as string (4+7 = 47)?
- store numpy array in mysql
- how to omit the less frequent words from a dictionary in python?
- Update a text file with ( new words+ \n ) after the words is appended into a list
- python how to write list of lists to file
- Removing URL features from tokens in NLTK
- Optimizing for Social Leaderboards
- Python : Get size of string in bytes
- What is the code of the sorted function?
Related Questions in C
- Passing arguments to main in C using Eclipse
- kernel module does not print packet info
- error C2016 (C requires that a struct or union has at least one member) and structs typedefs
- Drawing with ncurses, sockets and fork
- How to catch delay-import dll errors (missing dll or symbol) in MinGW(-w64)?
- Configured TTL for A record(s) backing CNAME records
- Allocating memory for pointers inside structures in functions
- Finding articulation point of undirected graph by DFS
- C first fgets() is being skipped while the second runs
- C std library don't appear to be linked in object file
- gcc static library compilation
- How to do a case-insensitive string comparison?
- C programming: Create and write 2D array of files as function
- How to read a file then store to array and then print?
- Function timeouts in C and thread
Related Questions in REGEX
- Check for numeric value with optional commas javascript
- CSV to XML XSLT: How to quote excape
- How can I determine the index of the same set of characters between two strings that are of different lengths?
- Max 3 digits, up to 3 decimals
- Regex for SQL insert query
- Javascript Regex to get specific string from two differently-formatted text blocks
- JavaScript differences beetween new Regex('regex', 'flags') and /regex/flags
- Java replace every Nth specific character (e.g. space) in String
- c# regex spain mobile phone
- Perl Regex: Merge multiple one-character substrings
- Using .css("background-color") for comparison jQuery/Js
- Unexpected NoReverseMatch error when using include() in urls patterns
- RegEx for all the javascript code except comments
- Regex: how to separate username:password?
- Customising a RegExp for international phone numbers
Related Questions in ABSTRACT-SYNTAX-TREE
- Generate C++ style code using LLVM
- How to traverse all nodes of clang AST?
- deleting a if statements using ASTParser from a given .java file
- is there there way to access stylus AST
- JDT AstParser - How to get Assignment (parent) from MethodInvocation
- Obtaning the AST of JavaScript code from Spidermonkey
- Three-address code and symbol tables
- Alternate way to read a file as json using python
- HQL unexpected AST node:unexpected AST node:
- How can I evaluate a list of strings as a list of tuples in Python?
- Parse Python Function's Class Name
- Custom Lint for Java / Android Report if we find a class call without implementing its interface
- How can I detect by static analysis, if a project is using Java8?
- Is it possible to work with AST inside D code?
- Java Runtime Compiling within scope
Related Questions in PYCPARSER
- Is there any way to avoid parse-errors in pycparser library of python
- extern followed by string literal
- Including Fake-headers via pycparser in Windows?
- Permission denied error in pip installing pyopenssl
- how to make the Pycparser to understand my c function
- How do I reverse the byte order of a list of constants in Python?
- pycparser visit else only of an if-else statement
- pycparser parse error on multi-byte character
- Preprocessor linemarkers in pycparser
- Get members of a enum/struct with pycparser
- C - int not-equal to printf?
- Get column number of C construct in ast generated by pycparser
- Pycparser not getting imported
- Clang + pycparser fail to parse pythread.h header from CPython 3.7
- how do i create a usable .py file after using pycparser
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
You can't run regexp matching on pycparser ASTs!
There are multiple examples in the pycparser repository that should help you:
explore_ast.py, which you've already seen lets you play with the AST and explore its nodes.dump_ast.pyshows how to dump the whole AST and see what nodes your code has.Finally,
func_calls.pydemonstrates how to walk the AST looking for specific kinds of nodes:In this case
FuncCallnodes, but you need switch nodes, so you'll create a method namedvisit_Switch, and the visitor will find allSwitchnodes.