а потом с этими однопроходными компиляциями начинаются жалобы на какую-то полноту по Тьюрингу. Мол не понятно, что значит а * б и вообще все сложна. Компилятор тормозит, требует постоянно какую-то дополнительную инфу и вообще результаты работы своей кешировать не умеет.
ЦПУ, когда перешли с обработки опкодов на микрокод, стали работать почему-то быстрее.
ЦПУ, когда перешли с банальной обработки команд на конвейеризацию и предсказание ветвлений, стали работать быстрее.
Изучайте суперскалярные вычисления, их логику и вообще философию векторной обработки.
Вон - человек написал самый быстрый парсер json с использованием векторных обработок (жаль в джаве их не удастся использовать). И ведь у него почти нет ветвлений - все на арфиметике, да логике.
Если такое можно сделать на уровне символов - json, да и токенов - ANTLR, то почему подобное нельзя сделать на уровне семантики? Зачем усложнять, если можно разделить все на тривиальные задачи, которые проц будет выполнять быстрее, чем ваше однопроходное творение искусства?
«А потом с этими однопроходными компиляциями начинаются жалобы на какую-то полноту по Тьюрингу. Мол не понятно, что значит а * б и вообще все сложна. Компилятор тормозит, требует постоянно какую-то дополнительную инфу...»
Это всё никак не относится к однопроходному компилятору Оберона. Оберон полон по Тьюрингу, все выражения на нём однозначны. «Что такое а * б» понятно.
Соответственно, вы говорите о чём-то совсем другом, называя это однопроходным компилятором.
P.S. «Мгновенная» компиляция в данном контексте означает «достаточно быстрая».