This repository has been archived by the owner. It is now read-only.
Aer Interpreter Source
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
LICENSE
README.md

README.md

Project hosted at CodingWorkshop

This repository will NOT be updated. Check CodingWorkshop GIT for up-to-date version.

Aer Interpreter

Aer (/ɛə/ from Latin: aer, meaning air) is a lightweight, OpenSource, general-purpose, object-oriented scripting programming language suited also for web development as well as embedded environments. It implements a highly-efficient bytecode compiler and a virtual machine. The term Aer is used interchangeably with AerScript. Its syntax draws upon C#, Java and PHP.

Aer is the ideal language interpreter for writing enhanced web applications like blog, CMS, search engine, etc. or embedded solutions with dynamic web interfaces like routers, set-top-boxes, or smart home solutions. Aer Interpreter is based on PH7 Engine and thus it is 100% hand-coded, written in pure C software, that compiles unmodified and runs on any platform including restricted embedded device with a C compiler.

Syntax

The core syntax of Aer language is similar to that of other C-style languages such as C++, C#, Java or PHP. In particular:

  • Semicolons are used to denote the end of a statement.
  • Curly brackets are used to group statements. Statements are commonly grouped into methods (functions), methods into classes, and classes into namespaces.
  • Variables are assigned using an equals sign, but compared using two consecutive equals signs.
  • Square brackets are used with arrays, both to declare them and to get a value at a given index in one of them.

Full Aer Specification can be found on the Wiki Pages.

AerScript - Modern PHP

Despite, that Aer syntax draws among others upon PHP, it is not fully compatible with it. Aer is a modern, pure Object-Oriented Language. The distinctive features and powerful extensions to the PHP programming language are:

  • Strict, full OOP,
  • Method overloading,
  • Strict, full type hinting,
  • Introducing comma expressions,
  • Improved operator precedences,
  • 64-bit integer arithmetic for all platforms,
  • Smart exception mechanism,
  • Native UTF-8 support,
  • Built-in standard library and extensions support,
  • Garbage Collected via Advanced Reference Counting,
  • Correct and consistent implementation of the ternary operator,
  • Consistent Boolean evaluation,
  • Introducing the $_HEADER superglobal array which holds all HTTP MIME headers.

64-Bit Integer Arithmetic For All Platforms

Unless most scripting and programming languages, Aer have standardized the size of an integer and is always stored in 8 bytes regardless of the host environment. Because there is no cross-platform way to specify 64-bit integer types Aer includes typedefs for 64-bit signed integers. Thanks to that, integers can store values between -9223372036854775808 and +9223372036854775807 inclusive, both on 32-bit and on 64-bit host OS.

Licensing

Aer and the PH7 Engine are OpenSource projects. That is, the complete source code of the engine, interpreter, language specification, the official documentation and related utilities are available to download. Aer is licensed under the GNU General Public License v3.0 with a permission of Symisc Systems to redistrubute PH7 Engine under the GPLv3.