tesseract v5.3.3.20231005
cpp.ast Namespace Reference

Classes

class  _GenericDeclaration
 
class  _NestedType
 
class  _NullDict
 
class  AstBuilder
 
class  Class
 
class  Define
 
class  Delete
 
class  Enum
 
class  Expr
 
class  Friend
 
class  Function
 
class  Goto
 
class  Include
 
class  Method
 
class  Node
 
class  Parameter
 
class  Return
 
class  Struct
 
class  Type
 
class  TypeConverter
 
class  Typedef
 
class  Union
 
class  Using
 
class  VariableDeclaration
 

Functions

def reversed (seq)
 
def next (obj)
 
def BuilderFromSource (source, filename)
 
def PrintIndentifiers (filename, should_print)
 
def PrintAllIndentifiers (filenames, should_print)
 
def main (argv)
 

Variables

 VISIBILITY_PUBLIC
 
 VISIBILITY_PROTECTED
 
 VISIBILITY_PRIVATE
 
int FUNCTION_NONE = 0x00
 
int FUNCTION_CONST = 0x01
 
int FUNCTION_VIRTUAL = 0x02
 
int FUNCTION_PURE_VIRTUAL = 0x04
 
int FUNCTION_CTOR = 0x08
 
int FUNCTION_DTOR = 0x10
 
int FUNCTION_ATTRIBUTE = 0x20
 
int FUNCTION_UNKNOWN_ANNOTATION = 0x40
 
int FUNCTION_THROW = 0x80
 
int FUNCTION_OVERRIDE = 0x100
 

Function Documentation

◆ BuilderFromSource()

def cpp.ast.BuilderFromSource (   source,
  filename 
)
Utility method that returns an AstBuilder from source code.

  Args:
    source: 'C++ source code'
    filename: 'file1'

  Returns:
    AstBuilder

Definition at line 1703 of file ast.py.

1703def BuilderFromSource(source, filename):
1704 """Utility method that returns an AstBuilder from source code.
1705
1706 Args:
1707 source: 'C++ source code'
1708 filename: 'file1'
1709
1710 Returns:
1711 AstBuilder
1712 """
1713 return AstBuilder(tokenize.GetTokens(source), filename)
1714
1715
def BuilderFromSource(source, filename)
Definition: ast.py:1703

◆ main()

def cpp.ast.main (   argv)

Definition at line 1751 of file ast.py.

1751def main(argv):
1752 for filename in argv[1:]:
1753 source = utils.ReadFile(filename)
1754 if source is None:
1755 continue
1756
1757 print('Processing %s' % filename)
1758 builder = BuilderFromSource(source, filename)
1759 try:
1760 entire_ast = filter(None, builder.Generate())
1761 except KeyboardInterrupt:
1762 return
1763 except:
1764 # Already printed a warning, print the traceback and continue.
1765 traceback.print_exc()
1766 else:
1767 if utils.DEBUG:
1768 for ast in entire_ast:
1769 print(ast)
1770
1771
def main(argv)
Definition: ast.py:1751

◆ next()

def cpp.ast.next (   obj)

Definition at line 56 of file ast.py.

56 def next(obj):
57 return obj.next()
58
59
def next(obj)
Definition: ast.py:56

◆ PrintAllIndentifiers()

def cpp.ast.PrintAllIndentifiers (   filenames,
  should_print 
)
Prints all identifiers for each C++ source file in filenames.

  Args:
    filenames: ['file1', 'file2', ...]
    should_print: predicate with signature: bool Function(token)

Definition at line 1740 of file ast.py.

1740def PrintAllIndentifiers(filenames, should_print):
1741 """Prints all identifiers for each C++ source file in filenames.
1742
1743 Args:
1744 filenames: ['file1', 'file2', ...]
1745 should_print: predicate with signature: bool Function(token)
1746 """
1747 for path in filenames:
1748 PrintIndentifiers(path, should_print)
1749
1750
def PrintIndentifiers(filename, should_print)
Definition: ast.py:1716
def PrintAllIndentifiers(filenames, should_print)
Definition: ast.py:1740

◆ PrintIndentifiers()

def cpp.ast.PrintIndentifiers (   filename,
  should_print 
)
Prints all identifiers for a C++ source file.

  Args:
    filename: 'file1'
    should_print: predicate with signature: bool Function(token)

Definition at line 1716 of file ast.py.

1716def PrintIndentifiers(filename, should_print):
1717 """Prints all identifiers for a C++ source file.
1718
1719 Args:
1720 filename: 'file1'
1721 should_print: predicate with signature: bool Function(token)
1722 """
1723 source = utils.ReadFile(filename, False)
1724 if source is None:
1725 sys.stderr.write('Unable to find: %s\n' % filename)
1726 return
1727
1728 #print('Processing %s' % actual_filename)
1729 builder = BuilderFromSource(source, filename)
1730 try:
1731 for node in builder.Generate():
1732 if should_print(node):
1733 print(node.name)
1734 except KeyboardInterrupt:
1735 return
1736 except:
1737 pass
1738
1739

◆ reversed()

def cpp.ast.reversed (   seq)

Definition at line 50 of file ast.py.

50 def reversed(seq):
51 for i in range(len(seq)-1, -1, -1):
52 yield seq[i]
53
def reversed(seq)
Definition: ast.py:50

Variable Documentation

◆ FUNCTION_ATTRIBUTE

int cpp.ast.FUNCTION_ATTRIBUTE = 0x20

Definition at line 68 of file ast.py.

◆ FUNCTION_CONST

int cpp.ast.FUNCTION_CONST = 0x01

Definition at line 63 of file ast.py.

◆ FUNCTION_CTOR

int cpp.ast.FUNCTION_CTOR = 0x08

Definition at line 66 of file ast.py.

◆ FUNCTION_DTOR

int cpp.ast.FUNCTION_DTOR = 0x10

Definition at line 67 of file ast.py.

◆ FUNCTION_NONE

int cpp.ast.FUNCTION_NONE = 0x00

Definition at line 62 of file ast.py.

◆ FUNCTION_OVERRIDE

int cpp.ast.FUNCTION_OVERRIDE = 0x100

Definition at line 71 of file ast.py.

◆ FUNCTION_PURE_VIRTUAL

int cpp.ast.FUNCTION_PURE_VIRTUAL = 0x04

Definition at line 65 of file ast.py.

◆ FUNCTION_THROW

int cpp.ast.FUNCTION_THROW = 0x80

Definition at line 70 of file ast.py.

◆ FUNCTION_UNKNOWN_ANNOTATION

int cpp.ast.FUNCTION_UNKNOWN_ANNOTATION = 0x40

Definition at line 69 of file ast.py.

◆ FUNCTION_VIRTUAL

int cpp.ast.FUNCTION_VIRTUAL = 0x02

Definition at line 64 of file ast.py.

◆ VISIBILITY_PRIVATE

cpp.ast.VISIBILITY_PRIVATE

Definition at line 60 of file ast.py.

◆ VISIBILITY_PROTECTED

cpp.ast.VISIBILITY_PROTECTED

Definition at line 60 of file ast.py.

◆ VISIBILITY_PUBLIC

cpp.ast.VISIBILITY_PUBLIC

Definition at line 60 of file ast.py.