Тривиль: грамматика второй заход

Второй заход: весь синтаксис (вроде бы), кроме определения «разделителя» — нужен для избавления от лишних ‘;’ и нет лексики, где определение идентификатора — это самое интересное.

Я нашел пригодное решение для переменных, слово ‘пусть’, потом для assign once переменных можно использовать ‘дано’. Пример плохо выглядит, так как не могу поставить отступы в этом редакторе:

фн Факториал(ч: цел64): цел64 {
пусть рез: цел64 = 1
пока ч > 1 {
рез := рез * ч
ч—
}
вернуть рез
}

И решение, которое объединяет конверсию (conversion) и контроль типа (type assertion)

пусть pi = 3.14
пусть упрощенное_pi = pi┌цел64┐

Эти странные скобочки мне нравятся, но критерием истины является практика, так что посмотрим дальше, приживется или нет.

Еще один заход — теперь в лексику и можно писать компилятор. Думаю, что Тривиль-0 компилятор сделать однопроходным.

1 комментарий


  1. Ой, Алексей, не надо этих скобочек. Красиво будет вот так:

    дано
    пи : дробное = 3.14;
    пи_проще: целое = пи.Целое();

    Ответить

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *