Compiler for developed programming language ListLang based on antlr3.
Язык для работы со списковыми структурами.
- Встроенные типы
- Element: хранит одно значение, которым может быть целое число, список или является пустым.
- List: хранит набор элементов.
- Переменные
- Объявление переменных: не явное
- Возможность инициализация переменных всех типов при объявлении: <тип> <имя_переменной> = <выражение>
- Инициализирующее выражение может быть константным
- Оператор присваивания: одноцелевой, например, a = b
- Преобразование типов: явное, например, a = (int) b
- Встроенные операции
- Встроенные функции
- Встроенные функции ввода\вывода для работы со встроенными типами
- Использование сложных выражений (составных и со скобками)
- Блочный оператор
- Маркер блочного оператора: явный, { }
- Структуры, ограничивающие область видимости: подпрограммы
- Управляющие структуры
- Условный оператор (if-then-else)
- Операторы цикла (while и until)
- Оператор цикла с итерациями (for)
- Пользовательские подпрограммы
- Передача и возврат параметров
- Задание локальной и глобальной области видимости для имен переменных
- Перегрузка подпрограмм: отсутствует
- Передача параметров в подпрограмму: только по значению и возвращаемому значению
- Допустимое место объявления подпрограмм: В любом месте программы, также и внутри другой подпрограммы.
Целевой код компилятора: байт-код JVM, формат промежуточного кода ассемблер для JVM.