Commit Graph

198 Commits

Author SHA1 Message Date
Geoffroy Couprie
2ff49f38e0 v6.0.0-beta2 2020-10-24 11:51:56 +02:00
Geoffroy Couprie
032a097ecf document which cargo features are required for some combinators 2020-10-17 16:42:46 +02:00
Geoffroy Couprie
1dcf816ed5 v6.0.0-beta1 2020-10-17 16:03:58 +02:00
Geoffroy Couprie
8a4efe51e3 the regexp_macros is not used anymore
fix the issues related unit tests that were not compiled anymore
2020-10-11 16:12:42 +02:00
Geoffroy Couprie
eb0ccc9385 v6.0.0-alpha3 2020-10-04 18:13:56 +02:00
Geoffroy Couprie
c22d049bcd bitvec 0.19.3 has the offset functions now 2020-10-04 18:10:03 +02:00
Geoffroy Couprie
c806cc85fa point to a bitvec branch for now
the currently published crate is missing the offset functions on
BitSlice
2020-09-27 16:15:31 +02:00
myrrlyn
5b427b2268 Add bitvec and implement support for it
The trait implementations permit `bitvec` types to be used directly
within the `bytes` parsers, as demonstrated by the `tests/bitstream`
module using `bytes::tag` to process a bitstream.

