All Projects → akrylysov → Abrvalg

akrylysov / Abrvalg

Licence: mit
Python-like programming language interpreter written in Python

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Abrvalg

Tiny Lisp
A tiny lisp compiler written in JS
Stars: ✭ 58 (-30.12%)
Mutual labels:  interpreter
Ntphp
Ever wanted to execute PHP in your kernel driver? Look no further!
Stars: ✭ 76 (-8.43%)
Mutual labels:  interpreter
Rs Monkey Lang
Monkey Programming Language written in Rust.
Stars: ✭ 80 (-3.61%)
Mutual labels:  interpreter
Flashforth
FlashForth development
Stars: ✭ 60 (-27.71%)
Mutual labels:  interpreter
Joker
Small Clojure interpreter, linter and formatter.
Stars: ✭ 1,161 (+1298.8%)
Mutual labels:  interpreter
Python lite
[WIP] A simple, lightweight implementation of python3 language.
Stars: ✭ 77 (-7.23%)
Mutual labels:  interpreter
Littlelang
A little language interpreter written in Go
Stars: ✭ 56 (-32.53%)
Mutual labels:  interpreter
Internettools
XPath/XQuery 3.1 interpreter for Pascal with compatibility modes for XPath 2.0/XQuery 1.0/3.0, custom and JSONiq extensions, XML/HTML parsers and classes for HTTP/S requests
Stars: ✭ 82 (-1.2%)
Mutual labels:  interpreter
Mini Interpreter
A Simple Scripting Language
Stars: ✭ 72 (-13.25%)
Mutual labels:  interpreter
Tagha
Minimal, low-level, fast, and self-contained register-based bytecode virtual machine/runtime environment.
Stars: ✭ 79 (-4.82%)
Mutual labels:  interpreter
Sablejs
🏖️ The safer and faster ECMA5.1 interpreter written by JavaScript
Stars: ✭ 60 (-27.71%)
Mutual labels:  interpreter
Pascalnide
Pascal Compiler for Android
Stars: ✭ 63 (-24.1%)
Mutual labels:  interpreter
Smallbasic
SmallBASIC is a fast and easy to learn BASIC language interpreter ideal for everyday calculations, scripts and prototypes. SmallBASIC includes trigonometric, matrices and algebra functions, a built in IDE, a powerful string library, system, sound, and graphic commands along with structured programming syntax
Stars: ✭ 78 (-6.02%)
Mutual labels:  interpreter
Zepto
A schemy Lisp backed by Haskell
Stars: ✭ 60 (-27.71%)
Mutual labels:  interpreter
Pebakery
PEBakery is a script engine that specializes in customizing the Windows Preinstalled Environment (WinPE/WinRE).
Stars: ✭ 80 (-3.61%)
Mutual labels:  interpreter
Reoscript
JavaScript-like script language engine for .NET Application. Easy to plug in .NET Application and making API extension for script. Enhanced syntax and features are also available such as lambda expression, call setTimeout with arguments, etc...
Stars: ✭ 57 (-31.33%)
Mutual labels:  interpreter
Oh
A new Unix shell.
Stars: ✭ 1,206 (+1353.01%)
Mutual labels:  interpreter
Aceto
A programming language based on a 2D Hilbert curve grid
Stars: ✭ 83 (+0%)
Mutual labels:  interpreter
Xstateful
A wrapper for xstate that stores state, handles transitions, emits events for state changes and actions/activities, and includes an optional reducer framework for updating state and invoking side-effects
Stars: ✭ 81 (-2.41%)
Mutual labels:  interpreter
Goto
Goto is an interpreted programming language written in go.
Stars: ✭ 79 (-4.82%)
Mutual labels:  interpreter

Abrvalg

Abrvalg is a Python-like programming language interpreter.

The project contains:

  • Regular expression based lexer
  • Top-down recursive descent parser
  • AST-walking interpreter
  • REPL

Abrvalg doesn't require any third-party libraries.

What the language looks like:

.. code-block::

func map(arr, fn):
    r = []
    for val in arr:
        r = r + [fn(val)]
    r

func factorial(n):
    if n <= 1:
        1
    else:
        n * factorial(n - 1)

print(map(1...10, factorial))

You can find more examples in tests directory.

How to try it:

.. code-block::

git clone https://github.com/akrylysov/abrvalg.git
cd abrvalg
python -m abrvalg tests/factorial.abr
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].