The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Новая версия Bison 3.2, системы для написания синтаксических анализаторов

30.10.2018 10:19

Доступна новая версия развиваемого проектом GNU пакета для написания синтаксических анализаторов - Bison 3.2. На основании заданных правил грамматики в специальной нотации, Bison позволяет сгенерировать готовый парсер на языке Си. Bison обратно совместим с yacc.

В новом выпуске Bison существенно расширена поддержка каркаса lalr1.cc для генерации парсеров на языке C++. При надлежащей поддержке компилятором обеспечена возможность использования семантики перемещения (move semantics). Помимо C++98 добавлена поддержка стандартов C++11 и C++17. Прекращена поддержка инструментария DJGPP. Объявлены устаревшими заголовочные файлы stack.hh и position.hh. Решены проблемы с совместимостью с MinGW и VS2015.

  1. Главная ссылка к новости (https://www.mail-archive.com/i...)
  2. OpenNews: Новая версия Bison 3.0, системы для написания синтаксических анализаторов
  3. OpenNews: Новая версия Bison 2.7, системы для написания синтаксических анализаторов
  4. OpenNews: Mozilla развивает ScanJS, статический анализатор кода для JavaScript
  5. OpenNews: Facebook открыл код статического анализатора для языка JavaScript
  6. OpenNews: Google открыл код SyntaxNet, системы восприятия естественного языка
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/49522-bison
Ключевые слова: bison, parser
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (12) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Штунц (?), 13:16, 30/10/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Наверно удобная отправная точка для реализации code completion в какой-нибудь IDE
     
     
  • 2.8, анинининим (?), 18:33, 30/10/2018 [^] [^^] [^^^] [ответить]  
  • –3 +/
    обычно для этого юзают libшланг
     
     
  • 3.9, trdm (ok), 18:50, 30/10/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    а также ctags
     
  • 2.15, freehck (ok), 16:05, 31/10/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вообще-то, основная область применения синтаксических анализаторов -- создание новых языков.
    Для code completions есть другие вещи. Те же ctags, о которых trdm аноним выше.
     

  • 1.13, nobody (??), 08:53, 31/10/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > оператора "move"

    Рукалицо. Нет в C++ такого оператора

    > возможность использования семантики определения типов на базе оператора "move"

    Вообще набор слов. Чат-бот новость сгенерил?

     
     
  • 2.14, Аноним (14), 10:26, 31/10/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А вдруг уже есть такой оператор. А ты и не знал.
     
  • 2.16, Ordu (ok), 18:21, 01/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Это может показаться смешным, но я, зная о C++ скорее понаслышке, понял о чём идёт речь. А ты не понял. Тебе следует подумать, какая из твоих психических функций западает -- то ли способность понимать, то ли знание C++.
     
     
  • 3.17, Анонимный Алкоголик (??), 06:10, 02/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Это может показаться смешным, но я, зная о C++ скорее понаслышке, понял
    > о чём идёт речь. А ты не понял. Тебе следует подумать,
    > какая из твоих психических функций западает -- то ли способность понимать,
    > то ли знание C++.

    Не преминём подтвердить, что это может показаться смешным.

     
  • 3.18, dmi3s (ok), 18:56, 02/11/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В том-то и дело, что понаслышке. Есть move semantics: это всякие rvalue references и связанные с ними конструктор и оператор присваивания, специальная трактовка "&&" в шаблонах. Есть функции move(), forward() и т.д. Оператора move нет. Что конкретно вы поняли - не понятно.

    P.S. Переход на личности переводит диалог в гуманитарный аспект.

     
     
  • 4.19, Ordu (ok), 20:36, 02/11/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > В том-то и дело, что понаслышке. Есть move semantics: это всякие rvalue
    > references и связанные с ними конструктор и оператор присваивания, специальная трактовка
    > "&&" в шаблонах. Есть функции move(), forward() и т.д. Оператора move
    > нет.

    И чё?

    > Что конкретно вы поняли - не понятно.

    Вот я и говорю, что с понималкой что-то не то. Если ты используешь move-семантику при проектировании API, то этот API будет заметно отличаться от того, который не использует.

    > P.S. Переход на личности переводит диалог в гуманитарный аспект.

    Не в гуманитарный аспект, а в демагогию. Если уж ты страдаешь педантизмом до той степени, что неверное употребление слов мешает тебе понимать фразу, то уж будь последовательным, и не путай тёплое с мягким.

     
  • 4.21, Аноним (21), 19:06, 04/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Оператора move нет

    Как это нет. А это тогда что?

    "Move assignment operator" https://en.cppreference.com/w/cpp/language/move_assignment

     
     
  • 5.22, dmi3s (ok), 20:10, 04/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >> Оператора move нет
    > Как это нет. А это тогда что?
    > "Move assignment operator" https://en.cppreference.com/w/cpp/language/move_assignment

    Move _assignment_ operator: _оператор присваивания_ с семантикой перемещения.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру