diff options
author | Jeff Vander Stoep <jeffv@google.com> | 2023-02-03 18:17:46 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2023-02-03 18:17:46 +0000 |
commit | 6da1f95fc5e757b889d3b44b71be02114eed27d1 (patch) | |
tree | 58525ccc4b2e0c130a3f640e59437d76fcd7900f | |
parent | 6326c17ec68e11e39b719928d78b51abf73aeb9f (diff) | |
parent | 3a2f3ea1462e89abc5453f2c3663df75a04c0ca1 (diff) | |
download | pest_derive-6da1f95fc5e757b889d3b44b71be02114eed27d1.tar.gz |
Upgrade pest_derive to 2.5.4 am: 1ee6e87451 am: 31fc7cfa63 am: 3a2f3ea146
Original change: https://android-review.googlesource.com/c/platform/external/rust/crates/pest_derive/+/2419086
Change-Id: I8dc2ea54dba6517a5a8f6130d227db8b59fb5590
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | Android.bp | 2 | ||||
-rw-r--r-- | Cargo.lock (renamed from Cargo.lock.saved) | 58 | ||||
-rw-r--r-- | Cargo.toml | 6 | ||||
-rw-r--r-- | Cargo.toml.orig | 6 | ||||
-rw-r--r-- | METADATA | 10 | ||||
-rw-r--r-- | examples/base.pest | 2 | ||||
-rw-r--r-- | examples/calc.pest | 5 | ||||
-rw-r--r-- | examples/calc.rs | 1 | ||||
-rw-r--r-- | tests/grammar.pest | 5 | ||||
-rw-r--r-- | tests/implicit.pest | 14 | ||||
-rw-r--r-- | tests/implicit.rs | 25 |
11 files changed, 89 insertions, 45 deletions
@@ -41,7 +41,7 @@ rust_proc_macro { name: "libpest_derive", crate_name: "pest_derive", cargo_env_compat: true, - cargo_pkg_version: "2.5.1", + cargo_pkg_version: "2.5.4", srcs: ["src/lib.rs"], edition: "2021", features: [ diff --git a/Cargo.lock.saved b/Cargo.lock index 1d1a350..67d29bb 100644 --- a/Cargo.lock.saved +++ b/Cargo.lock @@ -58,21 +58,21 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.137" +version = "0.2.139" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89" +checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" [[package]] name = "once_cell" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860" +checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66" [[package]] name = "pest" -version = "2.5.1" +version = "2.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc8bed3549e0f9b0a2a78bf7c0018237a2cdf085eecbbc048e52612438e4e9d0" +checksum = "4ab62d2fa33726dbe6321cc97ef96d8cde531e3eeaf858a058de53a8a6d40d8f" dependencies = [ "thiserror", "ucd-trie", @@ -80,7 +80,7 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.5.1" +version = "2.5.4" dependencies = [ "pest", "pest_generator", @@ -88,9 +88,9 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.5.1" +version = "2.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28a1af60b1c4148bb269006a750cff8e2ea36aff34d2d96cf7be0b14d1bed23c" +checksum = "2b27bd18aa01d91c8ed2b61ea23406a676b42d82609c6e2581fba42f0c15f17f" dependencies = [ "pest", "pest_meta", @@ -101,38 +101,38 @@ dependencies = [ [[package]] name = "pest_meta" -version = "2.5.1" +version = "2.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fec8605d59fc2ae0c6c1aefc0c7c7a9769732017c0ce07f7a9cfffa7b4404f20" +checksum = "9f02b677c1859756359fc9983c2e56a0237f18624a3789528804406b7e915e5d" dependencies = [ "once_cell", "pest", - "sha1", + "sha2", ] [[package]] name = "proc-macro2" -version = "1.0.47" +version = "1.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725" +checksum = "6ef7d57beacfaf2d8aee5937dab7b7f28de3cb8b1828479bb5de2a7106f2bae2" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.21" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" +checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" dependencies = [ "proc-macro2", ] [[package]] -name = "sha1" -version = "0.10.5" +name = "sha2" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" +checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" dependencies = [ "cfg-if", "cpufeatures", @@ -141,9 +141,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.105" +version = "1.0.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b9b43d45702de4c839cb9b51d9f529c5dd26a4aff255b42b1ebc03e88ee908" +checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" dependencies = [ "proc-macro2", "quote", @@ -152,18 +152,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.37" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e" +checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.37" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb" +checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f" dependencies = [ "proc-macro2", "quote", @@ -172,9 +172,9 @@ dependencies = [ [[package]] name = "typenum" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" +checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" [[package]] name = "ucd-trie" @@ -184,9 +184,9 @@ checksum = "9e79c4d996edb816c91e4308506774452e55e95c3c9de07b6729e17e15a5ef81" [[package]] name = "unicode-ident" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3" +checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc" [[package]] name = "version_check" @@ -13,7 +13,7 @@ edition = "2021" rust-version = "1.56" name = "pest_derive" -version = "2.5.1" +version = "2.5.4" authors = ["DragoČ™ Tiselice <dragostiselice@gmail.com>"] description = "pest's derive macro" homepage = "https://pest.rs/" @@ -34,11 +34,11 @@ name = "pest_derive" proc-macro = true [dependencies.pest] -version = "2.5.1" +version = "2.5.4" default-features = false [dependencies.pest_generator] -version = "2.5.1" +version = "2.5.4" default-features = false [features] diff --git a/Cargo.toml.orig b/Cargo.toml.orig index 2dd43a8..a7416a1 100644 --- a/Cargo.toml.orig +++ b/Cargo.toml.orig @@ -1,7 +1,7 @@ [package] name = "pest_derive" description = "pest's derive macro" -version = "2.5.1" +version = "2.5.4" edition = "2021" authors = ["DragoČ™ Tiselice <dragostiselice@gmail.com>"] homepage = "https://pest.rs/" @@ -23,5 +23,5 @@ std = ["pest/std", "pest_generator/std"] [dependencies] # for tests, included transitively anyway -pest = { path = "../pest", version = "2.5.1", default-features = false } -pest_generator = { path = "../generator", version = "2.5.1", default-features = false } +pest = { path = "../pest", version = "2.5.4", default-features = false } +pest_generator = { path = "../generator", version = "2.5.4", default-features = false } @@ -11,13 +11,13 @@ third_party { } url { type: ARCHIVE - value: "https://static.crates.io/crates/pest_derive/pest_derive-2.5.1.crate" + value: "https://static.crates.io/crates/pest_derive/pest_derive-2.5.4.crate" } - version: "2.5.1" + version: "2.5.4" license_type: NOTICE last_upgrade_date { - year: 2022 - month: 12 - day: 13 + year: 2023 + month: 2 + day: 3 } } diff --git a/examples/base.pest b/examples/base.pest new file mode 100644 index 0000000..c63d48a --- /dev/null +++ b/examples/base.pest @@ -0,0 +1,2 @@ +WHITESPACE = _{ " " | "\t" | NEWLINE } +int = @{ (ASCII_NONZERO_DIGIT ~ ASCII_DIGIT+ | ASCII_DIGIT) }
\ No newline at end of file diff --git a/examples/calc.pest b/examples/calc.pest index 9f2cc3b..3834973 100644 --- a/examples/calc.pest +++ b/examples/calc.pest @@ -1,5 +1,3 @@ -WHITESPACE = _{ " " | "\t" | NEWLINE } - program = { SOI ~ expr ~ EOI } expr = { prefix* ~ primary ~ postfix* ~ (infix ~ prefix* ~ primary ~ postfix* )* } infix = _{ add | sub | mul | div | pow } @@ -12,5 +10,4 @@ WHITESPACE = _{ " " | "\t" | NEWLINE } neg = { "-" } // Negation postfix = _{ fac } fac = { "!" } // Factorial - primary = _{ int | "(" ~ expr ~ ")" } - int = @{ (ASCII_NONZERO_DIGIT ~ ASCII_DIGIT+ | ASCII_DIGIT) }
\ No newline at end of file + primary = _{ int | "(" ~ expr ~ ")" }
\ No newline at end of file diff --git a/examples/calc.rs b/examples/calc.rs index efc6b7b..7071625 100644 --- a/examples/calc.rs +++ b/examples/calc.rs @@ -2,6 +2,7 @@ mod parser { use pest_derive::Parser; #[derive(Parser)] + #[grammar = "../examples/base.pest"] #[grammar = "../examples/calc.pest"] pub struct Parser; } diff --git a/tests/grammar.pest b/tests/grammar.pest index 126f112..b24d477 100644 --- a/tests/grammar.pest +++ b/tests/grammar.pest @@ -63,6 +63,11 @@ newline = { NEWLINE+ } unicode = { XID_START ~ XID_CONTINUE* } SYMBOL = { "shadows builtin" } +han = { HAN+ } +hangul = { HANGUL+ } +hiragana = { HIRAGANA+ } +arabic = { ARABIC+ } + WHITESPACE = _{ " " } COMMENT = _{ "$"+ } diff --git a/tests/implicit.pest b/tests/implicit.pest new file mode 100644 index 0000000..18ebf7e --- /dev/null +++ b/tests/implicit.pest @@ -0,0 +1,14 @@ +program = _{ SOI ~ implicit ~ EOI } +implicit= ${ or ~ (WHITESPACE+ ~ or )* } + +or = !{ and ~ (or_op ~ and)+ | and } +and = { comp ~ (and_op ~ comp)+ | comp } +comp = { array ~ eq_op ~ array | array } + +array = ${ term } + +term = _{ ASCII_ALPHANUMERIC+ } +or_op = { "||" } +and_op = { "&&" } +eq_op = { "=" } +WHITESPACE = _{ " " | "\t" | NEWLINE }
\ No newline at end of file diff --git a/tests/implicit.rs b/tests/implicit.rs new file mode 100644 index 0000000..8ad5a7e --- /dev/null +++ b/tests/implicit.rs @@ -0,0 +1,25 @@ +// Licensed under the Apache License, Version 2.0 +// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT +// license <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. All files in the project carrying such notice may not be copied, +// modified, or distributed except according to those terms. + +#![cfg_attr(not(feature = "std"), no_std)] +extern crate alloc; +extern crate pest; +extern crate pest_derive; + +use pest::Parser; +use pest_derive::Parser; + +#[derive(Parser)] +#[grammar = "../tests/implicit.pest"] +struct TestImplicitParser; + +#[test] +fn test_implicit_whitespace() { + // this failed to parse due to a bug in the optimizer + // see: https://github.com/pest-parser/pest/issues/762#issuecomment-1375374868 + let successful_parse = TestImplicitParser::parse(Rule::program, "a a"); + assert!(successful_parse.is_ok()); +} |