All Projects → vgsantoniazzi → tiny-lang

vgsantoniazzi / tiny-lang

Licence: other
tiny-lang — A different programming language. Supports a bunch of spoken languages.

Programming Languages

C++
36643 projects - #6 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to tiny-lang

PigletC
A toy C-like language compiler for PigletVM
Stars: ✭ 51 (+96.15%)
Mutual labels:  compiler-design, compiler-frontend, compiler-construction
awesome-internals
A curated list of awesome resources and learning materials in the field of X internals
Stars: ✭ 78 (+200%)
Mutual labels:  interpreter, compilers, compiler-construction
types-and-programming-languages
C++ Implementations of programming languages and type systems studied in "Types and Programming Languages" by Benjamin C. Pierce..
Stars: ✭ 32 (+23.08%)
Mutual labels:  interpreter, compilers, interpreters
compiler-course-unipi
Lab of the course Languages, Compilers and Interpreters (Cod. 653AA) @ UNIPI
Stars: ✭ 18 (-30.77%)
Mutual labels:  compilers, interpreters, compiler-design
CompilersCourse
Theory of compilation course, MIPT
Stars: ✭ 32 (+23.08%)
Mutual labels:  compilers, compiler-construction
kolasu
Kotlin Language Support – AST Library
Stars: ✭ 45 (+73.08%)
Mutual labels:  compilers, interpreters
pyCompiler
Python Compiler
Stars: ✭ 13 (-50%)
Mutual labels:  compilers, compiler-design
3bc-lang
Low level language, tiny virtual machine that works on computers and microcontrollers. (Friendly Punched cards)
Stars: ✭ 155 (+496.15%)
Mutual labels:  interpreter, compilers
Jquery.terminal
jQuery Terminal Emulator - JavaScript library for creating web-based terminals with custom commands
Stars: ✭ 2,623 (+9988.46%)
Mutual labels:  interpreter, interpreters
CaptCC
A tiny C compiler written purely in JavaScript.
Stars: ✭ 175 (+573.08%)
Mutual labels:  compiler-design, compiler-construction
AwesomeCompiler
The Big list of the github, open-source compilers.
Stars: ✭ 27 (+3.85%)
Mutual labels:  compilers, compiler-design
librxvm
non-backtracking NFA-based regular expression library, for C and Python
Stars: ✭ 57 (+119.23%)
Mutual labels:  compilers, compiler-design
cppcombinator
parser combinator and AST generator in c++17
Stars: ✭ 20 (-23.08%)
Mutual labels:  compilers, compiler-construction
ciforth
A generic system for creating i86 implementations of the language Forth.
Stars: ✭ 38 (+46.15%)
Mutual labels:  interpreter, compilers
jet
A Fast C and Python like Programming Language that puts the Developer first. WIP
Stars: ✭ 41 (+57.69%)
Mutual labels:  compilers, compiler-design
compiler
My first attempt to create a compiler
Stars: ✭ 16 (-38.46%)
Mutual labels:  compilers, compiler-construction
hascal
Hascal is a general purpose and open source programming language designed to build optimal, maintainable, reliable and efficient software.
Stars: ✭ 56 (+115.38%)
Mutual labels:  compiler-design, compiler-frontend
JuCC
JuCC - Jadavpur University Compiler Compiler
Stars: ✭ 34 (+30.77%)
Mutual labels:  compiler-design, compiler-construction
Decaf-Compiler
Compiler for Decaf Programming Language
Stars: ✭ 36 (+38.46%)
Mutual labels:  compilers, compiler-construction
lua-in-rust
The Lua programming language, implemented in Rust.
Stars: ✭ 76 (+192.31%)
Mutual labels:  compilers, interpreters

Welcome to Tiny lang

This project is an open-source interpreter based on C++. The proposal of this repository is understand interpreters and build a new one based on my own syntax.

Getting Started

Clone the project:

git clone [email protected]:vgsantoniazzi/tiny-lang.git

Install Google test

Usage

Compile
make
Run
make run
Docs

Generate doxygen docs

make docs

Run in other language

Create tokens file (based on tokens/ dir files and run your examples based on examples/ dir)

make run FILE=examples/portugues.tl TOKENS=tokens/portugues.yml
Format code
make format
Install
make install
Clean
make clean

To run manually, open bin/run

Contributing

I ❤️ Open source!

Before sending a pull request: Please, format the source code

bin/format

Follow github guides for forking a project

Follow github guides for contributing open source

Squash pull request into a single commit

Code status

Build Status

License

Tiny lang is released under the MIT license.

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].