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

User Tag List

Страница 4 из 22 ПерваяПервая 12345678 ... ПоследняяПоследняя
Показано с 31 по 40 из 213

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

  1. #31
    Moderator
    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,577
    Спасибо Благодарностей отдано 
    61
    Спасибо Благодарностей получено 
    107
    Поблагодарили
    92 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    AlCo предлагает разработать Оберон-компилятор чтобы работал на самом Спеке, я пока отбрыкиваюсь, вроде странная задачка.
    Почему нет?
    В CP/M есть отличный компилятор ANSI C - Hitech C. Сделайте опять же нативный Z80-транслятор с Оберона на С.

    Если не нравится Hitech C (например из-за того что он для CP/M, хотя Алоне все равно для АТМ пишет же), есть несколько компиляторов С в исходниках. Да и на спеке наверное есть С-компилеры (правда, из 90-х помнится что спековские компилеры были слабоваты, возможно из-за отсутствия нормальной ОС)

    ---------- Post added at 12:32 ---------- Previous post was at 12:21 ----------

    Цитата Сообщение от Bolt Посмотреть сообщение
    Vadim, я когда начал писать компилятор тоже с теорией компиляции не был знаком. Была мысль прикрутить к FPC нужный кодогенератор, но FPC со стороны исходников мне не очень понравился. Я решил пойти по пути написания компилятора с нуля.

    Доработать Turbo Pascal под CP/M? А толку? Даже если разобраться в декомпилированных исходниках и умудриться доработать, то это так и останется компилятор, "прибитый гвоздями" к конкретному процессору и ОС.
    Компиляторы компиляторами, а смотрели вы например трансляторы (не интерпретаторы!)? Например, Innerfuse Pascal Script 3? Это скриптовый Object Pascal движок вида "Дельфи внутри Дельфи", на входе скрипт (т.е. программа на паскале), на выходе некий байт-код для executar-а (модуля-исполнителя байткода). Есть "дизассемблер байт-кода". Лет двенадцать назад я был просто фанатом IPS3 (версия 3 - последняя Free OpenSource, остальные платные), писал на нем программы в тысячи строк. Работало быстро и без косяков, все в исходниках, язык - практически полный Object Pascal.
    Последний раз редактировалось Error404; 17.03.2015 в 12:35.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

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

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

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    Компиляторы компиляторами, а смотрели вы например трансляторы (не интерпретаторы!)? Например, Innerfuse Pascal Script 3? Это скриптовый Object Pascal движок вида "Дельфи внутри Дельфи"...
    Нет, не смотрел, но в курсе, что такое есть.
    По описанию это вообще не то, что мне нужно.

  4. #33
    Guru Аватар для Sayman
    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,280
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    54 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    влезу немного сюда - не подкинет ли кто ссылочку на книжки какие-нибудь по написанию парсеров? мне не для языка или компилятора, хотя что-то похожее. просто конфиги получаются у меня навороченные, а парсер текущий - просто жуткая жуть. нужно какое-то более грамотное решение. заколебался уже с ними сидеть...
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

  5. #34
    Moderator
    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,577
    Спасибо Благодарностей отдано 
    61
    Спасибо Благодарностей получено 
    107
    Поблагодарили
    92 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sayman Посмотреть сообщение
    влезу немного сюда - не подкинет ли кто ссылочку на книжки какие-нибудь по написанию парсеров? мне не для языка или компилятора, хотя что-то похожее. просто конфиги получаются у меня навороченные, а парсер текущий - просто жуткая жуть. нужно какое-то более грамотное решение. заколебался уже с ними сидеть...
    lex/yacc может быть? На них парсеры для чего угодно делали, от ЯВУ до игрушек диалоговых.
    Книжек про них не знаю, но статей прогугливается очень много.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  6. #35
    Veteran
    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,058
    Спасибо Благодарностей отдано 
    225
    Спасибо Благодарностей получено 
    47
    Поблагодарили
    31 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sayman Посмотреть сообщение
    по написанию парсеров?
    Попробуй GNU Bison. Бесплатно и сердито. Правда, я ни разу на нем ничего не делал, там надо осваивать, доки читать.
    Цитата Сообщение от Sayman Посмотреть сообщение
    просто конфиги получаются у меня навороченные,
    Для конфигов лучше всего задействовать стандартный формат типа XML или JSON. Парсеров полно, качай и пользуйся.

  7. #36
    Guru Аватар для Sayman
    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,280
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    54 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    надо было сразу пояснить видимо. я не использую сейчас кое-либо яву. конфиги которые нужно распарсить уже существуют в определённом формате в оригинале на ПЦ, а мне под спринтера нужно тоже самое. по сути, конфиги имеют вид стандартных ini файлов с секциями типа [section] и далее строки с параметрами. есть секции вида [sect type n], где n какое-то целое число. и т.д. нашёл несколько исходников ini парсеров. но они все , конечно, на си. уже глаза в кучу...
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

  8. #37
    Moderator
    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,577
    Спасибо Благодарностей отдано 
    61
    Спасибо Благодарностей получено 
    107
    Поблагодарили
    92 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Barmaley_m Посмотреть сообщение
    Попробуй GNU Bison. Бесплатно и сердито. Правда, я ни разу на нем ничего не делал, там надо осваивать, доки читать.
    Бизон это и есть yacc, переписанный линупсовыми "улучшайзерами". В комплекте с бизоном обычно используют flex (аналог lex)
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  9. #38
    Super Moderator Аватар для Alex Rider
    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,913
    Спасибо Благодарностей отдано 
    29
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    32 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Наверняка ведь парсишь эти ini'шники в структуры. Напиши на PC утилиту, которая будет парсить их в двоичное представление этих структур, а в Спринтер загружай уже готовый к употреблению файл.

  10. #39
    Veteran
    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,858
    Спасибо Благодарностей отдано 
    131
    Спасибо Благодарностей получено 
    104
    Поблагодарили
    62 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Andrew771 Посмотреть сообщение
    И еще индуктивность переменных тоже никак не учитываю. Так что, если встретится например:
    Код:
    for i:=1 to 100 do
    a[i]:=i;
    то на каждой итерации цикла будет рассчитываться заново адрес в памяти для ячейки a[i], хотя можно было всего лишь прибавить смещение к предыдущей ячейке. Здесь нужно уже анализировать весь поток от начала до конца цикла, а вдруг еще внутри есть другие циклы и ветвления. Пока не стал заморачиваться.
    Кстати, заметил в Delphi (в Паскале вроде нет), что внутри цикла for и даже внутри него во вложенных циклах запрещено изменять счетчик цикла. Т.е. получается, что компилятору проще оптимизировать индуктивные переменные (у нас a[i]), не надо анализировать изменение где-то глубоко внутри цикла счетчик i. Ну нинаю, изменение счетчика внутри цикла - дурной тон, но в принципе не должен быть запрещен, как и оператор goto. Ну просто иногда позарез надо его менять (или переходить), иначе логика получается навороченной с кучей условий со многими флагами. Я такое не запретил у себя. Пусть лучше компиль мучается с оптимизацией, чем программист на нем.

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

    По умолчанию

    А по-моему правильное ограничение, это не тот цикл, в котором можно прыгать туда-сюда. Сказано 10 раз, значит 10. При необходимости можно воспользоваться циклами while, repeat, или выйти из for при помощи break.

  12. Этот пользователь поблагодарил Bolt за это полезное сообщение:

    Reobne (29.10.2019)

Страница 4 из 22 ПерваяПервая 12345678 ... ПоследняяПоследняя

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

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

Эту тему просматривают: 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

Ваши права

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