ELENA is a dynamic object-oriented programming language. It features message dispatching, mixins and a script engine
Branch: master
Clone or download
Latest commit be0ac1b Feb 6, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE Update bug_report.md Oct 17, 2018
asm working on mta console support Feb 3, 2019
bin working on gui target platform Feb 4, 2019
dat supporting jagged arrays Jan 29, 2019
doc some house keeping Feb 6, 2019
elenasrc2 working on GUI platform Feb 5, 2019
examples working on GUI platform Feb 5, 2019
install fixing release / setup files Jan 11, 2019
src33 fixing operation with boxing operator May 8, 2018
src34 fixing an issue with typecasting primitive arrays Jan 3, 2019
src40 working on GUI platform Feb 5, 2019
tests working on mta console support Feb 3, 2019
.gitignore migrating net library Dec 18, 2017
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md Jun 15, 2017
CONTRIBUTING.md Update CONTRIBUTING.md Oct 16, 2017
LICENSE Create LICENSE Jan 10, 2017
PULL_REQUEST_TEMPLATE.md Create PULL_REQUEST_TEMPLATE.md Oct 17, 2018
README.md Update README.md Jan 31, 2019
appveyor.yml updating appveyor image Aug 19, 2017
elena.workspace migrating elc to linux Dec 4, 2016
rebuild_examples.bat (re)implementing replace sample Jan 27, 2019
rebuild_examples.script fixing Linux build Jan 30, 2017
rebuild_lib.bat working on gui target platform Feb 4, 2019
rebuild_lib.script bug fix : the result of external operation should be boxed locally Jan 23, 2017
recompile.bat migrating script engine, small fixes Nov 3, 2016
recompile.script preparing new release Dec 10, 2016
recompile15.bat housekeeping : moving projects to 14.1 toolset Aug 19, 2017
vs_release.bat updating release routine Sep 8, 2017
vs_release15.bat fixing release / setup files Jan 11, 2019
whatsnew.txt (re)implementing an event handler, fixing a template generation routines Feb 5, 2019
whatsnew_old.txt some house keeping Feb 1, 2019

README.md

Windows : Build status Join the chat at https://gitter.im/ELENA-LANG/elena-lang

ELENA Programming Language

ELENA is a general-purpose, object-oriented language with late binding. It features message dispatching, mixins and a script engine. This is the GitHub repository of ELENA source code including compiler, IDE, ELENA libraries and samples.

Resources

Currently Supported Platforms

  • Linux (v. 2.1)
  • Windows (v. 4.0)

For time being only x86 (32-bit) architecture is supported. Work on x86/64 (64-bit) goes on.

Source Download and Compilation

To acquire the source code clone the git repository:

git clone git://github.com//ELENA-LANG/elena-lang.git

Windows:

The compiler code is implemented in C++ and does not require external dependencies. You just need Visual Studio 2015 or 2017.

You have to add a path to BIN folder to the system environment PATH or copy elenavm.dll and elenart.dll to Windows\System32 folder.

To build the compiler under VS2015 you have to go to the root folder and type:

recompile.bat

If you use VS2017 type the following:

recompile15.bat

To build the ELENA libraries type the following command:

rebuild_lib.bat

Contribute!

ELENA Project looks for programmers interested in learning the language and providing feedback.

1. Bugs, questions, suggestions?

If you've noticed a bug or have a question go ahead and make one!

Join design discussions or take part in general talks.

2. Implement "up for grab" issues

Good first issue is good starting point for a first-time contributors.

3. Rosetta code

You may try to implement some of Rosetta code tasks which are not yet implemented

Source Code Organization

Windows:

The ELENA source code is organized as follows:

bin                 binaries and shared libraries
bin\scripts         scripts used by the script engine and VM console
bin\templates       ELENA project templates
asm                 source for core routines implemented in assembly
dat\sg              language grammar file            
dat\og              language optimization rules
doc                 some documentations
elenasrc2\elc       source for the compiler
elenasrc2\elenart   source for the run-time shared library
elenasrc2\elenasm   source for the script engine
elenasrc2\elenavm   source for the virtual machine
elenasrc2\gui       source for IDE
elenasrc2\tools     source for ELENA utilities
examples            ELENA examples
src40               source for ELENA libraries

License

The compiler and executables distributed in this package fall under MIT License, for more information read the file LICENSE.

Questions?

Feel free to ask any question : elenaprolang@gmail.com.