2
0
mirror of https://github.com/boostorg/wave.git synced 2026-01-23 06:02:18 +00:00

36 Commits

Author SHA1 Message Date
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
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
0ff9eafa04 Add the spaceship <=> operator to the C++20 tokens 2020-10-24 22:01:43 -07:00
Jeff Trull
f1ec8fd22c Make indentation consistent with code nesting
These changes, a subset of what clang-format generates, ensure code
and comments are aligned properly for the level of the code. There
were a number of places where comments (many) and code (some) were
four spaces to the left of where they should be. This will make the
code easier to read.

One advantage of separating out these changes is they can be verified
to be whitespace-only with a simple diff.
2020-10-23 15:05:00 -07:00
Jeff Trull
200f91e71d Introduce C++20 tokens 2020-08-11 13:17:01 -07:00
Jeff Trull
add63677b0 C++11 tokens should be conditionally compiled 2020-08-10 05:10:07 -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
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
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
940071ed55 Repair xlex and add to test suite (#79)
* Pass tests by matching lexertl blank handling
* Remedial improvement to position tracking to avoid exception
* Fix token statistics sample's count map index calculation
* Add xlex to test suite

Also, prune includes somewhat.
2020-03-12 22:37:46 -07: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
12c91c34c1 Wave: updated copyrights, worked on whitespace skipping
[SVN r67893]
2011-01-09 21:54:54 +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
0d7086e2cf Wave: fixing typos in comments
[SVN r57392]
2009-11-05 00:09:01 +00:00
Hartmut Kaiser
fabd1125f0 Wave: got rid of more warnings
[SVN r57387]
2009-11-04 22:57:06 +00:00
Hartmut Kaiser
a8e6b580db Wave: Updated copyrights
[SVN r50425]
2009-01-01 12:07:12 +00:00
Hartmut Kaiser
e6d759b065 Wave: Fixed slex test
[SVN r44484]
2008-04-17 02:00:20 +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
3cf132c4d0 Wave: Extended the copyright notice to include the year 2007.
[SVN r36469]
2006-12-20 16:58:16 +00:00
Hartmut Kaiser
eb5bd7fa89 Wave: completed first version of the lexertl based lexer.
[SVN r36238]
2006-12-02 03:06:31 +00:00
Hartmut Kaiser
c31b153857 Wave: minor pending changes.
[SVN r36212]
2006-11-30 13:27:56 +00:00
Hartmut Kaiser
26563d403c Changed the list_includes sample to use a lexer which is based on the lexertl library written by Ben Hanson (http://www.benhanson.net/lexertl.html).
[SVN r36170]
2006-11-23 22:24:03 +00:00
Hartmut Kaiser
8895b44419 Wave: Added token_statistics sample.
[SVN r36157]
2006-11-23 02:01:33 +00:00
Hartmut Kaiser
1f5d628c14 Another try to fix the Wave related SunPro compilation problem.
[SVN r34737]
2006-07-26 01:41:37 +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
17be5a75d9 Fixed lexer tests on platforms others than windows.
[SVN r29054]
2005-05-19 06:00:19 +00:00
Hartmut Kaiser
01efcba863 Added verbose error messages.
[SVN r29036]
2005-05-18 17:44:43 +00:00
Hartmut Kaiser
84d0049c0d Removed not needed file.
[SVN r28991]
2005-05-17 12:57:33 +00:00
Hartmut Kaiser
e71c4b41e7 Added lexer testcases to the regression tests.
[SVN r28990]
2005-05-17 12:56:11 +00:00