A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/berry-lang/berry below:

berry-lang/berry: A ultra-lightweight embedded scripting language optimized for microcontrollers.

The Berry Script Language.

Berry is a ultra-lightweight dynamically typed embedded scripting language. It is designed for lower-performance embedded devices. The Berry interpreter-core's code size is less than 40KiB and can run on less than 4KiB heap (on ARM Cortex M4 CPU, Thumb ISA and ARMCC compiler).

The interpreter of Berry include a one-pass compiler and register-based VM, all the code is written in ANSI C99. In Berry not every type is a class object. Some simple value types, such as int, real, boolean and string are not class object, but list, map and range are class object. This is a consideration about performance. Register-based VM is the same meaning as above.

Berry has the following advantages:

Reference Manual: Read the docs

Short Manual: berry_short_manual.pdf.

Berry's EBNF grammar definition: tools/grammar/berry.ebnf

  1. Install the readline library (Windows does not need):

    sudo apt install libreadline-dev # Ubuntu
    brew install readline            # MacOS
  2. Build (The default compiler is GCC):

  3. Run:

    ./berry # Bash or PowerShell
    berry   # Windows CMD
  4. Install (Only Unix-like):

Visual Studio Code plugin are in this directory: ./tools/plugins/vscode.

After compiling successfully, use the berry command with no parameters to enter the REPL environment:

Berry 0.0.1 (build in Dec 24 2018, 18:12:49)
[GCC 8.2.0] on Linux (default)
>

Now enter this code:

You will see this output:

You can copy this code to the REPL:

def fib(x)
    if x <= 1
        return x
    end
    return fib(x - 1) + fib(x - 2)
end
fib(10)

This example code will output the result 55 and you can save the above code to a plain text file (eg test.be) and run this command:

This will also get the correct output.

Berry is free software distributed under the MIT license.

The Berry interpreter partly referred to Lua's design. View Lua's license here: http://www.lua.org/license.html.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.3