В настоящее время я изучаю компиляторы и имею некоторые проблемы с пониманием обычных наборов. Например, допустим, что у меня был набор двоичных строк (0, 1). Все ли целые числа, которые являются четными и положительными, считаются частью обычного набора? Допустим, у меня такой же набор, но вместо того, чтобы быть четным, они делятся на 5, будет ли он еще регулярным?Являются ли следующие наборы регулярными?
Я смотрел this helpful guide I found online, но я все еще смущен тем, что можно определить как обычный набор.
Я знаю, как писать регулярные выражения, но я понятия не имею, о чем вы говорите. Возможно, вам стоит взглянуть на [CS.SE] (http://cs.stackexchange.com) и спросить об этом. – HamZa
Да, это обычный, язык Как? Если вы разделите число на '5', то можете быть либо 0, 1, 2, 3, 4 (это похоже на то, что вам нужно пять статистических данных в DFA). Добавление бит к числу всегда перемещается только на один из возможных 5 этапов (нет другого возможный ход). Таким образом, любой экземпляр времени, в течение которого вы требовали только ограниченную информацию для запоминания, чтобы обрабатывать строку языка. Следовательно, это обычный язык. –