From af6b75680bc20163bab5ded3097084b6bd991767 Mon Sep 17 00:00:00 2001 From: cardillan <122014763+cardillan@users.noreply.github.com> Date: Tue, 10 Sep 2024 23:23:33 +0200 Subject: [PATCH] Release 2024-09-10 --- CHANGELOG.markdown | 17 +++++++++++- README.markdown | 27 ++++++++++++++----- .../src/main/resources/templates/common.ftlh | 2 +- 3 files changed, 37 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.markdown b/CHANGELOG.markdown index d3ff89efd..22259ad34 100644 --- a/CHANGELOG.markdown +++ b/CHANGELOG.markdown @@ -2,12 +2,27 @@ All notable changes to this project will be documented in this file. -## Unreleased +## 2024-09-10 + +### Fixed + +* Fixed wrong expression handling in loops by Data Flow Optimizer + ([issue #131](https://github.com/cardillan/mindcode/issues/131)). +* Fixed Data Flow Optimizer not removing some superfluous variables when using `case` expressions + ([issue #133](https://github.com/cardillan/mindcode/issues/133)). +* Fixed Data Flow Optimizer incorrectly applying common subexpression optimization in some cases + ([issue #133](https://github.com/cardillan/mindcode/issues/133)). ### Added * Added support for specifying processor code (both Mindcode and mlog) as a concatenation of multiple code snippets from various sources (string literal, string constant or external file). +* Added new Mandelbrot Generator schematics example. + +### Miscellaneous + +* Starting from this release, releases will be [published in GitHub](https://github.com/cardillan/mindcode/releases) + including the Mindcode compiler provided as a `.jar` (binary) file. ## 2024-03-12 diff --git a/README.markdown b/README.markdown index fb4651d60..e74a377c1 100644 --- a/README.markdown +++ b/README.markdown @@ -13,10 +13,6 @@ Mindcode focuses of the following priorities: and limited instruction space of Mindustry processors. * Employing various [optimizations](doc/syntax/SYNTAX-6-OPTIMIZATIONS.markdown) to produce efficient code. -> [!NOTE] -> Please have a look at a poll about introducing compulsory semicolons to the Mindcode syntax -> [here](https://github.com/cardillan/mindcode/discussions/120). - **Schemacode** is a specialized definition language designed for creating a complete Mindustry schematic as a text file. [Schematics builder](doc/syntax/SCHEMACODE.markdown) can be used to turn these definition files directly into Mindustry schematics, either as a binary `.msch` file, or as a text. Processors can be included in these schematics, @@ -39,9 +35,26 @@ then press the **Compile** button. The _Mindustry Logic_ text area will contain Copy the compiled version. Back in Mindustry, edit your processor, then use the **Edit** button in the Logic UI. Select **Import from Clipboard**. Mindustry is now ready to execute your code. -It is also possible to build Mindcode locally (see the [Development](#development) section), and use the -[command line tool](doc/syntax/TOOLS-CMDLINE.markdown) to compile your files, even copying the compiled code into -the clipboard automatically if desired. +It is also possible use the [command line tool](doc/syntax/TOOLS-CMDLINE.markdown) to compile your files, even copying +the compiled code into the clipboard automatically if desired. The command line compiler can be set up in the +following way: + +1. Download and install [Eclipse Temurin version 17](https://adoptium.net/temurin/releases/?version=17). +2. Download `mindcode.jar` from the [releases page](https://github.com/cardillan/mindcode/releases) and place it in + a directory on your computer. +3. To run the command line compiler, use `java.exe --enable-preview -jar mindcode.jar `. Provide full + paths to the `java.exe` file from the Eclipse Temurin installation created in the first step, and to the + `mindcode.jar` file downloaded in the second step. `` are the command line arguments passed to the + mindcode compiler. + +For example, the following command compiles `program.mnd` into `program.mlog` and copies the resulting mlog code +into the clipboard: + +``` +java.exe --enable-preview -jar mindcode.jar cm program.mnd program.mlog -c +``` + +Documentation for the command line tool is available [here](doc/syntax/TOOLS-CMDLINE.markdown). ### Mindcode Syntax diff --git a/webapp/src/main/resources/templates/common.ftlh b/webapp/src/main/resources/templates/common.ftlh index c02166275..f416016e6 100644 --- a/webapp/src/main/resources/templates/common.ftlh +++ b/webapp/src/main/resources/templates/common.ftlh @@ -42,7 +42,7 @@ <#macro footer>