Jump to content
Bob Devine

PaxCompiler

Recommended Posts

Since the rights to PaxCompiler have been acquired by Apex Data Solutions, they've decided not to supply it as a stand-alone royalty-free compiler, but as part of a larger interoperability suite (with no source and controlled through their licencing portal). I'm looking into the possibility of continuing development since I have a significant investment in the technology but don't have the time to become a compiler engineer! Initially I'm trying to (i) identify any compiler/interpreter developers who might be interested in contract work and (ii) identify other pax users who'd be interested in pooling bug fixes and possibly collaborating on funding further development. Obviously pax can't simply be open-sourced but I have some ideas on how to proceed in a way that keeps things legal. Any pax users who are interested can contact me on gmail (rlsdevine).

 

Cheers, Bob

Share this post


Link to post

I'm not familiar with the PaxCompiler, but what I read about it, it sounds somewhat similar to DWScript, perhaps it's worth looking into porting over to something like that?

Share this post


Link to post

Thanks, but pax has some unique features that aren't available in the various Delphi scripting engines, including the ability to create Delphi-compatible interface-based DLLs (so you can create plug-ins from within your app) and cross-language programming (Object Pascal/Object Basic/Javascript). 

Share this post


Link to post

Im a paxcompiler user, but stoped using it because i was seel to apex and seems no fueryerh development. I think is one of best. will contact you because i would like to support bug fixing and updating. One thing i have expected is the use of custom attributes to classes.

 

about sqscript it is a god scrpting engine wich almost has all paxcompiler features, the only one is lacking is that it doesnt generate exes, dlls etc, but it has a 'filter' plugin system which can let you output the compiling restul to html, js code and can be applied to exe if some ones all of that.

Share this post


Link to post
16 hours ago, fduenas said:

Im a paxcompiler user, but stoped using it because i was seel to apex and seems no fueryerh development. I think is one of best. will contact you because i would like to support bug fixing and updating. One thing i have expected is the use of custom attributes to classes.

 

about sqscript it is a god scrpting engine wich almost has all paxcompiler features, the only one is lacking is that it doesnt generate exes, dlls etc, but it has a 'filter' plugin system which can let you output the compiling restul to html, js code and can be applied to exe if some ones all of that.

sqscript ??? where is it ?

Share this post


Link to post
11 hours ago, churbon said:

sqscript ??? where is it ?

One letter to the left of dwscript... twice. 😉

Share this post


Link to post
On 2/25/2019 at 9:32 AM, jottkaerr said:

One letter to the left of dwscript... twice. 😉

Yup, sorry I meant dwscript. 🙂

Share this post


Link to post

Hi

Have you managed to port the source to 10.3.

I bought the source for xe7

When i try to compile on 10.3 i get e2064.

I amended paxcompiler.def 

I don't want to change the sources as there for sure has to be some compiler switch.

Baranovski sold his business and new people sell new product.

Any advice would be greatly appreciated. 

Share this post


Link to post

I added the settings below to paxcompiler.def and I can build the paxtester app that came with the components on 10.3.3 (have only tested Win32 and Win64). However I get runtime errors on both. There are a few of us on a private MeWe group where we can share patches without violating the licence - email me on my gmail account (rlsdevine).

 

Cheers, Bob

 

{$ifdef Ver330}
  {$define VARIANTS}
  {$define UNIC}
  {$define DRTTI}
  {$define DPULSAR}
  {$define DX10_2}
  {$define GE_DXE2}
  {$define GE_DXE3}
  {$define GE_DXE4}
  {$define GE_DXE5}
  {$define GE_DXE6}
  {$define GE_DXE7}
  {$define GE_DXE8}
  {$define GE_DX10}
  {$define GE_DX10_1}
  {$define GE_DX10_2}
  {$define GE_DX10_3}
  {$IFDEF CPUX64}
    {$DEFINE PAX64}
  {$ENDIF}
{$endif}

Share this post


