Caution
This repository is now archived. It is an old copy of the codebase over at https://github.com/Unknown6656/AutoIt-Interpreter.
Comparison between the old repo (this one) and the new one (https://github.com/Unknown6656/AutoIt-Interpreter):
| Category | new AutoIt3 Interpreter | old AutoIt++ Interpiler |
|---|---|---|
| Supported Language | Strict AutoIt 3 with extension support |
AutoIt 3 AutoIt++ |
| Works as an ... | Interpreter | Interpiler/Transpiler: 60% compiler, 30% interpreter, 10% magic |
| Written in | C#, F# | C#, F# |
| Target Framework | .NET 8 and newer | .NET Core 2.1 |
| Works on Windows | Yes | Yup |
| Works on Linux | Yes | Kinda |
| Works on MacOs | Yes | Kinda |
| Status | In development | Discontinued, Beta-ish |
One should call this project "AutoIt++ Interpiler", as it is an interpreter from a C#'s point of view - but works more like a compiler when viewing it from AutoIt's side....
It kind of interprets everything and transforms it into C# code, which then gets compiled. My component is therefore an interpreter - but the whole project is technically a compiler.
So we call it an Interpiler for now...
This project is an Interpiler written to target a custom flavour of the AutoIt3 scripting language called "AutoIt++" (even though it has nothing to do with C++).
The most important aspect of this project is the fact, that the Interpiler is not only platform-independent, but can also cross-platform and cross-architecture target applications.
The Interpiler can currently target the following systems (can be specified via the flag -t):
win7,win8,win81,win10centos,fedora,gentoo,opensusedebian,ubuntu,linuxmintosxandroidcoming soon- and much more...
The following architectures are currently supported:
x86,x64(The 32Bit- and 64Bit-compatible systems from Intel or AMD)arm,arm64(ARM's equivalent)
For more information about the usage of the Interpiler, refer to the usage page.
- Usage page
- AutoIt++ Language reference
- AutoIt++ Syntax reference
- AutoIt++ Runtime behaviour
- AutoIt++ Syntax tree reference
- Official AutoIt3 documentation
- The TODO list
This AutoIt++-Interpiler is written in C# and F# targeting the .NET-Core Framework in order to provide full platform independency.
A big shoutout to the Roslyn Dev Team and the .NET Core Dev Team for making such an awesome framework possible!
It uses a modified version of the Piglet-Library written by @Dervall in order to improve expression parsing. All credits go to him for the wonderful LR-Parser-Library!!
- @Unknown6656
- (@Zedly / @wickersoft in assistive and advisory function)
Don't change the code of anonymous, dynamic types during runtime debugging:



