User Tag List

Показано с 1 по 10 из 12

Тема: Компилятор Turbo Rascal для > 30 ретро-платформ (NES, Atari, Amiga, Gameboy, ZX, X86)

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,681
    Спасибо Благодарностей отдано 
    2,716
    Спасибо Благодарностей получено 
    170
    Поблагодарили
    130 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну что же, первые впечатления конечно положительные, давненько мечтал о чём-то подобном, хотя лучше бы взяли в качестве языка Модулу-2 или Оберон.

    Есть недостатки. Например, все типы беззнаковые. Вещественной арифметики нет.

    TRSE supports several data types:

    byte : values 0-255. Supported on all systems.
    integer: values 0-65535. Supported on all systems.
    long : 32-bit double word. Supported on all x86 and m68k systems. On the 6502, “long” is a 24-bit number.
    pointer : Points to an address in memory. Uses zero pages on the 6502, “long” on the x86/m68k and is simply an integer on the (GB)Z80
    lpointer: 24-bit pointers for the 65c816.
    boolean: Syntactically identical to a byte.
    string : An array of characters. Syntactically identical to an array of bytes.
    Здесь не очень понятно почему беззнаковый целый тип назван integer. Сделали бы word. Ломают совместимость на корню, даже самую минимальную.

    Есть и другие странности.

    Циклы for в TRSE по умолчанию не включаются, что означает, что приведенное ниже выражение будет считать i от 0 до 9.

    for i:=0 to 10 do
    begin
    PrintNumber(i); // will print 0-9
    end;

    Если вы предпочитаете включать for, используйте ключевое слово fori :

    fori i:=0 to 10 do
    begin
    PrintNumber(i); // will output 0-10
    end;
    А знаете как бы я сделал, раз уж так припекло:

    Код:
    for i := 0 to 10 [ by N ] do <— от 0 до 10
    for i := 0 until 10 [ by N ] do <— от 0 до 9
    Вы можете изменить длину шага, используя ключевое слово step:
    Код:
    for i:=0 to 10 step 2 do
    begin
       PrintNumber(i); // will output 0,2,4,6,8
    end;
    А step зачем? Есть же короткое Виртовское by. Авторы совсем не в курсе про дальнейшую деятельность Вирта?

    Если кто-то будет связываться с разработчиками Rascal, было бы интересно насколько они открыты к такого рода вопросам.

    Да, очень странный Паскаль. У авторов своё ни с чем не сравнимое видение.

    "Такого даже в Обероне нет!"

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    27.01.2005
    Сообщений
    924
    Спасибо Благодарностей отдано 
    28
    Спасибо Благодарностей получено 
    193
    Поблагодарили
    154 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    А step зачем? Есть же короткое Виртовское by. Авторы совсем не в курсе про дальнейшую деятельность Вирта?

    Если кто-то будет связываться с разработчиками Rascal, было бы интересно насколько они открыты к такого рода вопросам.

    Да, очень странный Паскаль. У авторов своё ни с чем не сравнимое видение.

    "Такого даже в Обероне нет!"
    Чувствуется тлетворное влияние бейсика на авторов.

    Это не Паскаль?

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. DuckTales Return (NES / GameBoy port-demake for 128k)
    от AND в разделе Игры
    Ответов: 22
    Последнее: 25.09.2020, 01:57
  2. MP3 to MOD для Amiga/Atari ST
    от DJs3000 в разделе Amiga
    Ответов: 37
    Последнее: 24.07.2014, 18:39
  3. Ответов: 9
    Последнее: 28.07.2013, 23:54
  4. Эмуляторы для psp (Atari ST и Amiga)
    от Руслан в разделе Эмуляторы
    Ответов: 7
    Последнее: 19.11.2012, 19:50

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •