Skip to content
/ lx Public

Lx is a small, interpreted, dynamically typed scripting language with a PHP-like surface syntax. It is designed for embedded use cases and a minimal, predictable runtime.

License

Notifications You must be signed in to change notification settings

ppyne/lx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lx — Scripting Language

Lx is a small, interpreted, dynamically typed scripting language with a PHP-like surface syntax.
It is a minimal runtime interpreter with no bytecode or VM layer.

Lx mascot

Lx: Power without noise

Technical overview

Lx is a small interpreted language implemented in C. The front‑end is a hand‑written lexer and recursive‑descent parser that builds an AST for expressions, statements, and control flow. The runtime evaluates the AST directly (no bytecode), with a dynamic Value type supporting int, float, bool, string, array, null/undefined/void. Arrays are associative (int/string keys) and use reference counting with a periodic mark‑and‑sweep pass to break cycles. The environment model is lexical with explicit global declarations. Built‑in functions and extensions are registered through a small C extension API and exposed at startup.

License

BSD 3-Clause License. See LICENSE for details.

Documentation

Quick Start

cd lx
make
./lx tests/core/variables.lx

Tests

make test

See docs/lx_installation.md for more details.

About

Lx is a small, interpreted, dynamically typed scripting language with a PHP-like surface syntax. It is designed for embedded use cases and a minimal, predictable runtime.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages