Giter Site home page Giter Site logo

baobab's Introduction

Baobab language

Программа пишется в одном файле и начинается с start. Существует функция print(expression);, которая позволяет выводить информацию в консоль.

Свойства

  • Явное объявление переменных
  • Явное проеобразование типов
  • Одноцелевой оператор присваивания
  • Функции имеют свою область видимости
  • Маркер блочного оператора явные - []
  • Условные операторы if и switch
  • Перегрузка подпрограмм отсутствует
  • Передача параметров по значению
  • Подпрограммы объявляются в любом месте кроме подпрограмм

Функции

Объявляются с помощью ключевого слова func, возвращаемый текст пишется после >>. Например func function() >> int []; Функции имеют свою индивидуальную область видимости и параметры передаются по значению.

Переменные

Объявляются с помощью ключевого слова define: 'define int var;'

Циклы

while ( условие ) [тело]; for ( переменная; условие; операция ) [тело]; Объявление переменной в теле цикла будет действовать только в цикле.

Типы

  • element - из переменных этого типа состоит множество, может быть любым примитивным типом.
  • set - сет из элементов
  • float - единственный не целочисленный тип
  • int - целочисленный знаковый 32 битный тип
  • bool - true false
  • string - строковый тип

Условия

В условия должно быть возвращено все что может быть типом bool. С исключением того что числа автоматически приводятся к bool, при том , что в языке явное приведение типов, в условиях приведение из чисел в bool можно не использовать.

Приведение типов

В языке существует очень урезаная таблица возможного приведения типов. Синтаксис (тип)(выражение).

TO FROM
bool int, float
float int, bool
int bool, float

Операции

Поддерживаются основные операции > < <= >= * / - + == Для условий:

Operator C++ analog
and &&
or ||
not !

Множества

В языке существуют специальные массивы которые могут объявляться из любых типов. define set one = {1, "str", 1.5f};. Обращение к элементy производится с помощью функции at().

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.