Ну наконец то подошли к компиляторам!!! Гы... Я поетому и молчал немножко!!!
На
http://exmortis.narod.ru/ я изучил и скачал почти все компилеры (Интерес представляли тока пара 32 битных)
Тут по шагам как сделать компилер на ПАСКАЛЕ
http://kit.kulichki.net/crenshaw/crenshaw.html
Советую изучить внимательно статьи и (кстати код вполне там рабочий если поправить пару строк кода) компилятор Inno Pascal - 32 бит с отладчиком по мойму и дебаггером и оптимизацией....
ЗЫ...
Кстати а линуксоиды чево не подключаются... FreePascal тож в исходниках идет!!!
Вот прикрепляю исходник базового компилятора для любого языка (кто какой потом кодоген сделает и сканер прикрутит)...
Реализована функция разбора выражений... наглядная пока, тоесть попросту калькулятор (оптимизация с шагом назад), потом мож прикручу полную с заглядыванием вперед.
Разбор выражений вида
22.44 + ((((33.66 - 5*12.5) - 4+12)-(1+5.7)/2)+11);
Ну то есть ядро любого компилера, то есть вычисления, затем, если не будет вопросов
прикручу присваивание и формирование таблицы переменных и таблицы вызовов функций...
Далее булевы операции и управляющие конструкции типа for-next if-then-else ...
И останетцо самая малая часть - разбор прецедур-функций и типизация переменных...
