Ну вообще мне сразу хотелось сделать компилятор для телефона, но со временем он так вырос, что я понял что на телефоне ему делать нечего, и продолжил писать уже для компа.
Он написан на Java и имеет свою виртуальную машину(которая естественно тоже написана на Java). Спецификация виртуальной машины похожа на JavaVM. Пока это чисто процедурный язык программирования.
Вот некоторая информация по языку:
Структура программы:
Program <Имя программы> {
record
{
<Имя записи>:
{
<Тип поля> <Имя поля>;
}
}
var
{
<Глобальные переменные>
}
forward
{
function <Имя функции>(<Аргументы функции>):<Тип функции>;
}
constructor
{
<Инструкции>
}
function <Имя функции>(<Аргументы функции>):<Тип функции>;
label
{
<Имя метки>;
}
var
{
<Тип переменной> <Имя переменной>;
}
{
<Инструкции>
}
destructor
{
<Инструкции>
}
}
Типы данных:
Void
Integer
String
Char
Float
Boolean
Вот выкладываю сырую версию программы(ну ОЧЕНЬ сырую и убогую).
В архиве Shrimp.jar - это и есть компилятор и runtime. Все остальные файлы - демонстративные исходники.
После компиляции исполняемые исполняемый файл будет в папке output(там где и программа).