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

User Tag List

Страница 13 из 13 ПерваяПервая ... 910111213
Показано с 121 по 125 из 125

Тема: LLVM Backend для Z80

  1. #121
    Veteran Аватар для Bedazzle
    Регистрация
    02.05.2015
    Адрес
    г. Таллин, Эстония
    Сообщений
    1,486
    Спасибо Благодарностей отдано 
    220
    Спасибо Благодарностей получено 
    149
    Поблагодарили
    115 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от UA3MQJ Посмотреть сообщение
    На компьютере должен быть установлен Docker. Вроде бы можно даже на Windows, но я не пробовал.
    На работе из-под винды как-то так

    Heavy on the disasm
    Eric and the disasm
    Mask 3: Venom strikes disasm
    Bard's disasm

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

    UA3MQJ (05.11.2020)

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

  4. #122
    Activist
    Регистрация
    21.08.2009
    Адрес
    Cyprus
    Сообщений
    233
    Спасибо Благодарностей отдано 
    81
    Спасибо Благодарностей получено 
    23
    Поблагодарили
    19 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Для 6502 сделали умельцы работоспособный, оптимизирующий, backend: https://llvm-mos.org/

    C, C++, Rust можно использовать, с некоторыми понятными ограничениями.

    Видео:

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

    Oleg N. Cher (27.07.2022)

  6. #123
    Master Аватар для Sandro
    Регистрация
    20.01.2010
    Адрес
    г. Зеленоград
    Сообщений
    590
    Спасибо Благодарностей отдано 
    27
    Спасибо Благодарностей получено 
    211
    Поблагодарили
    115 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    Меня заинтересовало, что кодогенератор Clang разворачивает рекурсию в цикл.
    Разворот концевой рекурсии в цикл -- стандарт для компиляторов уже много десятилетий. Собственно, многие современные алгоритмы обработки списков полагаются на это.

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    Сюда бы ещё асм-вставки и регистровую модель передачи параметров... а может есть?)
    Про это Clang ничего знать не должен, у него другие задачи. А так, у компиляторов на основе Clang всё это, разумеется, есть. Как же иначе?

  7. #124
    Activist
    Регистрация
    21.08.2009
    Адрес
    Cyprus
    Сообщений
    233
    Спасибо Благодарностей отдано 
    81
    Спасибо Благодарностей получено 
    23
    Поблагодарили
    19 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от mastermind Посмотреть сообщение
    Для 6502 сделали умельцы работоспособный, оптимизирующий, backend: https://llvm-mos.org/

    C, C++, Rust можно использовать, с некоторыми понятными ограничениями.
    Вот тут тема про этот backend: http://forum.6502.org/viewtopic.php?f=2&t=6450

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

    Oleg N. Cher (21.01.2024)

  9. #125
    Veteran Аватар для Oleg N. Cher
    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,610
    Спасибо Благодарностей отдано 
    2,182
    Спасибо Благодарностей получено 
    139
    Поблагодарили
    105 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Тема заглохла, но, возможно, кому-то будет интересен прямой (не через Си) способ разработки на Обероне под 6502 и Z80 (не проверен).

    У Майкла Гроссниклауса (Michael Grossniklaus) есть компилятор Oberon, который использует LLVM в качестве бэкэнда и, по крайней мере, теоретически, должен быть способен компилироваться в любой системе, имеющей бэкэнд LLVM, но в настоящее время поддерживает разработку под Windowsx86/AMD64, MacOS и Linux, а поддержка Windows ARM находится в стадии разработки.

    В этом проекте реализуется компилятор языка программирования Oberon в качестве интерфейса к инфраструктуре компилятора LLVM. Он написан на C++ и возник как проект, сопровождающий курс магистратуры «Конструирование компилятора», преподаваемый в Университете Констанца. Как следствие, этот компилятор изначально предназначался только для подмножества языка Оберон-0, как описано в книге Никлауса Вирта «Создание компилятора» (глава 6, стр. 30-32). С тех пор поддерживаемое подмножество Oberon постоянно расширялось с целью в конечном итоге охватить полную спецификацию языка, как описано в последней версии Oberon Language Report. Помимо этих «официальных» расширений, к поддерживаемому диалекту языка программирования Оберон были добавлены и другие функции. Эти функции были либо вдохновлены удобством, например, взаимодействием со стандартными библиотеками, либо ностальгией автора компилятора по изучению Turbo Pascal 6.0 как его первого языка программирования в старшей школе. Описание поддерживаемого в настоящее время диалекта Оберона с точки зрения синтаксиса и семантики (неофициальных функций) можно найти в разделе Wiki этого репозитория проекта.

    Для macOS и Linux были протестированы версии x64 и Arm64. Полная поддержка Windows (arm64) в настоящее время находится в стадии разработки. Подробные инструкции по сборке компилятора Оберона и его зависимостей можно найти в разделе Wiki репозитория проекта.

Страница 13 из 13 ПерваяПервая ... 910111213

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

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

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

Ваши права

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