Вопросы с тегом «context-free-grammar»

20
Является ли C ++ контекстно-зависимым или контекстно-зависимым?
Я часто слышу заявления о том, что C ++ является контекстно-зависимым языком. Возьмите следующий пример: a b(c); Это определение переменной или объявление функции? Это зависит от значения символа c. Если cэто переменная , то a b(c);определяет переменную с именем bтипа a. Это напрямую инициализируется с c. Но если cэто тип …

2
Что такое контекстно-свободная грамматика?
Может ли кто-нибудь объяснить мне, что такое контекстно-свободная грамматика? Посмотрев статью в Википедии, а затем статью о формальной грамматике в Википедии, я совершенно сбит с толку. Не мог бы кто-нибудь объяснить, что это такое? Мне это интересно, потому что я хочу исследовать синтаксический анализ, а также, на стороне, ограничение механизма …

8
Обычные и контекстно-свободные грамматики
Я готовлюсь к экзамену по компьютерным языкам , и есть одна идея, что у меня проблемы с головой. Я понял, что обычные грамматики проще и не могут содержать двусмысленности, но не могут выполнять множество задач, которые требуются для языков программирования. Я также понял, что контекстно-свободные грамматики допускают двусмысленность, но допускают …

1
Признающая сила «современных» регулярных выражений
Какой класс языков действительно распознают настоящие современные регулярные выражения? Всякий раз, когда есть группа захвата неограниченной длины с обратной ссылкой (например (.*)_\1), регулярное выражение теперь соответствует нерегулярному языку. Но S ::= '(' S ')' | εодного этого недостаточно, чтобы сопоставить что-то вроде - контекстно-свободный язык сопоставления пар пар пар символов. …

2
Почему грамматика BNF в C допускает объявления с пустой последовательностью init-деклараторов?
Просматривая грамматику BNF в C, я подумал, что странно, что производственное правило для объявления выглядит следующим образом (согласно https://cs.wmich.edu/~gupta/teaching/cs4850/sumII06/The%20syntax%20of% 20C% 20in% 20Backus-Naur% 20form.htm ): <declaration> ::= {<declaration-specifier>}+ {<init-declarator>}* ; Зачем использовать *квантификатор (имеется в виду ноль или более вхождений) для init-declarator? Это позволяет синтаксически допустимым операторам типа int;или void;быть, даже …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.