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
René Ferdinand Rivera Morell
7ce8b53d9d
Add support for modular build structure. ( #214 )
...
* Make the library modular usable.
* Switch to library requirements instead of source. As source puts extra source in install targets.
* Add wave tool build to all target.
* Add missing NO_LIB usage requirements.
* Add requires-b2 check to top-level build file.
* Bump B2 require to 5.2
* Change all <source> references to <library>.
* Move inter-lib dependencies to a project variable and into the build targets.
* Update build deps.
2024-08-26 22:01:03 -07: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
9382ac9e8b
MSVC-related cleanups ( #150 )
...
* Replace several sprintf's with boost::format or std::to_string
* Clean up MSVC builds by removing pre-C++11 toolsets
* Update build badges
2022-02-20 17:54:26 -08:00
Jeff Trull
88369abfd5
Remove long-deprecated hooks API
...
Removal in 1.76 was noted in the docs and warned about since 1.74.
2020-12-13 15:53:32 -08: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
35fc5aa381
Add C++11 token support to all lexers
...
Support was already in slex, though it wasn't covered by the token
test. This updates the tests while adding virtually identical code
to lexertl and xlex.
2020-08-10 04:47:04 -07:00
Jeff Trull
ee0a7c14c5
Implement __has_include() ( #102 )
...
Resolve #96 by introducing C++17 feature (and frequent vendor extension) __has_include(), along with appropriate unit tests and documentation updates
2020-06-27 07:22:52 -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
849da9fb6a
Remove linking to newly header-only date_time ( #81 )
...
Boost develop branch has an updated date_time that is header-only so
Wave's builds will now fail unless this dependency is removed.
2020-03-15 17:37:19 -07:00
Jeff Trull
750e0cb68c
Repair lexertl lexer and add to test suite ( #78 )
...
- Update DFA index code to reflect newer Spirit versions
- Update corresponding static lexer, adding explanatory comments
- Incorporate lexertl into test framework
2020-03-13 12:24:49 -07:00
Jeff Trull
46c348fd4b
Merge branch 'develop' into bugfix/include-next
2020-02-11 13:15:41 -08:00
Jeff Trull
592c55a2ab
Incorporate samples and wave driver into CI system
...
Also:
- fix a few minor issues that were revealed by the process
- add build status badge in minimal README
2020-02-10 21:20:37 -08:00
Jeff Trull
5efdff6766
Merge branch 'develop' into bugfix/include-next
2020-02-09 21:44:05 -08:00
Jeff Trull
9413a718f6
tighten up effect of SUPPORT_INCLUDE_NEXT
2020-02-09 15:05:19 -08:00
Jeff Trull
a9cf9c4757
Replace deprecated iterator trait with new name
2020-02-09 14:03:37 -08:00
Jeff Trull
27dc2862a8
Instantiate lexers with std::string, not flex_string
...
The main programs of these samples use std::string to instantiate
their context object, which propagates down to the type of the lexer.
The manual instantiations use BOOST_WAVE_STRINGTYPE a.k.a flex_string
and so do not satisfy the missing symbols, giving a link error.
2019-05-03 08:10:49 -07:00
Hartmut Kaiser
20d4dd1f81
Fixing #1
2017-09-02 10:02:53 -05: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
e1d1f933eb
Wave: allowing to force interpretation of wchar_t as signed/unsigned, fixed a problem in #pragma option_str(output)
...
[SVN r72162]
2011-05-25 18:32:51 +00:00
Hartmut Kaiser
bade99def7
Wave: applied a couple of fixes supplied by József Mihalicza
...
[SVN r62148]
2010-05-22 16:06:00 +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
122915b95f
Wave: fixed examples
...
[SVN r53192]
2009-05-22 23:40:53 +00:00
Hartmut Kaiser
049827c44d
Wave: Pending fix after namespace change in Spirit2 iterators
...
[SVN r52846]
2009-05-08 05:08:36 +00:00
Ben Hanson
21b3deb904
Use data() accessor on state_machine.
...
[SVN r52193]
2009-04-05 13:08:34 +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
47ed1eede2
Wave: fixing compilation using Intel compilers
...
[SVN r44602]
2008-04-19 19:59:59 +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
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
54b9354531
Wave: Updated Jamfiles to include Boost.DateTime.
...
[SVN r39890]
2007-10-10 12:42:16 +00:00
Hartmut Kaiser
4f47b2c781
Wave: Untabified files.
...
[SVN r37065]
2007-02-25 17:45:00 +00:00
Hartmut Kaiser
ce6efaed9e
Untabified file.
...
[SVN r37059]
2007-02-25 00:55:37 +00:00
Hartmut Kaiser
b379b3292a
Added the possibility to use static pre-compiled DFA tables for the lexertl based lexer.
...
[SVN r37058]
2007-02-25 00:47:11 +00:00
Hartmut Kaiser
725f6f023e
Wave: fix for RTTI problem when using VC7.1/STLport.
...
[SVN r37024]
2007-02-20 22:07:52 +00:00
Hartmut Kaiser
5f1fd76a92
Wave: Untabified file.
...
[SVN r37007]
2007-02-19 19:32:25 +00:00
Hartmut Kaiser
eaadaaac0f
Fixed a wrong #include directive.
...
[SVN r36861]
2007-01-31 15:00:01 +00:00
Hartmut Kaiser
8c711a8fd1
Wave: updated for newest lexertl version.
...
[SVN r36785]
2007-01-25 16:09:36 +00:00
Hartmut Kaiser
1a87a383ba
Wave: updated lexertl based lexer for newest version of the lexertl library.
...
[SVN r36764]
2007-01-20 23:27:16 +00:00
Hartmut Kaiser
dc8846cbf5
Added pragma option values push and pop to the options line, preserve and output.
...
[SVN r36698]
2007-01-12 02:04:19 +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
633465b864
Wave: deleted V1 Jamfiles.
...
[SVN r36394]
2006-12-14 21:10:32 +00:00
Hartmut Kaiser
172f83d4b9
Wave: untabified file.
...
[SVN r36313]
2006-12-10 18:54:40 +00:00