Интерпретаторы, написанные на стандартном C или C++

Существуют ли расширяемые интерпретируемые языки программирования, написанные на стандартном, платформонезависимом C или C++?

Я хотел бы иметь возможность просто поместить все исходники в один каталог, скомпилировать их любым стандартным компилятором C или C++ и создать исполняемый файл, который читает и интерпретирует файлы сценариев на указанном языке сценариев.

Похоже, что многие языки программирования, "написанные на C", часто включают в себя множество функций, зависящих от платформы, на которой они работают, и, как следствие, требуют запуска некоторой программы конфигурации, основанной на целевой системе (например, Autoconf), что усложняет ситуацию и ограничивает межплатформенную совместимость.

Причина вопроса:

Мне интересно узнать об устройстве языков программирования. Я играл с некоторыми игрушечными языками программирования после изучения учебников по yacc, lex и llvm. Однако недавно я заинтересовался изучением языка программирования, написанного на переносимом C/C++, поскольку таким образом я могу изучать программу и код на любой машине, поддерживающей стандартный компилятор C или C++ (возможно, даже на моем ipad), и при этом иметь достаточно единообразный опыт.

Поскольку это только для образовательных целей, язык сценариев не должен поддерживать супернизкоуровневые функции, как C, или GUI, как Java (я не думаю, что вы можете написать какой-либо GUI, ограниченный стандартным C/C++), или любой сложный io, если на то пошло. Однако я хотел бы, чтобы язык был достаточно полным, чтобы на нем можно было писать полезные программы (например, чтобы можно было расширить язык с помощью C/C++, чтобы можно было использовать его как оболочку на tty).

Спасибо.

Edit:

@AndréCaron Я бы предпочел, чтобы хотя бы ядро языка было на 100% независимым от платформы. Это было бы нормально, если бы язык включал большую стандартную библиотеку, которая зависит от других библиотек, чтобы сделать его "более полезным", однако, я хотел бы иметь возможность удалить стандартную библиотеку и использовать только ядро языка (возможно, с пользовательскими библиотеками, написанными вручную), если я хочу.

7
задан vainolo 22 May 2012 в 08:35
поделиться