This unification allows the removal of the `bits` module in favor of
ordinary combinators written to be generic over a consumable input
type.
2020-09-26 14:51:00 +02:00
Geoffroy Couprie
f4e11bcf23 v6.0.0-alpha2 2020-09-26 14:48:52 +02:00
Pierre Chifflier
47fdc2dd94 Add README.md to included files 2020-06-12 11:20:45 +02:00
Geoffroy Couprie
b889d7c7e1 v6.0.0-alpha1 2020-04-10 18:51:18 +02:00
Geoffroy Couprie
42cd421cc9 the fnmut test requires the alloc feature 2020-04-10 16:24:29 +02:00
Geoffroy Couprie
5475677823 test FnMut usage 2020-04-10 16:01:53 +02:00
Sebastian Zivota
bf86074545 Regex parsers always own their regexes 2020-04-08 10:59:54 +02:00
Geoffroy Couprie
06710523db add a benchmark for binary number parsers 2020-04-06 15:46:02 +02:00
Geoffroy Couprie
84b76730b0 update criterion 2020-04-06 15:13:42 +02:00
Razican
96e0b0a08b Upgraded jemallocator dependency. 2020-04-06 14:51:36 +02:00
Jake Goulding
e73a4d4025 Allow lexical-core 0.7 2020-04-06 14:11:07 +02:00
Geoffroy Couprie
b1d3950dfa bump version to 5.1.1 2020-02-24 15:09:45 +01:00
Nathan West
ffb4c6493c Added example for an escaped string parser 2020-02-24 11:55:21 +01:00
Igor Gnatenko
ed6274ac59 chore: Update version_check to 0.9
Also simplify build.rs.

Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2020-02-24 11:37:26 +01:00
Alex Huszagh
2a199032f8 Update lexical-core version to "^0.6".
Patches:
- #1100
- #1080
- #1066
- And a few upstream issues.
2020-02-24 10:57:35 +01:00
Geoffroy Couprie
de22438189 bump version to 5.1.0 2020-01-07 20:00:23 +01:00
Geoffroy Couprie
c326e077b8 bump version to 5.0.1 2019-08-22 12:12:37 +02:00
Geoffroy Couprie
f40e4a74bd the MP4 test needs the alloc feature 2019-07-02 11:40:42 +02:00
Geoffroy Couprie
be0a3fd8f7 bump version to 5.0.0 2019-06-24 14:42:39 +02:00
Geoffroy Couprie
0205b90323 bump version to 5.0.0-beta3 2019-06-22 17:44:22 +02:00
Mark McCaskey
04259287e7 clean up example, add tutorial comments 2019-06-16 11:57:25 +02:00
Mark McCaskey
7e3030adc7 Add S-expression parsing example 2019-06-16 11:57:25 +02:00
Geoffroy Couprie
059c182fc5 do not automatically build all the examples
the iterator example uses iterator::from_fn which is not available on
older rust versions
2019-05-28 16:41:52 +02:00
Geoffroy Couprie
e2221d9946 switch to edition 2018 2019-05-28 11:28:31 +02:00
Geoffroy Couprie
b5042dcc38 bump version to 5.0.0-beta2 2019-05-27 16:38:50 +02:00
Geoffroy Couprie
df18168f3f bump version to 5.0.0-beta1 2019-05-09 17:44:07 +02:00
Geoffroy Couprie
5ae41dac2a deactivate the iterator example for now, since from_fn requires 1.34 2019-05-08 11:55:45 +02:00
Geoffroy Couprie
f19d2d8084 add iterator example 2019-05-06 16:45:30 +02:00
Geoffroy Couprie
17b08f2921 bump version to 5.0.0-alpha2 2019-04-28 13:42:17 +02:00
Guillaume Gomez
78e7a92293 Add check for README.md rust code examples 2019-04-28 13:40:20 +02:00
Geoffroy Couprie
40f20aa070 use the lexical-core crate for float parsing
the previous float parsing code was first using the `recognize_float`
function, then passing the result to `str::parse()`, so input data was
parsed twice.
This commit introduces the lexical-core crate, which implements faster
float parsing and can even work in no_std. It is imported through the
"lexical" feature that is active by default
2019-04-27 18:32:47 +02:00
Geoffroy Couprie
a3975d05c5 bump version to 5.0.0-alpha1 2019-04-17 20:20:15 +02:00
Geoffroy Couprie
d85878e26a remove usage of CompleteByteSlice and CompleteStr
since we now have specialized versions of a lot of parsers for streaming
or complete input cases, we can remove the awkward types CompleteByteSlice
and CompleteStr, along with uses of the AtEof trait that were present in
most combinators.
This change simplifies the code, and shows (especially in the arithmetic
expressions parser tests) that the new function based solution can
perform the same work as macros while simplifying the code on complete
input
2019-04-17 12:14:15 +02:00
Geoffroy Couprie
aa0f48b310 allow criterion's save-baseline option 2019-04-16 10:42:40 +02:00
Geoffroy Couprie
bda930a7db fix no_std compilation 2019-04-10 16:42:11 +02:00
Geoffroy Couprie
cb9ef0d758 remove the verbose-errors feature 2019-04-10 16:30:48 +02:00
Geoffroy Couprie
d2d97aa78c start converting macros combinators to functions 2019-03-23 12:57:57 +01:00
Geoffroy Couprie
8d195e7728 update changelog and bump version to 4.2.3 2019-03-23 12:01:00 +01:00
Geoffroy Couprie
c543bc1c6a update changelog and bump version to 4.2.2 2019-03-04 10:31:48 +01:00
Geoffroy Couprie
b645b10957 update changelog and bump version to 4.2.1 2019-02-27 11:20:51 +01:00
Geoffroy Couprie
e17fe771ab activate LTO and jemallocator for benchmarks 2019-02-23 18:04:28 +01:00
Geoffroy Couprie
027fe80a05 move to criterion for benchmarking 2019-02-23 17:08:42 +01:00
Geoffroy Couprie
16164fb652 update changelog and bump version to 4.2.0 2019-01-29 15:52:18 +01:00
hcpl
ed39adec49 Pin down minimum Rust that can build nom
To do so, this commit leverages a build script with `version_check`.
It ensures that 128-bit integer support is only implemented for Rust
versions that have 128-bit integers to begin with.
2018-12-30 11:53:13 +01:00
Geoffroy Couprie
49a20d4f2b update changelog and bump version to 4.1.1 2018-10-14 16:10:21 +02:00
Geoffroy Couprie
71248c93ef update changelog and bump version to 4.1.0 2018-10-06 17:49:54 +02:00
Geoffroy Couprie
87ea9828ba compile all features for docs.rs 2018-08-14 11:09:27 +02:00
Geoffroy Couprie
a7aa0c6cd5 move the test for issue 759 to the tests/issues.rs file 2018-05-19 11:53:08 +02:00
Konrad Borowski
8be1b06d7f Allow using take_till1! macro without having ErrorKind imported
Fixes #759
2018-05-19 11:41:18 +02:00
Geoffroy Couprie
ba1d6e0589 bump version to 4.0.0 2018-05-14 18:04:25 +02:00
Geoffroy Couprie
a2a66c84fe remove unused tests 2018-05-14 13:46:31 +02:00
Geoffroy Couprie
dee4a6bf27 add badges on crates.io 2018-05-04 11:35:44 +02:00
Geoffroy Couprie
5b55b60b7e update regex to 1.0 2018-05-02 14:47:17 +02:00
Sharad Chand
1de2b6ff56 Demonstrate issue #741 2018-04-25 11:47:10 +02:00
Geoffroy Couprie
481fdfa089 bump version to 4.0.0-beta3 2018-04-14 14:51:06 +02:00
Geoffroy Couprie
db7f90231f Add public lib module and use it instead of std everywhere
@geal: fix doctests and tests metadata to specify the correct compilation
feature
2018-04-08 21:37:17 +02:00
Geoffroy Couprie
905af4b265 update the documentation link 2018-04-08 11:57:13 +02:00
Geoffroy Couprie
700767da9f bump version to 4.0.0-beta2 2018-03-12 11:16:00 +01:00
Geoffroy Couprie
ad106229da remove the nightly feature 2018-02-25 16:57:55 +01:00
Geoffroy Couprie
03e169c842 bump version to 4.0.0-beta1 2018-02-17 19:30:23 +01:00
Kamil Markiewicz
ba357743de
WIP Add alloc feature guard 2018-02-05 18:49:43 +01:00
Geoffroy Couprie
372049188a bump version to 4.0.0-alpha2 2018-01-16 22:02:18 +01:00
Geoffroy Couprie
8532ae1a9e remove uses of the stream feature 2017-12-03 16:38:16 +01:00
Igor Gnatenko
4370e95f42
bump lazy_static to 1.0 2017-11-30 17:42:52 +01:00
Geoffroy Couprie
649e56f8b4 bump version to 4.0.0-alpha1
nom 4 is still far from the release, but it can be tested now
2017-11-26 22:30:28 +01:00
Geoffroy Couprie
38830cb408 update to memchr 2.0 2017-11-25 13:21:33 +01:00
Geoffroy Couprie
1d62d99a6e use the compile_error macro 2017-10-30 17:44:33 +01:00
Geoffroy Couprie
3dd6672997 update changelog and bump version to 3.2.1 2017-10-27 11:59:55 +02:00
Geoffroy Couprie
b05c3ed368 update changelog and bump version to 3.2.0 2017-07-24 12:28:13 +02:00
Geoffroy Couprie
2715e91038 update changelog and bump version to 3.1.0 2017-06-16 15:36:52 +02:00
Luca Barbato
887ba19dc0 Use compiler_error on nightly 2017-06-13 23:25:30 +02:00
Connor Wood
9e8ba817a2 Ability to turn off std in memchr 2017-05-24 17:54:36 +01:00
Ivan Enderlin
834d4428d8
Use memchr in FindToken implementation. 2017-05-15 11:11:23 +02:00
Geoffroy Couprie
78bb87eed7 update changelog and bump version to 3.0.0 2017-05-12 11:23:29 +02:00
Geoffroy Couprie
12d09015ce prepare the future 3.0 release 2017-05-11 18:23:08 +02:00
Geoffroy Couprie
d8dde827e6 Replace the core feature by a std feature activated by default
compilation features are additive, so a 'core' that removes some
functionality makes no sense. To use nom in no_std environment,
the code should nom import nom and deactivate 'std'
2017-05-09 13:00:21 +02:00
Geoffroy Couprie
66128e5ccf update changelog and bump version to 2.2.1 2017-04-03 17:33:50 +02:00
Geoffroy Couprie
efb9ba040a update changelog and bump version to 2.2.0 2017-03-20 14:42:05 +01:00
Geoffroy Couprie
fd9674c720 update changelog and bump version to 2.1.0 2017-01-27 14:46:22 +01:00
Geoffroy Couprie
547fb779ca upgrade regex to 0.2 2017-01-27 12:25:58 +01:00
Geoffroy Couprie
f9e0f87bed add the CI badge 2017-01-21 11:58:35 +01:00
Jake Goulding
8b62be2aa7 Add categories to Cargo.toml 2017-01-20 11:06:40 -05:00
Geoffroy Couprie
5693afb733 update changelog and bump version 2016-12-10 12:15:25 +01:00
Geoffroy Couprie
75ad251520 deactivate for now the import from github 2016-11-25 08:48:37 +01:00
Geoffroy Couprie
18c4a2d597 bump version to 2.0 2016-11-25 08:44:25 +01:00
Geoffroy Couprie
3b0f914605 fix the bytes library version for the blockbuf example 2016-11-05 16:48:33 +01:00
Geoffroy Couprie
6f36000d78 Simple error management is now the default 2016-10-18 14:24:05 +02:00
Geoffroy Couprie
26529b4915 Example arithmetic expression parser with custom input type
This parser wraps the BlockBuf struct from bytes, which gives
a single buffer abstraction over a list of buffers.

