freenode/#clasp - IRC Chatlog
Search
19:03:46
eno
LibClang is a stable high level C interface to clang. When in doubt LibClang is probably the interface you want to use. Consider the other interfaces only when you have a good reason not to use LibClang.
19:04:30
eno
I just know its a lot of work to automatically generate bindings, I dont want to reinvent the wheel
19:05:17
drmeister
And it's in Common Lisp - which is the best language to be mucking around with AST's
19:07:04
drmeister
Not much. It's a 1:1 match of the AST and AST Matcher facility exposed in Common Lisp - and i have a static analyzer that I wrote that grovels every pointer in every C++ class that Clasp manages with its garbage collector
19:07:41
drmeister
https://github.com/clasp-developers/clasp/blob/dev/src/lisp/modules/clasp-analyzer/clasp-analyzer.lisp#L1
19:08:38
drmeister
It uses matchers that look like this: https://github.com/clasp-developers/clasp/blob/dev/src/lisp/modules/clasp-analyzer/clasp-analyzer.lisp#L1310