GNU bison 3.2 版本釋出,解析器生成器
GNU Bison 是一個自由軟體,用於自動生成語法分析器程式,實際上可用於所有常見的作業系統。Bison 把 LALR 形式的上下文無關文法描述轉換為可做語法分析的 C 或 C++ 程式。GNU bison 基本相容Yacc,並做了一些改進。它一般與 flex 一起使用。
Bison 3.2 主要包括對 lalr1.cc 的改進,具體如下:
向後不相容的更改
-
對 DJGPP 的支援已過時,多年來也一直沒有維護和測試。 除非有恢復它的提案,否則它將被刪除。
其他更改
-
%printers should use yyo rather than yyoutput to denote the output stream.
-
Variant-based symbols in C++ should use emplace() rather than build().
-
In C++ parsers, parser::operator() is now a synonym for the parser::parse.
新特性
-
C++: Support for move semantics (lalr1.cc)
-
C++: Implicit move of right-hand side values (lalr1.cc)
-
C++: The implicit default semantic action is always run
-
C++: Renaming location.hh
-
C++: stack.hh and position.hh are deprecated
Bug 修復
-
Portability issues on MinGW and VS2015.
-
Portability issues in the test suite.
-
Portability/warning issues with Flex.
更多詳情可查閱發行說明:ofollow,noindex">https://lwn.net/Articles/770138/
下載地址: