Giter VIP home page Giter VIP logo

asteria's Introduction

The Asteria Programming Language

Compiler Category
GCC 7 🥇Primary
Clang 11 🥈Secondary

asteria

Asteria is a procedural, dynamically typed programming language that is highly inspired by JavaScript but has been designed to address its issues.

How to Build

First, you need to install some dependencies and an appropriate compiler, which can be done with

# For Debian, Ubuntu, Linux Mint:
# There is usually an outdated version of meson in the system APT source. Do
# not use it; instead, install the latest one from pip.
sudo apt-get install ninja-build python3 python3-pip pkgconf g++  \
        libpcre2-dev libssl-dev zlib1g-dev libedit-dev
sudo pip3 install meson
# For MSYS2 on Windows: 
# The `iconv_open()` etc. functions are provided by libiconv. Only the MSYS
# shell is supported. Do not try building in the MINGW64 or UCRT64 shell.
pacman -S meson gcc pkgconf pcre2-devel openssl-devel zlib-devel  \
        libiconv-devel libedit-devel

# Or you can see complete compilation Tutorial in https://github.com/XR-stb/asteria/blob/master/doc/mysy2_build_asteria.md
# For macOS:
# The `gcc` command actually denotes Clang, so ask for a specific version
# explicitly.
brew install meson pkgconf gcc@10 pcre2 openssl@3 zlib libedit
export CXX='g++-10'

Then we can build as usual

# version >= 1.1
meson -v
meson setup build_debug
meson compile -Cbuild_debug

Finally we launch the REPL, as

./build_debug/asteria

README

If you need only the library and don't want to build the REPL, you may omit libedit from the dependencies above, and pass -Denable-repl=false to meson.

License

BSD 3-Clause License

asteria's People

Contributors

lhmouse avatar xr-stb avatar peaceshi avatar maskray avatar frankhb avatar lixiayu avatar omimakhare avatar wanghenshui avatar

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.