User Tag List

Страница 7 из 18 ПерваяПервая ... 34567891011 ... ПоследняяПоследняя
Показано с 61 по 70 из 213

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

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

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

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

    По умолчанию

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

    Сегодня заработала "умная линковка", но пока спотыкается на forward-подпрограммах, их надо переделывать.

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

  3. #2

    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,869
    Спасибо Благодарностей отдано 
    142
    Спасибо Благодарностей получено 
    110
    Поблагодарили
    66 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Псевдокод, каждая команда которого состоит из нескольких команд ассемблера (пи-код) или одной? Пи-код, на мой взгляд, проще оптимизировать, т.к. команды более обобщены. Я писал в статье об этом, тут со стр.52

    Нашел некоторые свои поделки на Паскале, см.файлы. Что в них нужно подогнать под твой компиль? (Правда, на нынешнем ноуте с Win10 у меня нифига не работают ни DOS-овские программы, ни EmuZWin, не могу ничего сделать. :( В конце мая буду на нормальном компе у родоков, где всё пашет).
    Вложения Вложения

  4. #3

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

    По умолчанию

    Цитата Сообщение от Andrew771 Посмотреть сообщение
    Что в них нужно подогнать под твой компиль?
    Скорее компилятор надо подогнать под поддержку того, что нужно этим программам...

    Eurofoot и Topolog пока по объёму сгенерированного кода в 64 килобайта не уложатся.
    Также там есть readln (которого у меня пока нет) и работа с файлами (которых у меня пока тоже нет).

    Попробовал life.pas. Что изменил:
    - uses заменил на {$i};
    - в строке 36 и 37 изменил обращение к random;
    - закомментировал строку 61 (из-за READKEY, его пока нет) и строку 69 (из-за оператора NOT, что-то с ним не так).
    Собралось 12135 байт. Но естественно не запустилось. Надо компилятор и библиотеки доделывать.

  5. #4

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

    По умолчанию

    Цитата Сообщение от Andrew771 Посмотреть сообщение
    Псевдокод, каждая команда которого состоит из нескольких команд ассемблера (пи-код) или одной? Пи-код, на мой взгляд, проще оптимизировать, т.к. команды более обобщены. Я писал в статье об этом, тут со стр.52
    Прочитал статью. Интересно.
    У меня всё, в принципе, так же, только пи-код другой. String в нём кажется совсем лишний, у меня всё что можно перебрасывается на библиотечные подпрограммы, деление тоже написано на Паскале (system_divmod.inc). Сделано это чтобы на начальном этапе не заморачиваться написанием деления, строк и прочего под новый процессор, а когда будет добавлено переопределение операторов - вообще станет штатной функцией компилятора.

    Пи-код находится между синтаксическим деревом и инструкциями современных процессоров, которые заточены под языки высокого уровня. При подгонке пи-кода он всё больше похож на синтаксическое дерево и всё больше соответствует одной строке ассемблера какого-нибудь x86 или ARM. Поэтому и думаю что он мне не нужен.
    Сейчас, если внимательно посмотреть на сгенерированный для Z80 код, можно увидеть что он как бы транслирован с 32-битного процессора. Почти так и есть.

  6. #5

    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,869
    Спасибо Благодарностей отдано 
    142
    Спасибо Благодарностей получено 
    110
    Поблагодарили
    66 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    в данных прогах обращение к файлам можно заменить загрузкой (инициализацией) значений в массивы.

  7. #6

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

    По умолчанию

    Тем более не поместится.

    В life.pas в процедуре FORMIROV первый цикл (который I, J, 80x24) выполняется около минуты.
    Потом запнулось из-за (не)случайных чисел.
    Займусь этим на следующей неделе.

  8. #7

    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,456
    Записей в дневнике
    42
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    173
    Поблагодарили
    121 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Интересно, а выполнение пи-кода будет ли быстрее, чем скомпилированная программа?

  9. #8

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

    По умолчанию

    По сравнению с тем что сейчас - однозначно
    По сравнению с идеальным машинным кодом - нет. Пи-код это байт-код, которому нужен интерпретатор. На каждую операцию добавляется как минимум чтение байта и переход по таблице.

  10. #9

    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,869
    Спасибо Благодарностей отдано 
    142
    Спасибо Благодарностей получено 
    110
    Поблагодарили
    66 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Видимо, утопичная идея была сделать "компилятор под все платформы". Нужно было хотя бы ограничиться 8-битными компьютерами. Ну или все, и старые, и новые платформы пусть на 8-битах сидят.

  11. #10

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

    По умолчанию

    Цитата Сообщение от Andrew771 Посмотреть сообщение
    Видимо, утопичная идея была сделать "компилятор под все платформы".
    От запуска на 64k RAM давно отказался, вот это неудачная мысль была.
    А кодогенераторы для 8 и 32 бит - нисколько не утопичная, особенно при правильной внутренней организации.
    Я потом может ещё 16-битные добавлю (MSP430).

Страница 7 из 18 ПерваяПервая ... 34567891011 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Пожелания и планы по эмулятору Башкирия-2М
    от b2m в разделе Эмуляторы отечественных компьютеров
    Ответов: 848
    Последнее: 30.10.2025, 20:37
  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

Ваши права

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