An open API service indexing awesome lists of open source software.

https://github.com/andrey-moura/lavi

The Lavi is an interpreted object-oriented multi-purpose programming language
https://github.com/andrey-moura/lavi

brasil brazil compiler interpreter lexer programming-language

Last synced: 16 days ago
JSON representation

The Lavi is an interpreted object-oriented multi-purpose programming language

Awesome Lists containing this project

README

          


Alt Text

# Lavi programming language

An interpreted object-oriented multi-purpose programming language

## Table of Contents
* [Examples](#Examples)
* [Availability](#Availability)
* [Install](#Install)
* [Install VSCode extension](#Install-VSCode-extension)
* [Building](#Building)
* [Building with UI enabled](#Building-with-UI-enabled)
* [The Language specification](./SPECIFICATION.md)
## Examples

If you want to run examples, try:

```sh
lavi examples/minimal.lv
```

This file has the content:



out 'Hello from minimal!'

The result is:

```
Hello from minimal!
```

## Availability

Environment | Build
--- | --- |
Ubuntu 22.04 | [![Ubuntu 22.04](https://github.com/andrey-moura/lavi/actions/workflows/build-ubuntu-22.04.yml/badge.svg?cache-control=no-cache)](https://github.com/andrey-moura/lavi/actions/workflows/build-ubuntu-22.04.yml)
Ubuntu 24.04 | [![Ubuntu 24.04](https://github.com/andrey-moura/lavi/actions/workflows/build-ubuntu-24.04.yml/badge.svg?cache-control=no-cache)](https://github.com/andrey-moura/lavi/actions/workflows/build-ubuntu-24.04.yml)
Windows Server 2022 | [![Windows Server 2022](https://github.com/andrey-moura/lavi/actions/workflows/build-windows-2022.yml/badge.svg?cache-control=no-cache)](https://github.com/andrey-moura/lavi/actions/workflows/build-windows-2022.yml)
WebAssembly | [![WebAssembly](https://github.com/andrey-moura/lavi/actions/workflows/build-wasm.yml/badge.svg?cache-control=no-cache)](https://github.com/andrey-moura/lavi/actions/workflows/build-wasm.yml)

## Install

### Installation from lavi.org
#### Under Linux
```sh
wget --content-disposition lavi.org/releases/lavi/latest
sudo dpkg -i lavi-x.x.x.deb
```
#### Under Windows

Download https://lavi.org/releases/lavi-installer/latest and run it.

### Install VSCode extension
Download the VSIX file from the https://lavi.org/releases/lavi-vscode/latest and follow the instructions available in the [Install from a VSIX](https://code.visualstudio.com/docs/configure/extensions/extension-marketplace#_install-from-a-vsix).

## Building
On Linux or Windows Developer Command Prompt

```sh
git clone https://github.com/andrey-moura/lavi --recursive
cd lavi
cmake -DCMAKE_BUILD_TYPE=Release -B build .
cmake --build build --config Release --parallel
```

After building, run as sudo on Linux or with an Administrator Command Prompt on Windows

```sh
cmake --install build
```

### Building with UI enabled

The UI is enabled by default.