Доступна (https://www.mail-archive.com/info-gnu@gnu.org/msg02511.... новая версия развиваемого проектом GNU пакета для написания синтаксических анализаторов - Bison 3.2 (http://www.gnu.org/software/bison/bison.html). На основании заданных правил грамматики в специальной нотации, Bison позволяет сгенерировать готовый парсер на языке Си. Bison обратно совместим с yacc (http://ru.wikipedia.org/wiki/Yacc).В новом выпуске Bison существенно расширена поддержка каркаса lalr1.cc для генерации парсеров на языке C++. При надлежащей поддержке компилятором обеспечена возможность использования семантики определения типов на базе оператора "move (https://en.cppreference.com/w/cpp/utility/move)". Помимо C++98 добавлена поддержка стандартов C++11 (https://www.opennet.me/opennews/art.shtml?num=31476) &n...и C++17 (https://www.opennet.me/opennews/art.shtml?num=47153). &...Прекращена поддержка инструментария DJGPP (http://www.delorie.com/djgpp/). Объявлены устаревшими заголовочные файлы stack.hh и position.hh. Решены проблемы с совместимостью с MinGW и VS2015.
URL: https://www.mail-archive.com/info-gnu@gnu.org/msg02511....
Новость: https://www.opennet.me/opennews/art.shtml?num=49522
Наверно удобная отправная точка для реализации code completion в какой-нибудь IDE
обычно для этого юзают libшланг
а также ctags
Вообще-то, основная область применения синтаксических анализаторов -- создание новых языков.
Для code completions есть другие вещи. Те же ctags, о которых trdm аноним выше.
> оператора "move"Рукалицо. Нет в C++ такого оператора
> возможность использования семантики определения типов на базе оператора "move"
Вообще набор слов. Чат-бот новость сгенерил?
А вдруг уже есть такой оператор. А ты и не знал.
Это может показаться смешным, но я, зная о C++ скорее понаслышке, понял о чём идёт речь. А ты не понял. Тебе следует подумать, какая из твоих психических функций западает -- то ли способность понимать, то ли знание C++.
> Это может показаться смешным, но я, зная о C++ скорее понаслышке, понял
> о чём идёт речь. А ты не понял. Тебе следует подумать,
> какая из твоих психических функций западает -- то ли способность понимать,
> то ли знание C++.Не преминём подтвердить, что это может показаться смешным.
В том-то и дело, что понаслышке. Есть move semantics: это всякие rvalue references и связанные с ними конструктор и оператор присваивания, специальная трактовка "&&" в шаблонах. Есть функции move(), forward() и т.д. Оператора move нет. Что конкретно вы поняли - не понятно.P.S. Переход на личности переводит диалог в гуманитарный аспект.
> В том-то и дело, что понаслышке. Есть move semantics: это всякие rvalue
> references и связанные с ними конструктор и оператор присваивания, специальная трактовка
> "&&" в шаблонах. Есть функции move(), forward() и т.д. Оператора move
> нет.И чё?
> Что конкретно вы поняли - не понятно.
Вот я и говорю, что с понималкой что-то не то. Если ты используешь move-семантику при проектировании API, то этот API будет заметно отличаться от того, который не использует.
> P.S. Переход на личности переводит диалог в гуманитарный аспект.
Не в гуманитарный аспект, а в демагогию. Если уж ты страдаешь педантизмом до той степени, что неверное употребление слов мешает тебе понимать фразу, то уж будь последовательным, и не путай тёплое с мягким.
> Оператора move нетКак это нет. А это тогда что?
"Move assignment operator" https://en.cppreference.com/w/cpp/language/move_assignment
>> Оператора move нет
> Как это нет. А это тогда что?
> "Move assignment operator" https://en.cppreference.com/w/cpp/language/move_assignmentMove _assignment_ operator: _оператор присваивания_ с семантикой перемещения.