Jump to content

CompileIt - an experimental AutoIt-to-machine code compiler 0.0.1

   (1 review)

scintilla4evr

2 Screenshots

About This File

This is an experimental AutoIt-to-machine code compiler, written in AutoIt, JavaScript and C.

Make sure you have GCC installed and configured within CompileIt before using.

  • Like 2



User Feedback

You may only provide a review once you have downloaded the file.


Skysnake

  

I have access to the Code::Blocks GCC compiler.

In order to get this to work, I did the following:

  • Create a local folder with all the includes required, the supplied .au3 sample files for the project, as well as the supplied includes;
  • Create a new project (.cbp) and added all these files (select *);
  • Hit Build!

The output file should be created as expected.  :) 

 

The challenge here is not compiling AutoIt to machine code, but in developing the compiler friendly parts of AutoIt at a pace that matches user needs.  By proving that AutoIt can be compiled like this, even if it first has to be transliterated into a lower level language, such as C in this case, the door is open for full function compiled AutoIt executables - in machine code.

This also places AutoIt in a position where it can produce compiled scripts, much the same way Lua does.

At this time the achievement is getting the idea to work in practice.  Even baby steps will change the way AutoIt can be used in the future.

Watch this space. :)

Skysnake

Share this review


Link to review
  • Similar Content

    • Dreamfire
      By Dreamfire
      Hi,
      Since today, exe's are being flagged as having a trojan by Windows Defender (Fuery.B!cl)
      Version:  3.3.14.3 - SciTE Version 3.7.3



       

    • Earthshine
      By Earthshine
      So, I made this console app--using TreeWalkers of course to walk the UI Tree-- that starts at the root and looks for enabled, active controls--and in piping that to a file, I got this (edited, lots of controls in that list), above. LOL, so, those commands that are stored in memory are control elements! Sweet. this UIAutomation stuff is awesome. @junkew got me into this, blame his IUIAutomation kit. So there is this OLD vb OCX that is super ornery, but his kit can manipulate it, even if it is just SendKeys, So I must build a C# wrapper of my own... LOL this stuff is so cool. I have tried TestStack.White and MANY other wrappers, they seriously suck, no support either.
      I used canned Microsoft example code too for the most part. This is an extreme for me though, our modern stuff I can test easily enough, but I want my own kit to use to discover and poke around with. I like to use the IUIAutomation tool as a sanity check too, it's very useful.
       
    • scintilla4evr
      By scintilla4evr
      Okay, this is exciting.
      I'm proud to introduce CompileIt - an experimental compiler, that allows to compile AutoIt to machine code.
      ...Kind of. CompileIt does compilation in a similar way the Glasgow Haskell compiler does: translates the code into a lower-level language (in CompileIt's case it's C), and then compiles the code in that language.
      Now, this project is still in its infancy, since, although it is simple to use, AutoIt is incredibly complex on the inside (automation, COM, etc.). So, CompileIt can compile only a very small subset of what we know as AutoIt.
      Here's a list of things CompileIt (partially) supports (or not):
      Numbers, booleans, strings Some built-in functions If, For and While statements Exporting DLL functions (you can now write DLL's in AutoIt, guys!) No arrays, automation, GUI or COM. A more detailed list is included with CompileIt.
      CompileIt is written in AutoIt (the compiler interface), JavaScript (parser, executed with ChakraCore), and of course C.
      GCC is required to compile scripts. After you extract the files, run CompileIt.exe and configure it to work with GCC.
×