Link to post

Can I still download the latest (released) version of paxCompiler somewhere, we have a need to add scripting to our application? 

Edited by Keesver

Share this post


Link to post
On 2/11/2019 at 7:46 PM, Bob Devine said:

Thanks, but pax has some unique features that aren't available in the various Delphi scripting engines, including the ability to create Delphi-compatible interface-based DLLs (so you can create plug-ins from within your app) and cross-language programming (Object Pascal/Object Basic/Javascript). 

Look like Free Pascal has these features. Besides Basic support. Did you considered it?

 

Compiler development is very interesting area. I think you will find people if you decide to go that way.

Share this post


Link to post

@Keesver We have a private WeMe group and some more recent updates. Email me on gmail.com (name at the end of this post). The deal is that I confirm with Alexander that you're a registered user then you can get access.

 

Cheers, Bob (rlsdevine@)

Share this post


Link to post
15 hours ago, Bob Devine said:

@Keesver We have a private WeMe group and some more recent updates. Email me on gmail.com (name at the end of this post). The deal is that I confirm with Alexander that you're a registered user then you can get access. 

 

Cheers, Bob (rlsdevine@)

 

Thanks for your reply. Problem is that we are not a 'registered user' of paxCompiler.

We are investigating possibilities of adding scripting to our application and paxCompiler seems to have all the right specifications. Maybe someone is willing to sell their license to us?

I have contacted Apex but got no reply (yet).

Share this post


Link to post

Guys, have heard about htscripter from Delphihtlmcomponents?

 

We are using it as runtime interpreter and it is working very good and stable plus it registers classes with only few lines of code (rtti) and the most important thing is: it is still developed and optimized by the developer.

 

We have switched over from jvInterpreter! and it was a very good decision!

 

 

  • Like 1

Share this post


Link to post
2 hours ago, microtronx said:

htscripter

Does sound good. Would be nice if you could also create classes in script.

Share this post


Link to post

Instead of compiling scripts plugins inside your app (which is pretty exotic) why don't just use scripts? If you want plugins, you can build a DLL with script interpreter and embed script text there.

Alternatively, any compiler could be embedded into a binary as resource, then just extract it to TEMP and execute. I believe this won't violate GPL

 

12 hours ago, Bob Devine said:

As I've mentioned a few times, a nice feature of Pax is the Javascript implementation. Anyone interested in an alternative for embedding JS scripting into their app might find this useful:

 

https://bellard.org/quickjs/


Is it possible to embed this engine into Delphi app?

Edited by Fr0sT.Brutal
thoughts are faster than fingers...

Share this post


Link to post

@Fr0sT.Brutal Yes agreed my GPL objection isn't valid - in fact I'm already using the Nim compiler (MIT licence) to generate plugins from my app and it's run in a separate process. Scripting is no good for my applications though, primarily for performance reasons.

Share this post


Link to post
3 hours ago, Fr0sT.Brutal said:

Instead of compiling scripts inside your app (which is pretty exotic) why don't just use scripts?

Some sort of compilation to an intermediate representation must be there. Not to machine code but something much faster than parsing every time the source. Otherwise it will be very slow.

I use FastScript and there is a compilation before execution. Execution is dozens times faster than compilation.

Share this post


Link to post

@Bob Devine I believe minimal set of FPC would satisfy all your needs while being alive and supportable. There's even a minimalistic TurboPascal-like IDE (fp.exe) and one more minimalistic graphic IDE MSEide

 

13 minutes ago, Cristian Peța said:

Some sort of compilation to an intermediate representation must be there. Not to machine code but something much faster than parsing every time the source. Otherwise it will be very slow.

I use FastScript and there is a compilation before execution. Execution is dozens times faster than compilation.

Actually I was going to say "instead of compiling plugins". Of course nowadays almost all major script engines are JIT-ed to some bytecode, otherwise they won't be useful for any serious computations

 

Edited by Fr0sT.Brutal

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×