Size: a a a

Compiler Development

2020 February 10

VK

Vladimir Kazanov in Compiler Development
Peter Sovietov
Судя по логам чата, первый раз я давал ссылку на проект Selfie год назад. Приятно, что проект вызвал, хоть и запоздалое, обсуждение :)
RISC-U это подмножество RISC-V. То есть обычный GNU-инструментарий подойдет для компиляции программ для RISC-U. Так что архитектура вовсе не виртуальная.
А какие сейчас основные по популярности архитектуры? ;-)
источник

VK

Vladimir Kazanov in Compiler Development
Peter Sovietov
Судя по логам чата, первый раз я давал ссылку на проект Selfie год назад. Приятно, что проект вызвал, хоть и запоздалое, обсуждение :)
RISC-U это подмножество RISC-V. То есть обычный GNU-инструментарий подойдет для компиляции программ для RISC-U. Так что архитектура вовсе не виртуальная.
И почему авторы selfie не используют реальный инструментарий? :-)
источник

AT

Alexander Tchitchigin in Compiler Development
Peter Sovietov
Судя по логам чата, первый раз я давал ссылку на проект Selfie год назад. Приятно, что проект вызвал, хоть и запоздалое, обсуждение :)
RISC-U это подмножество RISC-V. То есть обычный GNU-инструментарий подойдет для компиляции программ для RISC-U. Так что архитектура вовсе не виртуальная.
Да у меня это обсуждение начало вызывать сильнешее чувство дежа-вю! 😂
источник

PS

Peter Sovietov in Compiler Development
В Selfie есть странности, в духе хранения всего одного кода в одном файле. Но в целом это типичный учебный проект, вдохновленный Виртом, а-ля Project Oberon.
источник

AT

Alexander Tchitchigin in Compiler Development
Vladimir Kazanov
И почему авторы selfie не используют реальный инструментарий? :-)
Потому что большинство студентов сидят на Windows? 😃
источник

PS

Peter Sovietov in Compiler Development
Vladimir Kazanov
А какие сейчас основные по популярности архитектуры? ;-)
RISC-V претендует на "one ring to rule them all". И, что важно для преподавателей, для RISC-V есть масса учебных материалов, недорогих учебных плат и открытых ПЛИС-реализаций.
источник

VK

Vladimir Kazanov in Compiler Development
Alexander Tchitchigin
Потому что большинство студентов сидят на Windows? 😃
А под виндой нет компиляторов? :-P
источник

AT

Alexander Tchitchigin in Compiler Development
Peter Sovietov
В Selfie есть странности, в духе хранения всего одного кода в одном файле. Но в целом это типичный учебный проект, вдохновленный Виртом, а-ля Project Oberon.
О чём они явно пишут на своей странице. 😊
источник

AT

Alexander Tchitchigin in Compiler Development
Vladimir Kazanov
А под виндой нет компиляторов? :-P
Вот поэтому Selfie в одном файле легко скомпилировать на Windows, а поднять "GNU toolchain" да для RISC-V кросс-компиляции - не каждый осилит. 😁
источник

PS

Peter Sovietov in Compiler Development
Vladimir Kazanov
И почему авторы selfie не используют реальный инструментарий? :-)
Но тогда это будет курс для системных администраторов: как скомпилировать, как настроить виртуальную машину и проч. :)
источник

VK

Vladimir Kazanov in Compiler Development
Peter Sovietov
Но тогда это будет курс для системных администраторов: как скомпилировать, как настроить виртуальную машину и проч. :)
администратор нужен для настройки кластера в 100 машин. :-) для запуска qemu или Bosch админ, надеюсь, все же не требуется.
источник

AT

Alexander Tchitchigin in Compiler Development
Peter Sovietov
Но тогда это будет курс для системных администраторов: как скомпилировать, как настроить виртуальную машину и проч. :)
Это секретный план @vekazanov - ненавящиво подменить все курсы системного программирования курсами системного администрирования. 😉
источник

VK

