Есть ли способ написать компилятор внешнего интерфейса LLVM на C #? [закрыто]

7
задан Peter Mortensen 1 April 2017 в 10:25
поделиться

3 ответа

Почему бы и нет. Существует справочник по языку для LLVM, и пока вы соответствуете языку, нет никаких причин, по которым вы не можете написать что-то на C#, которое будет анализировать этот язык и либо:

  • Производить вывод на основе на языке (как интерпретатор реального времени)
  • Создайте сборку на C#, которая будет выполнять инструкции LLVM

Это не значит, что это будет легко, но можно сделать.

9
ответ дан 6 December 2019 в 19:30
поделиться

Есть два способа. Вы можете P/Invoke связывать LLVM с C (более чем достаточно для реализации серверной части компилятора), или вы можете написать свою собственную оболочку с помощью C++/CLI.

Я использовал дамп XML AST, сгенерированный Clang, для заголовков привязок C LLVM, чтобы автоматически сгенерировать для них привязки .NET. Но сделать это больше невозможно, так как принтер XML AST был удален из Clang, а замены нет.

3
ответ дан 6 December 2019 в 19:30
поделиться

Если вам нужен компилятор LLVM ДЛЯ C#, Mono 2.6 может использовать LLVM

1
ответ дан 6 December 2019 в 19:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: