Взаимосвязь между синтаксическим анализом, выделением и завершением

В течение некоторого времени я думал о разработке небольшого игрушечного языка с нуля, ничего, что могло бы «править миром», но в основном в качестве упражнения. Я понимаю, что для этого нужно многому научиться.

Этот вопрос касается трех разных концепций (синтаксический анализ, выделение кода и завершение), которые кажутся мне чрезвычайно похожими. Конечно, парсинг и ASTgen - это часть компиляции, в то время как выделение и завершение кода - это скорее функция IDE, но мне интересно, в чем их сходства и различия.

Мне нужны подсказки от кого-то, кто более опытен в этой теме. Какой код может использоваться совместно этими концепциями и какие архитектурные соображения могут помочь в этом смысле?

6
задан Giovanni Funchal 20 April 2011 в 08:23
поделиться