Coder Social home page Coder Social logo

fimpp's Introduction

fimpp

FIM++ interpreter, released under GNU General Public License 3.

Inspired by this Equestria Daily post and this DeviantArt sample program and some comments below it.

FIM++ is imperative, dynamically-typed, interpreted language. Currently, it supports integer arithmetic, console output, dynamically growing arrays, and subroutines.

FIM++ can use Java classes, which opens it to the rich and wide JVM ecosystem. Also, it makes it possible to write a simple GUI program using Swing.

Running

In the bin directory, there are all necessary JARs and scripts to run this interpreter on any machine with Java installed. Know that the fimpp.jar in that directory might lag behind the actual interpreter sources, so you might want to compile the interpreter yourself.

Anyway, to run the interpreter with given FIM++ source file from your command line, assuming that the bin directory is in your PATH environment variable:

$ fimpp <FIM++ script file> 

Compilation

You will need Scala compiler from Scala's website and JDK.

The easiest way is to use the provided makefile:

$ make

And that's all! A freshly compiled JAR lands in your bin directory!

If you want to compile it manually (e.g. no make on your system), follow these steps:

$ mkdir target
$ scalac -d target src/stasiak/karol/fimpp/*
$ cd target
$ jar cfe ../bin/fimpp.jar stasiak.karol.fimpp.Main stasiak

(By the way, the steps above should also work on Windows.)

Examples

See examples directory

FIM++ Syntax

See syntax directory.

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.