User Tag List

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 36

Тема: Создание кросскомпилятора языка Оберон для Z80

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

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

    Регистрация
    03.01.2006
    Адрес
    Рязань
    Сообщений
    2,935
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Eltaron Посмотреть сообщение
    С одной стороны вроде и незачем, ведь сишных либ для ZX как бы и нету.
    Графические есть.

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

  3. #2

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

    По умолчанию

    Цитата Сообщение от vinxru Посмотреть сообщение
    Я бы на вашем месте сделал макросы и include. С помощью них можно реализовать даже шаблоны (template) на языке типа C, гораздо более гибкие (и еще менее поддающиеся отладке ), чем на C++.
    А ещё шаблоны можно реализовать на Обероне и без макросов: http://sage.com.ua/ru.shtml?e1l5

    Цитата Сообщение от alone Посмотреть сообщение
    Графические есть.
    Озвучьте, если я что-то упустил.

  4. #3

    Регистрация
    03.01.2006
    Адрес
    Рязань
    Сообщений
    2,935
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

  5. #4

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от alone Посмотреть сообщение
    Вот кстати - да.
    SDCC или Z88dk?
    Кто чем пользуется, какие + и - ?
    Лучше сделать и жалеть, чем не сделать и жалеть.

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

  6. #5

    Регистрация
    16.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,082
    Записей в дневнике
    11
    Спасибо Благодарностей отдано 
    173
    Спасибо Благодарностей получено 
    493
    Поблагодарили
    343 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    Вот кстати - да.
    SDCC или Z88dk?
    Кто чем пользуется, какие + и - ?
    Надо портировать под sdcc либы z88dk, и у последнего вообще плюсов не останется
    Хороших си компайлера только два - sdcc и iar. Удобный только один - sdcc.
    Я к нему еще и отладчик прикрутил, через gdb и ZXMAK2. Соберу всё под винду и зарелижу.
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI YTINK 9 Channel

  7. #6

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Eltaron Посмотреть сообщение
    Я к нему еще и отладчик прикрутил, через gdb и ZXMAK2. Соберу всё под винду и зарелижу.
    Отладчик source-level ?
    Лучше сделать и жалеть, чем не сделать и жалеть.

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

  8. #7

    Регистрация
    16.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,082
    Записей в дневнике
    11
    Спасибо Благодарностей отдано 
    173
    Спасибо Благодарностей получено 
    493
    Поблагодарили
    343 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    Отладчик source-level ?
    Ага, точки останова прямо в сишном коде.
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI YTINK 9 Channel

  9. #8

    Регистрация
    01.12.2010
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,657
    Записей в дневнике
    21
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    А ещё шаблоны можно реализовать на Обероне и без макросов: http://sage.com.ua/ru.shtml?e1l5
    Шаблоны, это когда компилятор пишет за тебя обертки над list. Вот у вас в статье приведен код, на Си++ он был бы "list<longint>".

  10. #9

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

    По умолчанию

    Цитата Сообщение от vinxru Посмотреть сообщение
    Шаблоны, это когда компилятор пишет за тебя обертки над list. Вот у вас в статье приведен код, на Си++ он был бы "list<longint>".
    Оберон-системы – это обычно компонентные среды. Там каждый модуль скомпилирован и находится в своём слоте. Теперь добавьте сюда ифдефы. Вы пересобрали модуль с другой конфигурацией, и всех остальных модулей среды, зависимых от нашего, это тоже коснётся. Поэтому тут как бы нету вообще никакой нужды иметь, например, ифдеф для переключения юникод это или анси. Понимаете почему. Если делается отчуждаемая программа, не часть Оберон-среды, тогда смысла несколько больше, но всё равно немного. Потому что применим родной принцип Оберон-сред – иметь 2 реализации модуля с юникодом и анси, и пользоваться той, которая нужна. Не надо иметь один модуль, который постоянно переконфигурируют ифдефами. Но это простой случай. В случае с шаблонами предлагается примерно то же самое, но только хочется задавать тип как аргумент для реализации. Если это всё до безобразия упростить, то мы выходим на один модуль, который реализует все эти типы (пусть даже через копипасту и замену типа ручками), но лучше если модулей (или реализаций модуля) будет несколько, а выбирается из них именно нужное. Теперь видите сами, что такого способа конструирования шаблонов можно легко избежать. А если вспомнить старый добрый Турбо Паскаль, то в нём ничего такого и не было в принципе, а класс задач решался широчайший.

    Мне Оберон-2 видится как необходимый минимум, на который можно насадить сверху любые надстройки, добавить нужные возможности. И шаблоны, и всё, что понадобится. Но это другая языковая база, свободная от многих недостатков Си, Си++, Си#, Java и даже Ada и Delphi. Хотите на эту тему подискутировать? Пожалуйста. Только вначале перечтите ветку http://zx.pk.ru/showthread.php?t=18336, а то устал каждому одно и то же объяснять. А ещё лучше прочтите ссылки в начале этой ветки форума: http://zx.pk.ru/showthread.php?t=18418, может отпасть много вопросов и сомнений.

    Цитата Сообщение от Robus Посмотреть сообщение
    У меня такой вопрос:

    1. В конце процедуры, например, "add" есть запись "END Add;", поймёт ли он просто "END;" ?
    Нет. И это сделано затем, чтобы было легко различимо, где конец цикла/ифа, а где более глобальный конец процедуры. Меня в Си бесит, что одна и та же скобка } может закрывать всё. Володя Мутель даже придумал в таких случаях её удваивать, но это хак, согласитесь.
    Код:
    void fn (void)
    {{
      if(...)
      {
      }
    }}
    2. Красным выделю вариант. Меня интересует поймёт ли компилятор ?
    Думаю, Вирт и сам понял, что эти BEGIN пора сокращать. В языках Оберон и Модула BEGIN пишется только в начале процедур (и в секции инициализации модуля).
    3. Как компилятор относится к регистру в тексте ? Могу ли я объявить процедуру Большими символами, а вызывать её маленькими ?
    Регистр обязательно важен, как и в Си, и я считаю, что это ценно, потому что в Паскаль-программах часто пишут переменные, типы и процедуры как попало, смешивая регистр безо всякой системы. Оберонщик Саша Ильин выработал полезные соглашения для программирования, которые позволяют понять, константа это или переменная, не заглядывая вверх по тексту программы, ну и ещё некоторые полезные возможности. См. ссылку: http://forum.oberoncore.ru/viewtopic.php?f=29&t=3892

    Цитата Сообщение от bigral Посмотреть сообщение
    Тогда гипертрофируя твою идею все языки программирования должны компилиться с С? Не глупо ли плодить промежуточные уровни? Компилить надо только в ASM.
    А почему не сразу в машинный код? Асм тоже промежуточная стадия. Кстати, bigral, Вирт тоже против промежуточных уровней. См.статью "Хорошие идеи – взгляд из Зазеркалья": http://citforum.ru/programming/digest/wirth/

    Отвечаю на вопрос, зачем там Си. Компилятора Оберона для Z80 нету, а разрабатывать проги для ZX хотелось попробовать, и чтобы кодогенерация была хорошей.

    Придёт время, от SDCC в этой связке можно и избавиться. Но нужно, обязательно нужно: заинтересовать сообщество, совместно наработать библиотеки и достичь концептуальной ясности того, что предстоит реализовать. Поэтому работающий макет через Си – лучше, чем несуществующий Оберон для ZX, действительно.
    Последний раз редактировалось Oleg N. Cher; 25.03.2012 в 13:54.

  11. #10

    Регистрация
    12.07.2006
    Адрес
    г. Киев, Украина
    Сообщений
    2,147
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    95
    Поблагодарили
    82 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Создание форума
    от CityAceE в разделе Форум
    Ответов: 43
    Последнее: 10.07.2016, 22:23
  2. Ответов: 172
    Последнее: 10.12.2012, 18:36

Ваши права

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