{"id":51,"date":"2009-07-07T02:00:30","date_gmt":"2009-07-07T00:00:30","guid":{"rendered":"http:\/\/arnorehn.de\/cgi-bin\/weblog_basic\/index.php?p=3"},"modified":"2009-07-07T02:00:30","modified_gmt":"2009-07-07T00:00:30","slug":"hello-planet","status":"publish","type":"post","link":"https:\/\/www.arnorehn.de\/blog\/2009\/07\/07\/hello-planet\/","title":{"rendered":"Hello Planet!"},"content":{"rendered":"<p>Hi,<\/p>\n<p>my name is Arno Rehn and I&#8221;m a bindings developer. I&#8221;m working mainly on the C# bindings for Qt and KDE together with Richard Dale.<\/p>\n<p>Currently I&#8221;m also working on my gsoc project &#8211; Rewriting the SMOKE generator using one of Roberto Raggi&#8221;s C++ parsers.<br \/>\nSMOKE is a library which provides the possibility to dynamically call methods on classes. It is the foundation for many of the Qt\/KDE bindings, like Ruby, C# and PHP.<br \/>\nThe old generator for the SMOKE sources is based on a perl tool, kalyptus, and only works with a bunch of hacks in the code. It tends to break on new releases of Qt or KDE which introduce new features.<\/p>\n<p>The goal of my project is to create a stable and robust tool, similar to the moc, which you just run on the headers of your project and you then end up with a bunch of source files that are the basis for bindings for your project.<\/p>\n<p>Eventually I decided to use the new parser from KDevelop4, since that has a pretty convenient API (unlike the QtJambi \/ qtscriptgenerator one). It took some time to remove the KDevPlatform\/KDevelop specific bits, though. It would&#8221;ve also been nice if I could&#8221;ve used the DUChain from KDevelop, but that seems to be so tightly integrated that I would have to provide half of KDevelop to use it.<\/p>\n<p>I&#8221;m pretty much ahead of time &#8211; the generator is nearly finished. By the end of the GCDS, which I&#8221;m attending until Thursday, it should be working completely &#8211; at least with the Qt classes.<\/p>\n<p>P.S.: I know that gsoc has started quite some time back, but I was really to lazy\/busy to start a blog \ud83d\ude09<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hi, my name is Arno Rehn and I&#8221;m a bindings developer. I&#8221;m working mainly on the C# bindings for Qt and KDE together with Richard Dale. Currently I&#8221;m also working on my gsoc project &#8211; Rewriting the SMOKE generator using one of Roberto Raggi&#8221;s C++ parsers. SMOKE is a library which provides the possibility to [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,4],"tags":[9,11,29,27,14,15],"class_list":["post-51","post","type-post","status-publish","format-standard","hentry","category-gsoc","category-kde","tag-bindings","tag-c-parser","tag-gsoc","tag-kde","tag-smoke","tag-smokegenerator"],"_links":{"self":[{"href":"https:\/\/www.arnorehn.de\/blog\/wp-json\/wp\/v2\/posts\/51","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.arnorehn.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.arnorehn.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.arnorehn.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.arnorehn.de\/blog\/wp-json\/wp\/v2\/comments?post=51"}],"version-history":[{"count":0,"href":"https:\/\/www.arnorehn.de\/blog\/wp-json\/wp\/v2\/posts\/51\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.arnorehn.de\/blog\/wp-json\/wp\/v2\/media?parent=51"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.arnorehn.de\/blog\/wp-json\/wp\/v2\/categories?post=51"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.arnorehn.de\/blog\/wp-json\/wp\/v2\/tags?post=51"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}