dnlkk / DnlkkScript

Язык 3. Подмножество JavaScript

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DnlkkScript

Язык 3. Подмножество JavaScript

Точнее простой динамически типизируемый интерпретируемый язык, синтаксисом напоминающий JavaScript (т.к. семантика JavaScript в некоторых моментах весьма оригинальна и повторить ее сложно). Интерпретатор может быть выполнен как интепретатор по AST-дереву, так и в виде виртуальной машины, обрабатывающий типизированные значения (соответствеенно должен быть компилятор в ассемлер такой машины). Требуемая функциональность языка представлена в таблице ниже:

Функциональность Поддерживается обязательно Поддерживается по желанию/возможности
Типы данных целые и вещественные числа, строки, Null, Undefined, массивы, хеши (обращение через точку) /* Тип любого выражения вычисляется при интерпритации */ Функции, как тип данных
Операции +, –, *, /, div, mod, >, <, >=, <=, ==, != /* семантика операций может отличаться в зависимости от типов аргументов */
Операторы if [else], for, while, break, continue
Функции передача параметров по значению передача параметров по ссылке /* подумать, как реализовать, могут быть сильно разные варианты */
Системные функции некоторый набор системных функций (в том числе ввода/вывода)

About

Язык 3. Подмножество JavaScript

License:MIT License


Languages

Language:Java 94.7%Language:TypeScript 3.0%Language:ANTLR 2.4%