C Other
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
test Working version! Oct 7, 2017
.gitignore Working version! Oct 7, 2017
LICENSE Cleaned up unnecessary files, added LICENSE and README. Oct 8, 2017
Makefile Minified building steps and re-generated parser Dec 3, 2017
README.md Minified building steps and re-generated parser Dec 3, 2017
TODO This is the initial commit of the rb6lib folder that was saved in a b… Oct 5, 2017
_std.c Working version! Oct 7, 2017
comptime.c Removed/replaced several unnecessary defines. Oct 9, 2017
errors.xml This is the initial commit of the rb6lib folder that was saved in a b… Oct 5, 2017
getcharat.c Working version! Oct 7, 2017
getlen.c Working version! Oct 7, 2017
getpos.c Working version! Oct 7, 2017
gettok.c Removed/replaced several unnecessary defines. Oct 9, 2017
main.c Replaced rb_read_file() by pfiletostr() Oct 9, 2017
nativetest.c Removed/replaced several unnecessary defines. Oct 9, 2017
pproto Working version! Oct 7, 2017
rb6.par Removed/replaced several unnecessary defines. Oct 9, 2017
rb_comp.codegen.c Removed/replaced several unnecessary defines. Oct 9, 2017
rb_comp.error.c Working version! Oct 7, 2017
rb_comp.h Replaced uint by unsigned int and some code style fixes. Oct 9, 2017
rb_comp.main.c Removed/replaced several unnecessary defines. Oct 9, 2017
rb_comp.native.c Removed/replaced several unnecessary defines. Oct 9, 2017
rb_comp.opt.c Removed/replaced several unnecessary defines. Oct 9, 2017
rb_comp.parser.c Minified building steps and re-generated parser Dec 3, 2017
rb_comp.parser.h Removed C.tlt patch Nov 7, 2017
rb_comp.symtab.c Replace boolean by pboolean. Oct 9, 2017
rb_comp.util.c Removed/replaced several unnecessary defines. Oct 9, 2017
rb_global.h Removed/replaced several unnecessary defines. Oct 9, 2017
rb_native.h Imported previously rb6 standard functions stub. Oct 6, 2017
rb_proto.h Replace boolean by pboolean. Oct 9, 2017
rb_string.c Replace boolean by pboolean. Oct 9, 2017
rb_util.c Replaced rb_memdup() by pmemdup(). Oct 9, 2017
rb_val.h Replaced uint by unsigned int and some code style fixes. Oct 9, 2017
rb_var.h Removed unnecessary code. Oct 10, 2017
rb_vm.dbg.c Working version! Oct 7, 2017
rb_vm.error.c Working version! Oct 7, 2017
rb_vm.h Working version! Oct 7, 2017
rb_vm.run.c Removed/replaced several unnecessary defines. Oct 9, 2017
rb_vm.util.c Removed/replaced several unnecessary defines. Oct 9, 2017
rb_vm.val.c Replace boolean by pboolean. Oct 9, 2017
rb_vm.var.c Removed/replaced several unnecessary defines. Oct 9, 2017
rb_vm.var.stack.c Removed/replaced several unnecessary defines. Oct 9, 2017
rb_vm.var.tool.c Removed/replaced several unnecessary defines. Oct 9, 2017
replacevar.c Removed/replaced several unnecessary defines. Oct 9, 2017
string.c Working version! Oct 7, 2017
trimvar.c Removed/replaced several unnecessary defines. Oct 9, 2017
xml.c Working version! Oct 7, 2017
xml.h Intermediate version, well compiling with UniCC 1.1 so far, but still… Oct 5, 2017

README.md

RapidBATCH

(Former) programming language, compiler and platform.

About

In the past, RapidBATCH was a scripting language targetting to Windows systems. In 2008, the successor version 6 of the great running version 5.1 of RapidBATCH was started, but never got to an end. There are several reasons why this, unfortunatelly, happened. (If you are really interested, more about the reasons why can be found here, written in german).

Anyway, this is the repository of the available and original RapidBATCH 6 source code in a state as it was in end of 2009. After that, nothing more happened.

The current 2017 state of the source code has been merged from various project states and ported to be compiled with the latest version of libphorward and UniCC, which are both dependencies. So it slightly works for now and (maybe) is a point to start.

Starting RapidBATCH, both the language and its vision behind, as an open source project, is both considered as a way to grow ideas and to maybe start a worthy successor of the last officially released version.

Building

This repository currently has only one simple Makefile that runs best when libphorward and UniCC are installed. You have to manually patch C.tlt from patch/ in UniCC to get it to run.

On Linux with gcc or clang, this will work:

# setup a project dir
mkdir dev
cd dev

# libphorward
git clone https://github.com/phorward/phorward.git
cd phorward
make -f Makefile.gnu
cd ..

# unicc
git clone https://github.com/phorward/unicc.git
cd unicc
make -f Makefile.gnu
cd ..

# rapidbatch
git clone https://github.com/phorward/rapidbatch.git
cd rapidbatch
make

# Run test file
./rb6 test/test1.rb

Examples

Example programs are in test/. Some of the programs there run, some are freezing, so there is still much work to do.

Contributions

Contributions, ideas, concepts and code is always welcome!

Well, this source code base currently is not a good point to start from. It is the 2017 ported, slightly running state of a project that stopped in 2009. There are many parts in these sources that are already reflected in the current libphorward toolchain and are obsolete here, but have to be rewritten. This can be a good place to start from. These are array processing functions, linked lists, hash tables (the symbol table, for example!) and many of the string and regex processing function.

But anyway, its better to have it saved here GitHub and released to the public, instead of forgetting it on an encrypted, old device where somebody in some time will forget the last password to access it.

Ideas will grow, maybe new ways will start. The playground is open!

Credits

RapidBATCH is developed and maintained by Jan Max Meyer, Phorward Software Technologies.

Some other projects by the author are:

  • libphorward, a free toolkit for parser development, lexical analysis, regular expressions and more.
  • UniCC, a universal, target-language independent LALR(1) parser generator.
  • pynetree, a light-weight parsing toolkit written in pure Python.
  • JS/CC, the JavaScript parser generator.

License

This software is an open source project released under the terms and conditions of the MIT license. See the LICENSE file for more information.