Важная информация

User Tag List

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

Тема: Компилятор языка Паскаль - планы на будущее

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Master
    Регистрация
    14.04.2013
    Адрес
    г. Ростов-на-Дону
    Сообщений
    608
    Спасибо Благодарностей отдано 
    70
    Спасибо Благодарностей получено 
    54
    Поблагодарили
    48 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Компилятор языка Паскаль - планы на будущее

    Я попробую описать что есть и что будет в компиляторе, а вы допишите на что ещё обратить внимание, может что важное забыл.

    Типы данных: 7 целых (byte, word, int64...), boolean, pointer, char, string.
    Допускаются array, record и pointer в любых комбинациях: массив указателей на структуры, внутри которых указатели на массивы байтов, и т.п. Массивы пока только одномерные, но можно описать массив массивов.

    Переменные: любого типа (см. выше), глобальные/локальные, допускается absolute.
    Константы тоже будут, но с ними пока затруднения.

    Подпрограммы (процедуры, функции): до 10 параметров любого типа, параметры передаются по значению и по ссылке (var). Почти работают полиморфные подпрограммы и override.

    Выражения и операторы в них: + - * / > < >= <= = <> div mod and or xor shl shr @ ^ :=
    А также скобки, приоритеты операций, явное преобразование типов. Сложность выражений ограничена объёмом памяти при компиляции и при работе.

    Ветвления, циклы: if, while, repeat. Цикл for пока только в одну сторону (инкремент).

    Cейчас работаю над кодогенератором. Выдаёт более-менее осмысленный, но абсолютно неработоспособный код.

    Планы на будущее:
    - директивы условной компиляции $define, $ifdef и прочие (ничего сложного, надо заняться реализацией);
    - переопределение арифметических операторов;
    - числа с плавающей точкой;
    - файловые типы данных;
    - множества, оператор in;
    - оператор case (пока вообще нет идей как это реализовать);
    - модули (unit, uses, interface, implementation...);
    - динамическое распределение памяти (new, getmem...);
    - умная линковка;
    - inline-подпрограммы;
    - запуск компилятора на платформе с 16-битной адресацией (Z80, собственный процессор...) и диском (FDD, HDD, flash...).
    Последний раз редактировалось Bolt; 22.02.2015 в 02:14.

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

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

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

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

Похожие темы

  1. Пожелания и планы по эмулятору Башкирия-2М
    от b2m в разделе Эмуляторы отечественных компьютеров
    Ответов: 823
    Последнее: 01.07.2019, 21:19
  2. Пожелания и планы по эмулятору MESS
    от shattered в разделе Эмуляторы отечественных компьютеров
    Ответов: 57
    Последнее: 02.08.2017, 22:14
  3. Планы на новые создаваемые игры
    от TomCaT в разделе Игры
    Ответов: 67
    Последнее: 21.03.2012, 14:44
  4. Назад в будущее?
    от Sonic в разделе Оси
    Ответов: 27
    Последнее: 19.07.2005, 16:56

Ваши права

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