Skip to content

mepl-2.0.0

Latest

Choose a tag to compare

@renatex333 renatex333 released this 23 Oct 21:13
· 1 commit to main since this release

Full Changelog: v1.0.1...v2.0.0

This release introduces a new LLVM backend for the MEPL compiler, reorganizes documentation to clarify backend options, and adds supporting files and examples. The changes focus on providing a modern, high-performance compiler alternative to the legacy Python backend, along with clear instructions and a demo script for comparing both backends.

LLVM Backend Implementation

  • Added the initial LLVM backend AST module, including elegant_ast.h and elegant_ast.c, which define and implement core data structures and functions for AST nodes, symbol tables, and code generation context, with robust error handling and memory management.

Documentation and Instructions

  • Updated README.md to explain the availability of both LLVM and Python backends, provide step-by-step compilation instructions for each, list dependencies, and clarify rebuild procedures for both compilers.
  • Added a detailed README for the AST module in the LLVM backend, describing its design, usage, error handling, and extensibility.

Demo and Examples

  • Added compare_backends.sh, a demo script that checks dependencies, builds, compiles, and runs a test MEPL program using both backends, reporting output, compilation time, and executable size for comparison.
  • Added a new example MEPL program, simple_and_elegant.mepl, to serve as a test case for backend comparison and demonstrations.

Minor Documentation Updates

  • Refined the project description and formatting in README.md for clarity and consistency.