libclang

Bindings to libclang

npm install libclang
19 downloads in the last week
50 downloads in the last month

node-libclang

node.js module for libclang and parsing c-style source from javascript

AST Traversal

var libclang = require('libclang');

var index = new libclang.index();
var tu = new libclang.translationunit();

tu.fromSource(idx, 'myLibrary.h', ['-I/path/to/my/project']);

tu.cursor().visitChildren(function (parent) {
  switch (this.kind) {
    case libclang.KINDS.CXCursor_FunctionDecl:
      console.log(this.spelling);
      break;
  }
  return libclang.CXChildVisit_Continue;
});

index.dispose();
tu.dispose();
`

Generate FFI Bindings

This has been moved to its own library npm install -g ffi-generate

See also https://github.com/tjfontaine/node-ffi-generate

Notes

Not all of libclang is wrapped yet, but there's enough for ffi-generate to regenerate the dynamic clang bindings.

The native wrapper isn't completely fleshed out or free of errors. Enough is wrapped to allow for C modules to be successfully generated by lib/generateffi.js.

npm loves you