Coder Social home page Coder Social logo

tobias-wilfert / mindstorms-compiler Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 5.79 MB

A compiler for Lego Mindstorms Robot Inventor Scratch-like language to Python.

License: MIT License

Python 99.87% Shell 0.13%
lego lego-mindstorms lego-mindstorms-robot python robot-inventor scratch

mindstorms-compiler's Introduction

Hi there ๐Ÿ‘‹

$B \gt \frac{1}{N} \displaystyle\sum_{i=1} ^{N} x_i $

mindstorms-compiler's People

Contributors

tobias-wilfert avatar

Stargazers

 avatar  avatar

Watchers

 avatar

mindstorms-compiler's Issues

Add support for ports also being value nodes.

  • Update the tests for all previous blocks.
  • Add new tests for the previous blocks.
  • Update the code so that this scenario can be handled.
  • Test how this is handled by the program itself.

Add code generation for the the currently supported Blocks.

Get the functionality in place to generate code, for all the currently supported blocks.

  • Will need to be tested.
  • Will need to be designed in a way to support multiple 'Block Stacks' down the road.
  • Also need to find a way to deal with which stack to generate first and how to deal with variables and motor stacks.
  • Will also need some testing to find out how certain edge cases are handled.

Add Support for the Variables and List blocks

This is necessary in order to retrospectively fix the port selection and be able to test it.
This is because both a string and a list of strings can be used as input for the Port field.
Note: Numbers technically also work but have no effect, so throw an error when that is detected to let the user know, something went wrong.

Update the README

  • Include a full output
  • Explain the flags
  • Add a list of currently supported blocks (end-to-end)

Add flags to the program.

Now that there is some functionality it makes sense to add flags to the program:

  • A flag to indicate wether the AST representation should be outputted
  • A flag to decide where the AST should be outputted (file or printed out)
  • A flag to decide whether the generated code should be printed or outputted to a file
  • A flag to decide if safe or readable code should be generated.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.