Unknown6656 / AutoIt-Interpreter-old

[Archive] A C# AutoIt Compiler designed to be platform-independent

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Banner image


THIS PROJECT IS ARCHIVED

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

Preamble

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...

The AutoIt++ Interpreter Interpiler

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, win10
  • centos, fedora, gentoo, opensuse
  • debian, ubuntu, linuxmint
  • osx
  • android coming 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.

Links

Credits

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!!

Maintainer(s)


An historic image:
Exception Screenshot

A not-so-historic image:
Exception Screenshot

Don't change the code of anonymous, dynamic types during runtime debugging:
Exception Screenshot

About

[Archive] A C# AutoIt Compiler designed to be platform-independent

License:GNU Affero General Public License v3.0


Languages

Language:C# 98.1%Language:F# 1.7%Language:AutoIt 0.2%Language:Shell 0.0%Language:Batchfile 0.0%