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