Skip to main content

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
        print "2 === 2"
    else
        print "else"
    

coming soon

  • function:

    def add(a, b)
        add result a b
        return result
    
    x = 0
    x = add(x, 2)
    

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

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

MindustryCompiler-1.2-py3-none-any.whl (29.3 kB view details)

Uploaded Python 3

File details

Details for the file MindustryCompiler-1.2-py3-none-any.whl.

File metadata

  • Download URL: MindustryCompiler-1.2-py3-none-any.whl
  • Upload date:
  • Size: 29.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/51.1.2 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.2

File hashes

Hashes for MindustryCompiler-1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 97afd810f225b73d2bf670ee100b06e02d16bb05c63b4095c05f4c428d17e99a
MD5 a764236bd278be88adba0aa52f2862d6
BLAKE2b-256 7868156ab333325fdd5fd1adba8734691b872f97ada4cb7db4a1c8778c89fb57

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page