>>/9967/
...
> Почему бы код не переводить в код С? А потом компилировать произвольным компилятором?
Зачем мне компилировать лайси-байткод или даже просто отпарсенный код в C, то есть генерировать заново дополнительный код, чтобы потом его ещё какой-то неизвестный компилятор пропарсил, потом скомпилировал, а потом они ещё стандартный стандарт C и C++ изменят и придётся правила трансляции кода изменять, это всё ужасно, это отвратительно. Зачем вообще нужно компилировать в другой ЯП? Взял LLVM и скомпилировал в него, а его скомпилировать llvm-as (лучше библиотекой, а не утилитой) в любую доступную архитектуру.
Вообще, хорошо бы компилировать не llvm в машинный код, а сразу лайси-байткод в машинный код, потому что Лайси более широкий, он не зацикливается на интах, он оперирует целыми массивами, я, может, ещё много месяцев или лет буду разрабатывать по каким правилам векторы умножаются с матрицами, с каким шагом и направлением, где можно распараллелить, а где нельзя, компилировать лайси-байткод в SPIRV или код видеокарты нвидии, радеона, интела. Компилировать функциональные участки в Verilog, чтобы прямо в ПЛИСе всё за один такт считалось!
У меня в Лайси и так существует препроцессинг, то есть текстовый код генерируется текстовым кодом. А это не очень хорошая тактика, но я так просишился, что уже не представляю язык, близкий к машинам и чтобы без препроцессинга, потому что рано или поздно придётся писать макросы. У меня темплейты через @for генерируются (или будут генерироваться, не помню, работает сейчас или нет), а под темплейты генерируются функции, использующие дженерики. Дженерики тоже могут через @for генерировать типы.
Ох, как вспомню тот же GLSL. То есть это си-подобный язык и его должен компилировать ДРАЙВЕР или библиотека, использующая ДРАЙВЕР. Хорошо, хоть не видеокарту заставили GLSL парсить и компилировать. Представьте, придут дядьки к инженерам, вот пишите на верилоге парсер GLSL, это нужно, чтобы поддерживать легаси GLSL демосценщиков их 1920-х годов, когда они ещё радиолампами токи стреляли. А напишите-ка ещё на верилоге таблицу юникод-глифов, чтобы шрифты прямо с процессора запускать. А давайте сделаем мониторы с новым VGA-режимом, но чтобы он был текстовый. Шрифт загружается из напылённого ROM, нет пусть ROM ещё будет и аналоговым для сглаживания, вот загружаем юникод-буквы (кроме букв враждебных стран) из одной аналоговой таблицы, ищем для неё глиф одного из шрифтов из другой аналоговой таблицы и рисуем его на мониторьчике. Будет сначала BIOS-приветствие из букв, а потом загрузка виндовса. Чтобы нарисовать виндовс, надо уменьшить юникод-глифы до размеров пикселя и поставить один из 360 HSV-цветов наибольшей яркости и насыщенности. А чтобы менять яркость, выбираем глиф с меньшим размером. Для белого будет O, а для чёрного .
Ахахахаха