Задать вопрос

Как создаются трансляторы?

Цель моей работы - создать экспертную систему. Грамматику экспертной системы я составил, теперь моя задача создать программу, которая будет переводить текст написанный по грамматике, в реальный код и сохранять необходимые данные в базу данных. Т.е. эксперт составил экспертную систему (написал ее код в файл), загрузил файл, а в ответ получил готовую экспертную систему, которую он может использовать. Так же он может из экспертной системы составить точно такой же код. То есть по сути реализация транслятора (или компилятора). Я в этом никогда не разбирался и хотел спросить, как это вообще делается? На каких языках пишется и какие технологии используются? Если можно, то подробнее опишите и направьте меня пожалуйста.
  • Вопрос задан
  • 206 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 5
artopp
@artopp
Писать на любом языке, который Вы знаете.
Перед этим прочитать книгу "Компиляторы. Принципы, технологии, инструменты" Альфред В. Ахо, Рави Сети
Ответ написан
@alexalexes
Гуглите "Курсовая работа по дисциплине Теория языков программирования и методы трансляции".
Получите максимально простой и сжатый гайд, как собрать транслятор одному единственному живому человеку и не сойти с ума.
Ответ написан
Комментировать
mayton2019
@mayton2019
Bigdata Engineer
Такая грамматика уже создана. Называется язык Prolog.

Сразу скажу что сама затея создания словесных экспертных систем обречена на провал.
Растущая комбинаторная сложность и сложность задавания вопросов этой системе
свела на нет все усилия лет 30 назад.

Сегодня такие системы считаются legacy, и языковые модели-чаты их полностью заметили.
Потому что обучить модель легче чем человеку описать сет рулов. И еще все это потом протестировать.
Ответ написан
Steel_Balls
@Steel_Balls
0KLRiyDQv9C40LTQvtGALiDQmNC00Lgg0L3QsNGF0YPQuQ==
В Книге Дракона всё подробно написано
Ответ написан
Комментировать
@Xiran
Можно попробовать LLVM.
P. S. Сам с этим никогда не работал
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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