Git Product home page Git Product logo

tiny-lang's Introduction

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.

tiny-lang's People

Contributors

vgsantoniazzi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tiny-lang's Issues

Support variable to variable assingment

Nowdays we're supporting variable assingment only for expression.

E = (2+2)*2

We need support variable to variable, like:

E = (2+2)*2
X = E
?X

And the console output:
8

Strong typing

Was a good Idea if had strong typing in this language

Casting

If we have Integers, Strings and strong typing, maybe we can have casting.

Improve test suit

We need to improve the tests including integration tests. Maybe re-build all suit. We can use the core of them, but we really need improve.

String support

Now we have only integers, maybe we can have strings also.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.