grammar- все статьи тега


Что такое допустимое левостороннее выражение в грамматике JavaScript?

Хорошо, мы все знаем, Что такое допустимые выражения левой стороны. Вроде.* Но, глядя на определение из стандарта ECMA-Script , я очень запутался: LeftHandSideExpression : NewExpression CallExpression Это просто ошибка в определении, или я что-то неправильно понял? Я имею в виду, не означает ли это на самом деле, что new Object = 1; // NewExpression AssignmentOperator PrimaryExpression function () { return foo; }() = 1;// CallExpression AssignmentOperator PrimaryExpression Должн ...

Преобразование двусмысленной грамматики в однозначную

Я не понял, как однозначная грамматика получается из неоднозначной грамматики? Рассмотрим пример на сайте: Пример . Как была получена грамматика, меня смущает. Кто-нибудь может проводить меня ? ...

С контекстно-свободной++ или контекстная?

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

Что делает Java проще для анализа, чем C?

Я знаком с тем, что грамматики C и C++ являются контекстно-зависимая, и в частности вам нужен "lexer hack" в C. С другой стороны, у меня сложилось впечатление, что вы можете анализировать Java только с помощью 2 токенов look-ahead, несмотря на значительное сходство между двумя языками. что вам нужно изменить в C, чтобы сделать его более сговорчивым для разбора? Я спрашиваю, потому что все примеры, которые я видел Контекстная чувствительность C технически допустима, но ужасно странная. Например ...

Как определить, является ли грамматика LL(1), LR(0) или SLR (1)?

Как определить, является ли грамматика LL(1), LR(0) или SLR (1)? может ли кто-нибудь объяснить это, используя этот пример или любой другой пример? X → Yz / a Y → bZ / ε Z → ε ...

Почему это не синтаксическая ошибка в Python?

заметил строку в нашей кодовой базе сегодня, которая, как я думал, наверняка не смогла бы построить с синтаксической ошибкой, но тесты проходили так, по-видимому, это был действительно действительный python (в обоих 2.x и 3). пробелы иногда не требуются в условном выражении: >>> 1if True else 0 1 Он не работает, если LHS является переменной: >>> x = 1 >>> xif True else 0 File "<stdin>", line 1 xif True else 0 ^ SyntaxError: invalid syntax ...