Jeff Trull
7a8e9d3884
Introduce c++23 feature flag and condition size_t literals with it
2025-10-27 09:29:33 -07:00
Jeff Trull
2408633f16
Tweak PR #241 for correctness and tidy code
...
- Fix RE2C code for numbers (binary and digit separators)
- Revert to RE2C version 1.0.2, for now
- Revamp token ids to minimize changes
- Restore existing and more accurate name OPTSIGN in slex
- Add binary literal support to lexertl
- Fix xlex support for size_t literals
- Add test tokens for octal, binary, and hex literals
2025-10-27 09:29:33 -07:00
Andreas Pokorny
50b322dcc9
fix(lexer): support size_t literal, separator chars, 'module'
...
The integer parsing grammars still have to be updated.
2025-10-27 09:29:33 -07:00
Jeff Trull
3586cf3706
Support \e and \E in character and string literals
...
Updates the non-strict lexer to support e and E, both with value 27
(ASCII ESC). Also adds tests for lexing these literals, and checks
that they are usable in conditional preprocessor expressions.
2022-11-07 22:44:24 -08:00
Jeff Trull
83cb264b5f
Use constexpr instead of macros for tokenid constants in samples ( #167 )
...
Under Visual Studio 2019 (and possibly 2017), building with /permissive- causes three samples to fail to compile. Adding the /Zc:twoPhase- option makes them compile successfully again. See bug #160 for more details.
It's unclear what the source of this issue is, but using constexpr variables instead of a macro is better practice anyway, and fixes the errors.
2022-06-22 17:35:44 -07:00
Jeff Trull
0ff9eafa04
Add the spaceship <=> operator to the C++20 tokens
2020-10-24 22:01:43 -07:00
Jeff Trull
200f91e71d
Introduce C++20 tokens
2020-08-11 13:17:01 -07:00
Jeff Trull
ca08e74947
Correct spelling of thread_local keyword
2020-08-10 04:41:49 -07:00
Jeff Trull
6fd0da8780
Rename include guard macros that don't begin with BOOST_
2020-06-15 10:52:30 -07:00
Jeff Trull
895ea836e9
Remove unused headers
...
Reduce build time by:
- using iosfwd instead of iostream, where possible
- where iostream is necessary but only used for debugging,
making its inclusion conditional
- removing old C-style headers
I used IWYU to guide this work
2020-05-19 10:41:22 -07:00
Jeff Trull
2e8eeeeb4d
Add BOOST_OVERRIDE to virtual functions in derived classes ( #89 )
2020-04-13 21:12:34 -07:00
Jeff Trull
b68940a83b
Disallow mixed-case long long integer literals ( #80 )
...
- Update all four lexers to allow ll/LL but not lL/Ll
- Add unit tests for checking
- Remove invalid token from test
2020-03-15 22:54:01 -07:00
Jeff Trull
9413a718f6
tighten up effect of SUPPORT_INCLUDE_NEXT
2020-02-09 15:05:19 -08:00
Nikita Kniazev
0ea2aa7ca2
Fixed usage of auto_ptr on systems where it is deprecated
...
The macro `BOOST_NO_AUTO_PTR` is defined on systems where both `auto_ptr` and
`unique_ptr` are available (and `auto_ptr` usage produces a deprecation warning).
By using `BOOST_NO_CXX11_SMART_PTR` we will favor `unique_ptr` over `auto_ptr`.
```
slex/lexer.hpp:2423:13: error: 'template<class> class std::auto_ptr' is deprecated [-Werror=deprecated-declarations]
```
2018-10-02 17:59:26 +03:00
Hartmut Kaiser
20d4dd1f81
Fixing #1
2017-09-02 10:02:53 -05:00
Daniela Engert
decb79b335
Conditionally replace deprecated/removed std::auto_ptr by std::unique_ptr.
...
Signed-off-by: Daniela Engert <dani@ngrt.de >
2017-05-16 17:10:59 +02:00
Hartmut Kaiser
8224ab9eaf
Fixed #8478 : Make Boost.wave compatible with Clang's -Wimplicit-fallthrough diagnostic.
...
[SVN r84012]
2013-04-22 17:01:51 +00:00
Joel de Guzman
d0e1fa9164
Applied patches for Tickets #7738 , #7737 and #7646
...
[SVN r82348]
2013-01-04 01:43:06 +00:00
Hartmut Kaiser
e5ac1ca3b3
Wave: updating copyrights, minor fixes, bumping version number for release
...
[SVN r78555]
2012-05-23 14:41:35 +00:00
Hartmut Kaiser
aa24ef4c98
Wave: adding support_option_emit_contnewlines for the SLex lexer only.
...
[SVN r73589]
2011-08-07 01:27:31 +00:00
Hartmut Kaiser
1e0208fbb4
Wave: fixed #5569 : slex CONTLINE token works only for LF line endings
...
[SVN r72197]
2011-05-26 22:22:52 +00:00
Hartmut Kaiser
12c91c34c1
Wave: updated copyrights, worked on whitespace skipping
...
[SVN r67893]
2011-01-09 21:54:54 +00:00
Hartmut Kaiser
55752997a3
Wave: more work on C++0x support, fixed a macro expansion problem
...
[SVN r67117]
2010-12-09 01:44:51 +00:00
Hartmut Kaiser
dc832745b7
Wave: fixing Wave for Boost Filesystem V3, which is now the default, changed build system for Wave tool to disable threading
...
[SVN r67093]
2010-12-08 01:29:47 +00:00
Hartmut Kaiser
59633b0f57
Wave: fixed #4113 : cpp_lexer does not handle qualified backslashes correctly
...
[SVN r61384]
2010-04-18 21:00:09 +00:00
Hartmut Kaiser
bbcad7c954
Wave: updating copyrights, fixing issues introduced by latest changes to multi_pass.
...
[SVN r58714]
2010-01-05 17:29:06 +00:00
Hartmut Kaiser
16f44b7502
Wave: adjustments for recent multi_pass changes
...
[SVN r54222]
2009-06-22 19:46:11 +00:00
Hartmut Kaiser
a8e6b580db
Wave: Updated copyrights
...
[SVN r50425]
2009-01-01 12:07:12 +00:00
Hartmut Kaiser
6bc791d255
Wave: Started to fox examples
...
[SVN r49301]
2008-10-13 01:03:32 +00:00
Hartmut Kaiser
ef3c6f606f
Wave: Fixed slex test
...
[SVN r44483]
2008-04-17 01:56:25 +00:00
Hartmut Kaiser
6b02159942
Wave: Updated to use new Spirit Classic library structure and namespace. Lots' of minor changes and adjustments. Switched version to 2.0 since this version is not backwards compatible anymore with earlier versions.
...
[SVN r44381]
2008-04-13 22:39:12 +00:00
Hartmut Kaiser
0f1b0ca3ac
Wave: removed T_DEFINED token id from the library.
...
[SVN r42853]
2008-01-18 17:56:53 +00:00
Hartmut Kaiser
23bbed3024
Wave: updated copyright messages to include the year 2008 (merged from release branch).
...
[SVN r42502]
2008-01-05 22:44:28 +00:00
Hartmut Kaiser
f4fe98af63
Wave: Fixed a regex definition problem in the Slex lexer.
...
[SVN r39673]
2007-10-03 13:18:23 +00:00
Hartmut Kaiser
d7a81bccc5
Wave: Fixed a problem in the SLex C++ lexer (cpp_tokens example).
...
[SVN r37274]
2007-03-23 19:28:15 +00:00
Hartmut Kaiser
3cf132c4d0
Wave: Extended the copyright notice to include the year 2007.
...
[SVN r36469]
2006-12-20 16:58:16 +00:00
Hartmut Kaiser
2be5735cf4
Wave: Fixed a bug in the Slex lexer.
...
[SVN r36288]
2006-12-06 18:20:00 +00:00
Hartmut Kaiser
9a56d46717
Added the support_option_insert_whitespace language option.
...
[SVN r36211]
2006-11-30 13:22:39 +00:00
Hartmut Kaiser
068ed18ae1
Factored out the pure lex_input_interface to simplify writing different lexer types for Wave.
...
[SVN r36141]
2006-11-22 02:33:45 +00:00
Hartmut Kaiser
c791f7edec
Minor tweaks in Wave.
...
[SVN r35422]
2006-09-29 16:03:14 +00:00
Hartmut Kaiser
4345f26d4a
Fixed a couple of SunPro5.8 warnings.
...
[SVN r34754]
2006-07-27 16:56:06 +00:00
Hartmut Kaiser
99c014af40
Another try to fix the SunPro issue.
...
[SVN r34459]
2006-07-04 20:04:32 +00:00
Hartmut Kaiser
86418bd398
Added optional import keyword support.
...
[SVN r34314]
2006-06-15 22:01:09 +00:00
Hartmut Kaiser
c959794650
Wave V1.2.4
...
[SVN r33362]
2006-03-17 22:40:02 +00:00
Hartmut Kaiser
cb793b0c57
Wave: Fixed a dynaload compilation problem with VC7.1 of the re2c lexer tests.
...
[SVN r33192]
2006-03-01 18:33:45 +00:00
Hartmut Kaiser
e84efe1220
Wave now correctly recognizes pp-number tokens.
...
[SVN r32374]
2006-01-23 03:45:35 +00:00
Hartmut Kaiser
5115faf51e
Updated the Wave copyright notice to include the year 2006.
...
[SVN r32154]
2005-12-24 19:50:47 +00:00
Hartmut Kaiser
bb62cfffc5
Changed in the Wave library all throw's to boost::throw_exception().
...
[SVN r31950]
2005-12-08 03:33:38 +00:00
Hartmut Kaiser
d4636c6ea0
Wave: added optional '$' to the basic source character set.
...
[SVN r31700]
2005-11-19 18:31:32 +00:00
Hartmut Kaiser
806c1d4465
Fixed warnings reported by gcc 4.x.
...
[SVN r31239]
2005-10-08 13:27:39 +00:00