FIM++ interpreter
Scala TeX Other
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.idea
bin
examples
grammar
src/stasiak/karol/fimpp
syntax
test
.gitignore
Fimpp.iml
LICENSE Fresh binaries. Makefile. Licence. Oct 7, 2012
Makefile
README.md

README.md

fimpp

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

The project is no longer maintained. For a more recent version, see this fork: https://github.com/avian2/fimpp

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.