У llvm синтаксис какой то неудобный , не красивый. А вообще байт-коды хорошая идея, но не стоит использовать через виртуальную машину. Лучше http://en.wikipedia.org/wiki/AOT_compiler, и jit'a не надо. В коде llvm мало чего понятно, слишком сложно. Нашел еше "GNU lightning" он тоже написан на препроцессоре но в с-макросах. Там если изучать, более понятно.
хороший вариант будет таким: Код (Text): Proc Functionnen push r0, r1, r2, r3 r1 = r0 //вместо // mov r1, r0 r1 =?= "R" // вместо //cmp r1,”R” r1 += (r2 <<1) //addeq r1, r2, r2 shl 1 r5++//inc r5 [r6] = [var3] //ошибка [r6] = r4 = [var3]//сконвертируется в mov r4, [var3] ; mov [r6], r4 r7 =?= 45, if ZF goto <metka>//сконвертируется в cmp r7, 45 ; jz <metka> endp суть : заменить команды ассемблера операторами, и упростить те вещи которые очень надоедают в ассемблере
Такое уже есть называется L.IN.OLEUM. Но он пока поддерживает толко х86. Наверное в место адресаций использовать си-шные адресацию, типа массив[0][3].
Гм, а о чем весь сыр/бор? К сожалению, автор темы нехорошо поступил, по-видимому затерев начальное сообщение темы, когда сам с чем-то определился... Речь идет о написании компилятора? Если да, то эта тема мне очень интересна, могу предложить сотрудничество, есть уже некий опыт в этой области. Вот сейчас создам тему, посвященную проекту, который хочется делать, из-за этого и попал в этот раздел.
Асм подобный язык. Парсится и транслируется Перлом в фасм, и дальше доделает фасм. Написал половину 64 версию, а потом что то желание пропало