forked from VimPlug/jedi
header description of the parser
This commit is contained in:
@@ -1,22 +1,40 @@
|
|||||||
""""
|
"""
|
||||||
TODO Description: This is a parser
|
Maintainer: David Halter <davidhalter88@gmail.com>
|
||||||
|
Version: 0.1
|
||||||
|
|
||||||
|
py_fuzzyparser parses python code, with the goal of a good representation of
|
||||||
|
the code within a tree structure. Variables, Classes and Functions are defined
|
||||||
|
within this tree structure, containing their exact locations in the code.
|
||||||
|
It is also a primary goal to work with code which contains syntax errors.
|
||||||
|
|
||||||
|
This behaviour may be used to refactor, modify, search and complete code.
|
||||||
|
|
||||||
|
To understand this code it is extremely important to understand the behaviour
|
||||||
|
of the python module 'tokenize'.
|
||||||
|
|
||||||
|
This original codebase of this parser, which has been refactored and heavily
|
||||||
|
changed, was programmed by Aaron Griffin <aaronmgriffin@gmail.com>.
|
||||||
|
|
||||||
|
*The structure of the following script:*
|
||||||
|
A Scope has
|
||||||
|
- imports (Import)
|
||||||
|
- subscopes (Scope, Class, Function, Flow)
|
||||||
|
- statements (Statement)
|
||||||
|
|
||||||
|
All those classes are being generated by PyFuzzyParser, which takes python text
|
||||||
|
as input.
|
||||||
|
|
||||||
|
Ignored statements:
|
||||||
|
- print (no use for it, just slows down)
|
||||||
|
- exec (dangerous - not controllable)
|
||||||
|
|
||||||
TODO be tolerant with indents
|
TODO be tolerant with indents
|
||||||
TODO dictionaries not working with statement parser
|
TODO dictionaries not working with statement parser
|
||||||
TODO except has local vars
|
TODO except has local vars
|
||||||
TODO take special care for future imports
|
TODO take special care for future imports
|
||||||
TODO add global statements
|
TODO add global statements
|
||||||
|
|
||||||
scope
|
|
||||||
imports
|
|
||||||
subscopes
|
|
||||||
statements
|
|
||||||
|
|
||||||
Ignored statements:
|
|
||||||
- print (no use for it)
|
|
||||||
- exec (dangerous - not controllable)
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
import tokenize
|
import tokenize
|
||||||
import cStringIO
|
import cStringIO
|
||||||
|
|||||||
Reference in New Issue
Block a user