EDDI 0.2.1 : Integer operations and optimizations

I've introduced a new feature in EDDI. You can now make computations on integers and string concatenations.

So you can now write this kind of thing with EDDI :

int i = 4 + 2 * 2;
int j = i + 5 % 6 / 3 * 4;
Print(i + 2);
Print(j % i);

Adding computations has not been very difficult. The difficult thing has been to find a way to mange operators priorities. For now, I'm not really satisfied with the result, but it works. I will try to think of another way to make that in the future.

I've also introduced the first compile-time optimizations. When a computation is known to be constant a compile time, the computation is directly replaced with its result.

The next step will be to introduce branches and loops.

The sources are available on Github :

  • The compiler, eddic : https://github.com/wichtounet/eddic/
  • The virtual machine, eddivm : https://github.com/wichtounet/eddivm/
  • A commons library used by the two projects : https://github.com/wichtounet/eddi-commons/

If you want to see the exact version reffered to in this subject, you can select the tag v0.2.1

Related articles

  • EDDI 0.1.1 : Variables
  • EDDI 0.2 : Integers and variables
  • EDDI : A new programming language project
  • EDDI 0.3 - Branches and conditions if, else if, else
  • EDDI Compiler 1.1.3 - Templates
  • EDDI 0.4 : Native compilation and swap operator
  • Comments

    Comments powered by Disqus