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