izuzanak / uclang

Interpreted, dynamically typed, object-oriented programming language
GNU General Public License v2.0
23 stars 3 forks source link
c-plus-plus embedded-systems exceptions inheritance interpreter language linux module-system object-oriented parser-generator scripting-language

uclang - programming language

Build Status CI Total alerts Language grade: C/C++

Interpreted, dynamically typed, object-oriented programming language.

Language features

Documentation

Documentation of uclang components is located in uclang/doc. Short introduction to language syntax and features can be found in uclang/doc/intro.md.

Language modules

A set of modules was created in order to use uclang in production. Implementation of these modules is located in uclang/mods

Some of implemented modules are:

base, sys, inotify, time, lang, pack, parser, math, psql, sqlite, http, websocket, curl, ftp, ssh2, gcrypt, iconv, jit, fann, av, ao, mpg, portaudio, gstreamer, gtk, image, glut, glew, gl, ftgl, vg, imxegl, snmp, node, containers, algorithms, binbits, graph, json, xml, python, v8, lua, mono, perl, ruby, prolog, zlib, zip, snappy, fuse, android

Examples

Some examples are introduced in uclang/doc/intro.md.

Building interpreter

The container generator cont is needed for compilation of the interpreter.

Linux compilation

Enter build directory build.

cd build

Process cmake source.

cmake ..

Build uclang.

make -j$(nproc)

Linux example scripts

Example scripts can be executed by following commands:

cd uclang/uclang_build
export LD_LIBRARY_PATH=$(pwd)
./uclang scripts/hello.ucl
...