Nikkil Kothari's Script# вполне возможно является одной из самых удивительных концепций, которые я видел на арене JavaScript в течение довольно долгого времени. Этот вопрос касается не JavaScript, а скорее компиляции языка в среде выполнения .NET.Как создать сторонний компилятор для .NET.
Мне было интересно, как с помощью платформы .NET можно написать компилятор для языка, на котором уже есть компилятор (например, C#), который будет генерировать отдельный вывод из исходного компилятора, позволяя исходному компилятору для генерации вывода для одного и того же источника во время одной и той же операции сборки, все время ссылаясь/используя вывод другого компилятора.
Я не совсем уверен, что я даже хорошо разбираюсь в этом процессе, чтобы задать вопрос с правильными деталями, но так я вижу процесс в соответствии с диаграммами в сценариях # docs. Я подумал о многих вещах, связанных с сложным дизайном и компиляцией языка, которые могут использовать такие концепции, как это, и мне интересно, что другие люди думают о концепциях.
-
Edit: Спасибо за комментарий, до сих пор; ваша информация сама по себе очень интригующе, и я хотел бы исследовать ее больше, но мой вопрос заключается в том, как я смогу написать свои собственные компиляторы, которые могут запускаться на одном и том же источнике одновременно производя несколько различных типов (потенциально) взаимозависимых результатов с использованием CLR. Сценарий # служит в качестве примера, поскольку он генерирует JavaScript и сборку с использованием того же источника C#, и все это время скомпилированная сборка взаимодействует с JavaScript. Мне любопытно, что различные подходы и теоретические концепции в разработке чего-то такого рода.
Не совсем то, что я искал здесь (см. Выше), но я ценю информацию о Вольте, поскольку это еще одна захватывающая реализация в этом направлении, о которой я хотел бы узнать больше. – TheXenocide 2008-09-17 03:31:24
MS сломал Volta, но вы можете делать аналогичные вещи с помощью http://jsc.sourceforge.net/ – mcintyre321 2009-08-06 11:35:45