Project

mvinl

0.0
The project is in a healthy, maintained state
A simple configuration language made with RACC
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

~> 0.6.2
 Project Readme

MVinl

A mini stack configuration language.

Mini Vinl is not Lisp

Install

MVinl is packaged as gem. To install it from RubyGems.org go

gem install mvinl

or build and install it from this repo if you have it downloaded

rake build
rake install

Usage

Use MVinl.eval or MVinl.eval_from_file to evaluate mvinl code.

imvnl is an interactive shell for mvinl. It's not really how the language suppose to be used but it's useful for quckly testing expressions.

Vinl execution returns a hash similar to YAML or JSON. The point is to create a configuration structure to initiate objects in an application, like a game engine.

The main elements that construct the resulting structure are groups and properties. Groups typically sort objects into data categories, such as states. Properties can be thought of as object constructors.

Example:

def (center x (/ x 2))

@start
  SplashScreen 'path/to/image'.

@second
  Buttom (center 1920)
         (center 1080)
         "Hello, MVinl!"
         font_size: 21     # END_TAG is optional

Contribute

I happily accept suggestions and changes. Please leave bug rapports here.

License

MVinl is a free software distributed under MIT license. Read LICENSE file for legal notice.