manoloesparta / lalalang

🤠 Just a programming language with a silly name

Home Page:https://lalalang.mano.lol

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

La La Lang Logo

Python version Project version Pypi status Lambda status Coverage Status License

A programming language with a silly name

I saw recently the amazing movie La La Land and inspired by only the movie's name and my learning obsession I decided to learn how to make a programming language and give it a funny name 🙂.

Warning: This shouldn't be used in any production enviroment, it is very slow and poorly designed, it was made with educational purposes only.

Installation

The only requirement is to have Python 3.9+ (you can install it directly or with pyenv).

You can install with pip:

$ pip install lalalang

Or by source

$ git clone https://github.com/manoloesparta/lalalang && cd alalang
$ make setup env=python # Here goes the path of your python 3.9 executable
$ make install

Info: If the terminal returns command not found: 3lang you should see where pip is installing your package and add that directory to PATH, sometimes using sudo with pip solves it, or adding the --user flag, if none of these options works can still use the interpreter with the command python -m lalalang.

Usage

You can see the main options with this command

$ 3lang --help

Usage: 3lang [OPTIONS]

Options:
  --mode TEXT  REPL mode (lex|parse|eval)
  --src TEXT   Input file with 3lang code
  --help       Show this message and exit.

To enter the interpreter and run code on the fly, type

$ 3lang

Welcome to the city of stars!🌟
This is the La La Lang Programming Languag v1.2!
♪♪ >

To read a file and execute it, type

$ 3lang --src random_program.3la

You can enter other in the stages of lexing and parsing of the interpreter with the --mode flag.

Syntax

You can see the syntax of lalalang here.

See the examples directory to get a wider idea.

License

This project is under the MIT license.

About

🤠 Just a programming language with a silly name

https://lalalang.mano.lol

License:MIT License


Languages

Language:Python 93.7%Language:JavaScript 4.2%Language:Makefile 0.8%Language:CSS 0.7%Language:HTML 0.6%