Бизон: Не могу разобраться с конфликтом, какой маршрут мне выбрать? - PullRequest
0 голосов
/ 20 ноября 2010

Вот простое объяснение проблемы.Имейте в виду, что это не настоящая проблема

Допустим, в моем языке функции не могут возвращать указатели, а переменные-члены не могут быть ссылками.Бизон жалуется (примерно с 40 проблемами уменьшения / уменьшения) на отсутствие вывода типа в типе, который является функцией или переменной-членом.Я знаю это, но смешно иметь> 40 конфликтов с этой одной строки.

Class Name { ...
Type& func() {
Type* Var=0
Type What

Как мне с этим бороться?я должен использовать% glr-parser и установить значение ожидаемого / ожидаемого значения?или я должен использовать тип, который имеет все и фильтровать то, что законно или нет в коде?Похоже, у меня больше конфликтов и двусмысленности, а я пишу больше кода для решения этой проблемы.Я не уверен, что хуже, так что мне интересно, кто-нибудь из вас, ребята, имел дело с этим.

1 Ответ

3 голосов
/ 21 ноября 2010

Вы не должны пытаться выразить ограничения типа в грамматике.Это было убедительно доказано фиаско Алгол-68, задокументированное Виртом и другими.

...