Skip to content
Programming language research
C CMake JavaScript Shell Assembly
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
interpreter
library
specification
.travis.yml
CMakeLists.txt
COPYRIGHT.txt
LICENSE.md
README.md

README.md

Introduction

A free/libre open source (FLOSS) programming language for interactive use, scripting, and building small to large programs, that aims to be simple, powerful, and practical.

It includes a well-defined specification, a platform-agnostic implementation core, and an interpreter for various operating systems and environments.

Installation

Dependencies

Linux

See file .travis.yml, section:

  • jobs / include / compiler: Supported compilers.
  • addons/apt/packages: Required packages.

OS X

See file .travis.yml.

Windows

(Tested on Windows 10, 32-bit and 64-bit.)

Building

  1. Create a new empty directory to store the build artifacts, and change to it.
  2. Generate a build system using CMake (see file CMakeLists.txt for the minimum supported version). The following steps assume running it from the command line:
    • By default it will build the core library only, but it can also be configured to select other builds. To view options:
      $ cmake -LH path/to/sources
      
    • Otherwise, to use the default options:
      $ cmake path/to/sources
      
  3. Invoke the build tool:
    $ cmake --build .
    

Architecture

  • interpreter/: Implementation of the language specification.
    • core/: Builds an embeddable library with the host-independent core of the implementation and host-dependent hooks.
    • javascript/: Builds a standalone executable to compile to JavaScript.
    • native/: Builds an embeddable library and a standalone executable to run natively (eg. on Windows).
    • x86-32/: Builds a Multiboot-compliant executable to run on an Intel x86 32-bit host.
  • library/: Standard library for the interpreter.
  • specification/: Language specification.
You can’t perform that action at this time.