Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/macournoyer/tinyrb
A tiny subset of Ruby with a Lua'esc VM
https://github.com/macournoyer/tinyrb
bytecode compiler language parser vm
Last synced: 2 days ago
JSON representation
A tiny subset of Ruby with a Lua'esc VM
- Host: GitHub
- URL: https://github.com/macournoyer/tinyrb
- Owner: macournoyer
- Created: 2008-07-31T04:00:38.000Z (over 16 years ago)
- Default Branch: master
- Last Pushed: 2018-01-31T21:16:23.000Z (almost 7 years ago)
- Last Synced: 2024-12-07T11:42:40.131Z (7 days ago)
- Topics: bytecode, compiler, language, parser, vm
- Language: C
- Homepage: http://code.macournoyer.com/tinyrb/
- Size: 4.14 MB
- Stars: 467
- Watchers: 20
- Forks: 42
- Open Issues: 8
-
Metadata Files:
- Readme: README.rdoc
Awesome Lists containing this project
- montreal - macournoyer/tinyrb - A tiny subset of Ruby with a Lua'esc VM. [Website](https://github.com/macournoyer/tinyrb). (Projects)
- AwesomeCompiler - tinyrb
README
= tinyrb
A tiny subset of Ruby with a Lua'esc VM.
Everything in TinyRb should run in the big Ruby.
(except bugs and things that don't comply to the principle of least surprise.)
But not everything in the big Ruby should run in tinyrb.This is a work in progress and not usable for "real things" yet.
See TODO for a couple of those things that need to be done.http://github.com/macournoyer/tinyrb
#tinyrb on freenode== Install
make
make test # optional
./tinyrb -h== What WON'T be in tinyrb (tiny patches accepted)
* for
* redo, retry
* if ... do, while ... do, etc
* alias keyword (see alias_method)
* undef keyword (see undefine_method)
* throw, catch
* Alternate string delimiters (%q, %Q, etc.)
* heredoc strings
* Parallel assignment (a, b = 1, 2)
* :: as . (Class::new)
* Character code literal (?c)
* protected, private, public (yes everything is public, mind you)
* ObjectSpace
* $SAFE (but Sandbox mode at the VM level)
* ... others to come for sure.== Credits
Inspired by:
* lua, http://www.lua.org
* tinypy, http://tinypy.org
* potion, http://github.com/why/potionkvec.h and khash.h (c) 2008, by Attractive Chaos
GC Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
PCRE Copyright (c) 1997-2008 University of Cambridge released under BSD licensetinyrb is Copyright (c) Marc-Andre Cournoyer and
released under Ruby license