This example demonstrates that nom does not necessarily needs
contiguous data, like a &[u8]. If the traits are implemented
correctly, we can walk over all the buffers transparently
2016-10-05 16:57:27 +02:00
Geoffroy Couprie
a23684e3f8 Make two versions of the error management code
The first one, activated by default by the "verbose-errors" feature,
can make an error chain by accumulating errors and input position
while backtracing in a parse tree, and show precise information on
which parts of the input were matched by which node in the parse
tree.

The second one will only return a simple error code. It is less
flexible, but will not keep references to the input, and it will
not put previous errors in a Box, thus reducing the code size
(less error drops) et and making the parsers faster.

On some parsers, the simpler solution got a 30% gain in performance,
returning to the speed nom had pre 1.0
2016-08-24 15:37:10 +02:00
Geoffroy Couprie
d1f4a6fe33 bump version to 1.2.4 2016-07-20 11:48:19 +02:00
Geoffroy Couprie
c4057eb844 update lazy_static to 0.2.1 2016-07-20 11:18:20 +02:00
Geoffroy Couprie
ec2c5fe5f4 Bump version to 1.2.3 and update changelog 2016-05-10 15:17:47 +02:00
Geoffroy Couprie
41f87f896a test byte matching in regexp 2016-03-14 12:45:01 +01:00