Hi David,
Like Daniele, I also just want to express my total admiration about all
aspects of your efforts:
* plugin - after dehydra/dxr move to clang, gcc-python-plugin remains
the only (known to me) available and *supported* scriptable plugin for
gcc. Why I think this is from high importance? Compiler plugins are
great opportunity itself, but real materialization of this opportunity
needs "democratization" to the appropriate level for critical mass of
aware developers (critical mass is usually a must for good stuff
emergence to eventually happen). Python is just perfect in that respect
- beautiful, one of the best known, bindings for everything needed at
yum-install/pypi distance (just for the records, for someone who would
suspect performance compromises: identified bottlenecks in this kind of
tasks are easily resolvable using JITs - pypi:lupa (lj2+ffi) in the
meantime and probably PyPy also in the future)
* cpychecker - When I saw graph querying in python, my initial dump
reaction was "This guy must be sort of crazy", now my opinion is just
opposite - working (and already at quite good extend!) imperative
prototype is the precisely right and mandatory first step towards this
highly complicated problem.
* plugin/cpycheker mass application over Fedora codebase: The greatest
idea in recent years I ever hear - Like everything you do, current
target is rather modest - cpychecks over Python packages only, but this
opens the doors for another level of making the distribution: Fedora and
maybe some other package bases of the same level have one unique
property: they are consistent conglomerate of package versions, patch
branches and dependencies. Because of that property they are
automatically processable as a whole. Integration of the compiler plugin
with distribution build automation opens endless surface of additional
(besides current Python API usage validation) opportunities -
distribution level cross reference, cross package inter procedural
analysis, package specs and package build systems validation - just to
name most obvious of them.
David, Thank you!
The only thing about I am really sorry is that because of my futility
and everyday obligations I have not yet started coding the plugin
application as gcc representations to DB export tool, related web
interfaces and simple query results (like gcc-xml emulation, custom
doc-strings parsing, etc.) :-(
All the best,
Alek
P.S. Apologies, if because of my English, the notes above are pain to read.