Vladimir Kazanov in Compiler Development
Alexander Tchitchigin
Это секретный план @vekazanov - ненавящиво подменить все курсы системного программирования курсами системного администрирования. 😉
Мой сосед по общежитию, программист по образованию,, долго считал, что компиляция это такая зелёная кнопка в Студии.

Это ваша цель? :-) тот сосед потом поехал в Финляндию по обмену, где ему дали консоль к мейнфрейму с древним форком емакса для изучения программирования распределённых систем.
источник

PS

Peter Sovietov in Compiler Development
Vladimir Kazanov
администратор нужен для настройки кластера в 100 машин. :-) для запуска qemu или Bosch админ, надеюсь, все же не требуется.
Вообще, надо начинать с целей проекта. По своему скромному опыту преподавания я вижу, что "междисциплинарный" проект как раз может быть востребован. Его можно использовать и в курсе конструирования компиляторов, и в курсе архитектуры ЭВМ. В перспективе, и в курсе по ОС. Студенты таким образом лучше осознают взаимосвязи между разными предметами, а с хорошими лабораторными и курсовыми поймут еще и, что "не боги горшки обжигают" :)
источник

VK

Vladimir Kazanov in Compiler Development
Peter Sovietov
Вообще, надо начинать с целей проекта. По своему скромному опыту преподавания я вижу, что "междисциплинарный" проект как раз может быть востребован. Его можно использовать и в курсе конструирования компиляторов, и в курсе архитектуры ЭВМ. В перспективе, и в курсе по ОС. Студенты таким образом лучше осознают взаимосвязи между разными предметами, а с хорошими лабораторными и курсовыми поймут еще и, что "не боги горшки обжигают" :)
Ну я ведь за то же самое ратую! В одной хорошей книге по data flow analysis, к примеру, предлагается сразу проход к gcc делать

Игорь Жирков в своей книге идёт от инструкиц реального процессора вверх, к языкам высокого уровня, и всегда с настоящими инструментами
источник

AT

Alexander Tchitchigin in Compiler Development
Vladimir Kazanov
Мой сосед по общежитию, программист по образованию,, долго считал, что компиляция это такая зелёная кнопка в Студии.

Это ваша цель? :-) тот сосед потом поехал в Финляндию по обмену, где ему дали консоль к мейнфрейму с древним форком емакса для изучения программирования распределённых систем.
> Это ваша цель? :-)

Напоминаю, что мы обсуждаем проект, объединяющий в одном флаконе эмулятор CPU, гипервизор, компилятор и ма-ааленький кусочек ОС. 😉
источник

VK

Vladimir Kazanov in Compiler Development
В питерском политехе был курс, который чуть-чуть до вашего видения не дотягивает: там сначала надо было сделать логические блоки, из них сделать простой процессор, который запускается в эмуляторе и гоняет программы, которые студент же и пишет
источник

PS

Peter Sovietov in Compiler Development
Vladimir Kazanov
Ну я ведь за то же самое ратую! В одной хорошей книге по data flow analysis, к примеру, предлагается сразу проход к gcc делать

Игорь Жирков в своей книге идёт от инструкиц реального процессора вверх, к языкам высокого уровня, и всегда с настоящими инструментами
Получается, что раз сегодня актуальнее уже LLVM, то учить надо именно тонкостям работы с этим фреймворком. Но ведь в этом отношении университеты всегда были несколько консервативны, чаще выбирали академические изящные инструменты, а не промышленных "монстриков", которые находятся "в трендах" :)
источник

VK

Vladimir Kazanov in Compiler Development
Peter Sovietov
Получается, что раз сегодня актуальнее уже LLVM, то учить надо именно тонкостям работы с этим фреймворком. Но ведь в этом отношении университеты всегда были несколько консервативны, чаще выбирали академические изящные инструменты, а не промышленных "монстриков", которые находятся "в трендах" :)
Turbo Pascal я политеху никогда не прощу
источник

VK

Vladimir Kazanov in Compiler Development
Все понимаю, но не прощу. Кстати, первый маленький интерпретатор я на нем и написал.
источник