Skip to content

Releases: ArgosOfIthica/scalu

Release v1.2.0

02 Sep 18:28
Compare
Choose a tag to compare

Compiler will optimize much more aggressively using a variety of metrics. Dramatically reduced script sizes.
Add XOR operator
Add the elif condition statement
Make project pip friendly (getchoo)
Add macro system. Use --enablemacros to enable. Experimental.
Add "standard library" of mathematical functions written in scalu. Can be enabled with macros. Experimental. (tmob03)

Release v1.1.1

04 Feb 04:45
Compare
Choose a tag to compare
  • Adds important patch related to bug in jump generation

Release v1.1.0

30 Jan 05:06
87e3571
Compare
Choose a tag to compare

This release features the following major changes to scalu:

  • Improved temporary variable allocation strategy applied to sandboxes. A less greedy strategy is used for allocating temporary variables used in expressions.

  • Reduced compute cost of instructions targeting constant values. This was done at the instruction generation level by having instructions construct themselves based on what type of value they work on.

  • Added peephole deduplication for cfg output. A deduplication algorithm is run on the cfg output to deduplicate aliases with identical tails.

  • Add dot notation. Sandboxes can now read the state of variables in other sandboxes; my_sandbox.my_variable

  • Add bitshift operators. Constant bitshifts can be computed between two values. a = b >> c

  • Remove mebibyte limitation. In cases where the output file will exceed the Source engine's mebibyte limit, the compiler will employ a chaining strategy to split the output across multiple files.

-Add several examples, including files used in creation of scalu hangman game.

NOTE: The optimizations included in this release, combined, approximately halved the code size and doubled the speed of test workloads from last release.

Initial Release

03 Sep 23:12
dbfe2cf
Compare
Choose a tag to compare

This is the initial release of scalu. This release features the core language and compiler.

(Deprecated) Scalu "Cycle" Framework

10 Oct 16:50
Compare
Choose a tag to compare
Pre-release

This is the latest version of the Scalu backend that was being worked on before the "flat" backend format was discovered. "flat" is around 10 times as fast as "cycle", so this format is considered deprecated. This format has some archival benefit, as the opcode algorithms are implemented in a human readable form. This is NOT an official release of Scalu.