Вероятно, не, если Вы имеете не соответствующий сайт для начала и коротки вовремя.
Однако и Вы не будете верить мне, потому что я не верил другим для начала, но легче сделать сайт совместимым из запуска - это сохраняет Вас головные боли с точки зрения совместимости браузера, поведения CSS и даже поведения JavaScript, и это обычно - меньше разметки для поддержания.
соответствие Сайта (по крайней мере, к Переходному) довольно легко.
Метациркулярный оценщик в SICP - это упражнение для написания интерпретатора схемы на схеме. Это обычный проект CS для первого года обучения.
Очень просто написать интерпретатор для программирования язык Форт (раз уж вы знаете, как - но это хорошо задокументировано). Форт использовался для решения реальных проблем более 40 лет.
Возможно, это слишком просто, но вы многому научитесь в процессе.
Легкое (онлайн) введение находится в глава 9 книги Лео Броди «Начинающий ВЕРСТ».
Исходный Паскаль Вирта является хорошим кандидатом и часто используется в качестве демонстрации в генераторах парсеров. Его грамматика - LL (1), в остальном довольно строгая, поэтому ее легко разбирать. С точки зрения функций он также довольно ограничен.
Вы можете немного повозиться с ним - например, вы можете игнорировать указатели, но поддерживать строки первого класса.
Форт. Хорошо, теперь я набираю это только потому, что мне нужно как минимум 15 символов в ответе, но самые маленькие реализации Forth составляют пару килобайт. Трудно представить какой-либо другой язык с таким маленьким ядром. Может быть, оригинальный Lisp McCarthy 1958 года, где функции были скомпилированы вручную.
I можно подумать о языке синтаксиса разметки, Лиран. Структура синтаксиса упрощает синтаксический анализ, поскольку блоки кода четко разграничены между начальными и конечными тегами. Теоретически вы можете легко создать интерпретатор уровня 1, который анализирует и запускает код напрямую.
Тем не менее, не существует никаких языков разметки, которые бы делали значимые вещи в том контексте, к которому, как мне кажется, вы стремитесь (вы можете написать твой собственный). Следующим лучшим выбором, вероятно, будут языки с минимальной функциональностью и, желательно, не поддерживающие процедурное программирование. Для такого языка, как BASIC, должно быть легко построить интерпретатор уровня 1.
Следующее, что лучше всего, это ранние скриптовые языки, которые не предлагали много синтаксических элементов и были довольно короткими по сложности. Однако я не могу придумать ни о чем.
Но, возможно, лучший вариант для вас - создать свой собственный язык.
В моем классе операционных систем в колледже мы написали интерпретатор для Db (D-flat). Это было очень просто и четко определено.