История изменений
Исправление tailgunner, (текущая версия) :
Питон появился и жил без использования AST с 1991 по 2006 год, 15 лет
Да. У него был CST, а это отнюдь не однопроходный компилятор (aka syntax-directed translation).
То есть они сделали генерацию в AST(или что там у них)
Именно - они ее сделали. Причем сделали давно.
Ну я глазами и грепом посмотрел trunk, там нет слова ast
node.c - ruby node tree
AST это или CST - лень разбираться, но больше похоже именно на AST.
Непонятно, причем тут интерпретаторы
Мы же все еще о том как проще написать свой новый язык?
AST не имеет отношения к интерпретации. Если ТС хочет статическую типизацию (сильно подозреваю, что он хочет), ему нужно представление гораздо более высокого уровня, чем байткод. ПМСМ, AST ему вполне подойдет.
Исходная версия tailgunner, :
Питон появился и жил без использования AST с 1991 по 2006 год, 15 лет
Да. У него был CST, а это отнюдь не однопроходный компилятор (aka syntax-directed translation).
То есть они сделали генерацию в AST(или что там у них)
Именно - они ее сделали. Причем сделали давно.
Ну я глазами и грепом посмотрел trunk, там нет слова ast
node.c - ruby node tree
AST это или CST - лень разбираться, но больше похоже именно на AST.
Непонятно, причем тут интерпретаторы
Мы же все еще о том как проще написать свой новый язык?
AST не имеет отношения к интерпретации. Если ТС хочет статическую типизацию (сильно подозреваю, что он хочет), ему нужно представление гораздо более высого уровня, чем байткод. ПМСМ, AST ему вполне подойдет.