language that compile to Mindusty ASM, jump instruction can use references instead of line number, and more ...
Project description
MindustryCompiler
a langage that compile to mindustry asm code,
What's mindustry asm ? Here is a nice starting guide with in game screenshots: How To Use Procesors in 6.0
The language created here is a superset of what I call mindustry asm code named Mindustry Logic by it's creator
features
-
all mindustry asm code are valide as it
-
jump to a reference:
... jump bottom always true true <--- jump to #ref bottom ... #ref bottom <--- set ref anywhere ...
-
comments:
// this is a comment #ref loop // another comment after some blank lines
-
improve jump conition:
jump loop // <--- jump loop always true true jump inf 2 < 4 // <--- jump inf lowerThan 2 4 // ==, ===, !=, >, >=, <, <=, ---> equal, notEqual, greaterThan, ...
You could check files here to see the difference from the same programme that compile to the same mindustry asm
-
if else, else if condition:
if 2 < 4 print "2 < 4" else if 2 == 1 print "2 == 1" elif 2 === 2 // "elif" is equivalent to "else if" print "2 === 2" else print "else"
-
function:
add(a, b) add result a b return result x = 0 x = add(x, 2)
-
module:
import time time.wait(2) // wait 2 secondes
-
static for loop:
import msg set message message1 for x, y in [(1, 2), (4, 3)] if x > y print "x : " print x print " higher than: " msg.printAndWait(y, message)
-
look files here for some code exemple that I use
coming soon
-
afectation
a = 1
and simple operation +, -, /, *, ... -
operation += -=
-
improve if, if var, if not var, and / or
-
fill empty args of ASM lines (
ucontrol itemDrop store 800 0 0 0
->ucontrol itemDrop store 800
)
current usage
-
compile a file :
mindc fileName
exemple, in this folder:
mindc tests/identicalCode/4-improveJump.code
-
get the result in clipboard to just past it in mindustry :
mindc tests/identicalCode/4-improveJump.code --ctrlC
-
run interactive to play with it :
mindc --interactive
Installation
you need python to run this software
-
check that you have it
type in your shell/terminal :
python3 --version
must give you something like:
Python 3._._
-
if you don't have it, install it :
you could dowload python from here
install mindustry compiler
python3 -m pip install MindustryCompiler
run it
mindc
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file MindustryCompiler-2.0-py3-none-any.whl
.
File metadata
- Download URL: MindustryCompiler-2.0-py3-none-any.whl
- Upload date:
- Size: 75.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf495eb2ef4236a312452f9c494a2c9c3172ba4c675ef1d89272dcafd7c19e7d |
|
MD5 | 4408787372d7dfbbd0105bb616032438 |
|
BLAKE2b-256 | e928aec54d8ab2edd598fa995d88f9bab1bf9a3469f774d65a964c532ef6a34d |