Category Archives: FFI

Pharo Libclang FFI, part 5, client data and recursive visitor/callbacks

(IN PROGRESS)Now we make use of the client data to track the indent level.  The recursive call to clang_visitChildren() seems a bit of an anti-pattern to use with a visitor – presumably a new visitor is created each call.   … Continue reading

Posted in FFI, Pharo | Leave a comment

Pharo Libclang FFI, part 4, AST walking with visitors & callbacks

Okay, so we’ve got most of the parts ready. In the last part we managed to load the AST. Now lets do something useful with it. Traversing the tree is done uses a visitor pattern that supplies cursors to a … Continue reading

Posted in FFI, Pharo | Leave a comment

Pharo Libclang FFI, part 3, loading an AST

In the last part we learnt how to get the version string of the library.  That was good to prove it basically works, and also to develop our first C type “CXString“. Now we want to Pharo to process some … Continue reading

Posted in FFI, Pharo | Leave a comment

Pharo Libclang FFI, part 2, simple callout string return

This is my first exposure to using Pharo’s FFI, so before diving in to process some AST, lets try something simpler to gain familiarity with the library.  Something real simple… no parameters and just returning a string. The function clang_getClangVersion() seems to … Continue reading

Posted in FFI, Pharo | Leave a comment

Pharo Libclang FFI, part 1, preamble

Table of contents Part 1 – Preamble Part 2 – Simple call out, string return Part 3 – Loading an AST Part 4 – AST walking with visitors and callbacks Part 5 – Client data and recursive visitor/callbacks Background I … Continue reading

Posted in FFI, Pharo | Leave a comment