Ответ 1
Как использовать один и тот же существующий интерпретатор C из С# через interop?
Около 13 лет назад мне понадобился способ script приложения, которое я писал в Borland С++. Я нашел интерпретатор C и встроил его в свое приложение. Это работает нормально, и у меня довольно много скриптов.
Теперь мне нужно переработать приложение и сделаем это на С#. Кто-нибудь знает о интерпретаторе C для С#? У меня есть исходники для исходного интерпретатора, но мне просто нужно сэкономить некоторое время.
Edit Вот выдержка из script:
main()
{
LwSet( "STUFE", "00.00" );
LwSet( "STATUS", "Warten", "AUS" );
do
{
LwSet( "DEBUG", "OFF" );
LwSet( "FUNKTION", "Warten auf Start" );
do
{
rc = LwGet( "Event" );
if( rc == "QUIT" ) {
...
LwSet/LwGet вызывает функции, которые я зарегистрировал в интерпретаторе, и функции моего приложения.
Edit2
Прежде чем кто-либо почувствует необходимость рассказать мне, какой другой язык я использовал ,, вот мой комментарий ниже:
В то время, и учитывая имеющиеся навыки, это был не раздражающий выбор. Теперь, 13 лет спустя, многие вещи выглядят совсем по-другому! Я просто застрял в куче квази-C-скриптов, которые я хотел бы использовать, не конвертируя их как-нибудь.
Как использовать один и тот же существующий интерпретатор C из С# через interop?
Отличный генератор синтаксического анализа ANTLR имеет поддержку для С#. Его examples включает грамматику C для С#.
Это, очевидно, не полный интерпретатор, но грамматика, лексер и синтаксический анализатор станут хорошей отправной точкой.
Я не знаю ни одного интерпретатора C для С#, но есть механизм сценариев С#, который вы могли бы использовать.
Ближайшее мнение, о котором я знаю, это: http://www.softintegration.com/
Добавлена следующая ссылка Есть ли интерпретатор для C?
Отношения Friedrich