Собственная объектно-ориентированная библиотека компилятора - PullRequest
0 голосов
/ 20 июня 2011

В последнее время я думал о том, чтобы написать свой собственный язык - то, что я хотел сделать в течение некоторого времени.У меня был некоторый опыт написания парсеров / компиляторов для простых языков с использованием библиотеки .Net System.Reflection.Emit.Мне очень понравилось использовать эту библиотеку, особенно из-за ее ориентации на объектно-ориентированное проектирование языка.

Проблема в том, что я предпочел бы, чтобы это был родной язык.Поэтому мне было интересно: есть ли хорошие / простые в использовании библиотеки, которые фокусируются на выдаче кода для объектно-ориентированных языков (например, System.Reflection.Emit), но на самом деле будут генерировать нативный код, а не управляемый код?: Я сосредоточен на фактической генерации собственного кода, а не на разборе.Кроме того, было бы предпочтительнее, если бы библиотека была легко доступна из C ++, но работал бы любой язык.

1 Ответ

3 голосов
/ 20 июня 2011

Вас может заинтересовать LLVM , библиотека C ++ с открытым исходным кодом, специально разработанная для использования в качестве бэкэнда генерации кода для переносимых компиляторов.Помимо прочего, он уже используется для компилятора clang C / C ++ / ObjC.

...