Здравствуйте, dmz, Вы писали:
dmz>Я, вообще-то, имел ввиду, что чтение и разбор файла делаются на два порядка быстрее, чем последующая обработка AST и генерация кода.
Тут нельзя утверждать что-то в общем.
Скажем "чтение и разбор" С++-файла значительно более вычислительно-сложная задача чем генерация байткода эрланга.
И наоборот. Вывод типов и оптимизация в современном языке значительно сложнее чем парсинг простого языка (вроде Паскаля).
dmz>Наверное, для других языков соотношение будет где-то такое же.
Естественно. Все зависит от языка и задачи.
Вопрос же в том имеет ли смысл использовать тот или иной язык для задачи или нет. Я бы для создания компилятора выбрал бы какой нибудь наследник МЛ-я. На сегодня таких море: ОКамл/F#, Скала, Немерле, Хаскель. Все отлично подходя для данной задачи. Кроме того разумно было бы воспользоваться построителями парсеров.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.