Hi David- Per my response to Joel, I think the basic improved PDL::PP::JIT support could be done in a simple but clunky way using a basic libtcc interface. The legacy perls could still have the benefits of new JIT compiling while the modern perls could be C::Blocks based.
I haven't yet gotten tcc to build on cygwin but I look forward to trying out your code when I get a working tcc. Cheers, Chris On Wed, Aug 5, 2015 at 1:24 PM, David Mertens <[email protected]> wrote: > Hey Chris, > > Another idea occurred to me. If you absolutely need v5.10 supported, > somebody (i.e. not me) could probably hack something together with > Devel::Declare. This would make it possible to use the same interface, and > would work for Perls all the way back to v5.8.1. I am skeptical about how > well it would handle some of the most important features of C::Blocks, > however, such as lexical scoping of shared C libraries. This would not be a > small undertaking. > > David > > On Wed, Aug 5, 2015 at 12:21 PM, David Mertens <[email protected]> > wrote: > >> Yes, it absolutely requires the keyword API to work. >> >> From the Perl side, it builds and inserts OPs, and it checks the local >> compiling context for lexically scoped variables. These can only be done by >> "breaking" into the Perl parser, hence the keyword API. >> >> From the TCC side, TCC uses a lot of globals, setting them up during >> TCCState construction. This means you cannot have multiple active >> compilation units at the same time. Keywords let me enforce one state at a >> time merely by code layout, in a way that is completely obvious to a user, >> letting me hide all of this. >> >> It may be possible to write a C::Blocks library that exposes the libtcc >> API, in which case you would be able to build your own compiler states and >> manage extended symbol tables. Or, if you just want normal TCC, just use >> XS::TCC, C::TinyCompiler, or FFI::TinyCC. >> >> David >> >> On Tue, Aug 4, 2015 at 8:39 PM, Chris Marshall <[email protected]> >> wrote: >> >>> Does C::Blocks really require the perl keyword API to work? >>> It would be nice if there was a version that could work with >>> perl 5.10.x. >>> >>> --Chris >>> >>> >>>
------------------------------------------------------------------------------
_______________________________________________ pdl-general mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/pdl-general
