cymbal 1.0.0

Creator: coderz1093

Last updated:

Add to Cart

Description:

cymbal 1.0.0

Overview
Cymbal makes it easy to add functionality missing from libclang Python bindings
The Clang libclang python bindings use ctypes to invoke functions present
in libclang dynamic library. In some cases, only a subset of the C functions
are available, because the platform or version specific Python bindings omit
functions. Cymbal simplfies the process of dynamically adding those methods to
Types and Cursors.



Usage
Import Cymbal, monkeypatch any required functions, adding appropriate ctypes
annotations as necessary.
import clang.cindex
from clang.cindex import *
import cymbal
from ctypes import *

# add functions omitted from the pip installable clang packages on OSX

cymbal.monkeypatch_type('get_template_argument_type',
'clang_Type_getTemplateArgumentAsType',
[Type, c_uint],
Type)

cymbal.monkeypatch_type('get_num_template_arguments',
'clang_Type_getNumTemplateArguments',
[Type],
c_int)


Requirements
The only requirements are libclang and the python bindings for libclang.


Contributing
If you experience problems with Cymbal, log them on GitHub. If you
want to contribute code, please fork the code and submit a pull request.


Licensing
This project builds on the work of the LLVM team and the University of Illinois
at Urbana-Champaign, but is no way affiliated with either group.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.