• Stars
    star
    102
  • Rank 325,122 (Top 7 %)
  • Language
    Python
  • License
    MIT License
  • Created almost 9 years ago
  • Updated almost 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Python-like programming language interpreter written in Python

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:

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:

git clone https://github.com/akrylysov/abrvalg.git
cd abrvalg
python -m abrvalg tests/factorial.abr