Update nom to 7

This commit is contained in:
dalance 2023-03-23 09:42:04 +09:00
parent a4cb297e8a
commit 4cc31c837d
8 changed files with 59 additions and 45 deletions

View File

@ -2,6 +2,8 @@
## [Unreleased](https://github.com/dalance/sv-parser/compare/v0.13.0...Unreleased) - ReleaseDate
* [Changed] update nom to 7
## [v0.13.0](https://github.com/dalance/sv-parser/compare/v0.12.3...v0.13.0) - 2023-02-08
* [Added] Improvement: Handle non-UTF8 files [#79](https://github.com/dalance/sv-parser/pull/79)

View File

@ -1,6 +1,6 @@
[package]
name = "sv-parser-error"
version = "0.13.0"
version = "0.12.2"
authors = ["dalance@gmail.com"]
repository = "https://github.com/dalance/sv-parser"
keywords = ["parser", "verilog", "systemverilog"]

View File

@ -1,6 +1,6 @@
[package]
name = "sv-parser-macros"
version = "0.13.0"
version = "0.12.2"
authors = ["dalance@gmail.com"]
repository = "https://github.com/dalance/sv-parser"
keywords = ["parser", "verilog", "systemverilog"]

View File

@ -1,6 +1,6 @@
[package]
name = "sv-parser-parser"
version = "0.13.0"
version = "0.12.2"
authors = ["dalance@gmail.com"]
repository = "https://github.com/dalance/sv-parser"
keywords = ["parser", "verilog", "systemverilog"]
@ -21,12 +21,12 @@ default = []
trace = ["nom-tracable/trace"]
[dependencies]
nom = "6"
nom_locate = "3"
nom-greedyerror = "0.3"
nom-packrat = "0.5"
nom-recursive = {version = "0.3", features = ["tracer128"]}
nom-tracable = "0.7"
nom = "7"
nom_locate = "4"
nom-greedyerror = "0.5"
nom-packrat = "0.7"
nom-recursive = {version = "0.5", features = ["tracer128"]}
nom-tracable = "0.9"
str-concat = "0.2"
sv-parser-macros = {version = "^0.13.0", path = "../sv-parser-macros"}
sv-parser-syntaxtree = {version = "^0.13.0", path = "../sv-parser-syntaxtree"}
sv-parser-macros = {version = "^0.12.2", path = "../sv-parser-macros"}
sv-parser-syntaxtree = {version = "^0.12.2", path = "../sv-parser-syntaxtree"}

View File

@ -136,9 +136,11 @@ pub(crate) fn non_zero_unsigned_number(s: Span) -> IResult<Span, NonZeroUnsigned
#[tracable_parser]
pub(crate) fn non_zero_unsigned_number_impl(s: Span) -> IResult<Span, Locate> {
let (s, a) = is_a("123456789")(s)?;
let (s, a) = fold_many0(alt((tag("_"), digit1)), a, |acc, item| {
concat(acc, item).unwrap()
})(s)?;
let (s, a) = fold_many0(
alt((tag("_"), digit1)),
|| a,
|acc, item| concat(acc, item).unwrap(),
)(s)?;
Ok((s, into_locate(a)))
}
@ -234,9 +236,11 @@ pub(crate) fn unsigned_number_exact(s: Span) -> IResult<Span, UnsignedNumber> {
#[tracable_parser]
pub(crate) fn unsigned_number_impl(s: Span) -> IResult<Span, Locate> {
let (s, a) = digit1(s)?;
let (s, a) = fold_many0(alt((tag("_"), digit1)), a, |acc, item| {
concat(acc, item).unwrap()
})(s)?;
let (s, a) = fold_many0(
alt((tag("_"), digit1)),
|| a,
|acc, item| concat(acc, item).unwrap(),
)(s)?;
Ok((s, into_locate(a)))
}
@ -250,9 +254,11 @@ pub(crate) fn binary_value(s: Span) -> IResult<Span, BinaryValue> {
#[tracable_parser]
pub(crate) fn binary_value_impl(s: Span) -> IResult<Span, Locate> {
let (s, a) = is_a("01xXzZ?")(s)?;
let (s, a) = fold_many0(alt((tag("_"), is_a("01xXzZ?"))), a, |acc, item| {
concat(acc, item).unwrap()
})(s)?;
let (s, a) = fold_many0(
alt((tag("_"), is_a("01xXzZ?"))),
|| a,
|acc, item| concat(acc, item).unwrap(),
)(s)?;
Ok((s, into_locate(a)))
}
@ -266,9 +272,11 @@ pub(crate) fn octal_value(s: Span) -> IResult<Span, OctalValue> {
#[tracable_parser]
pub(crate) fn octal_value_impl(s: Span) -> IResult<Span, Locate> {
let (s, a) = is_a("01234567xXzZ?")(s)?;
let (s, a) = fold_many0(alt((tag("_"), is_a("01234567xXzZ?"))), a, |acc, item| {
concat(acc, item).unwrap()
})(s)?;
let (s, a) = fold_many0(
alt((tag("_"), is_a("01234567xXzZ?"))),
|| a,
|acc, item| concat(acc, item).unwrap(),
)(s)?;
Ok((s, into_locate(a)))
}
@ -284,7 +292,7 @@ pub(crate) fn hex_value_impl(s: Span) -> IResult<Span, Locate> {
let (s, a) = is_a("0123456789abcdefABCDEFxXzZ?")(s)?;
let (s, a) = fold_many0(
alt((tag("_"), is_a("0123456789abcdefABCDEFxXzZ?"))),
a,
|| a,
|acc, item| concat(acc, item).unwrap(),
)(s)?;
Ok((s, into_locate(a)))
@ -352,9 +360,11 @@ pub(crate) fn x_number(s: Span) -> IResult<Span, XNumber> {
#[tracable_parser]
pub(crate) fn x_number_impl(s: Span) -> IResult<Span, Locate> {
let (s, a) = tag_no_case("x")(s)?;
let (s, a) = fold_many0(alt((tag("_"), is_a("_"))), a, |acc, item| {
concat(acc, item).unwrap()
})(s)?;
let (s, a) = fold_many0(
alt((tag("_"), is_a("_"))),
|| a,
|acc, item| concat(acc, item).unwrap(),
)(s)?;
Ok((s, into_locate(a)))
}
@ -368,9 +378,11 @@ pub(crate) fn z_number(s: Span) -> IResult<Span, ZNumber> {
#[tracable_parser]
pub(crate) fn z_number_impl(s: Span) -> IResult<Span, Locate> {
let (s, a) = alt((tag_no_case("z"), tag("?")))(s)?;
let (s, a) = fold_many0(alt((tag("_"), is_a("_"))), a, |acc, item| {
concat(acc, item).unwrap()
})(s)?;
let (s, a) = fold_many0(
alt((tag("_"), is_a("_"))),
|| a,
|acc, item| concat(acc, item).unwrap(),
)(s)?;
Ok((s, into_locate(a)))
}

View File

@ -1,6 +1,6 @@
[package]
name = "sv-parser-pp"
version = "0.13.0"
version = "0.12.2"
authors = ["dalance@gmail.com"]
repository = "https://github.com/dalance/sv-parser"
keywords = ["parser", "verilog", "systemverilog"]
@ -21,8 +21,8 @@ default = []
trace = ["sv-parser-parser/trace"]
[dependencies]
nom = "6"
nom-greedyerror = "0.3"
sv-parser-error = {version = "^0.13.0", path = "../sv-parser-error"}
sv-parser-parser = {version = "^0.13.0", path = "../sv-parser-parser"}
sv-parser-syntaxtree = {version = "^0.13.0", path = "../sv-parser-syntaxtree"}
nom = "7"
nom-greedyerror = "0.5"
sv-parser-error = {version = "^0.12.2", path = "../sv-parser-error"}
sv-parser-parser = {version = "^0.12.2", path = "../sv-parser-parser"}
sv-parser-syntaxtree = {version = "^0.12.2", path = "../sv-parser-syntaxtree"}

View File

@ -1,6 +1,6 @@
[package]
name = "sv-parser-syntaxtree"
version = "0.13.0"
version = "0.12.2"
authors = ["dalance@gmail.com"]
repository = "https://github.com/dalance/sv-parser"
keywords = ["parser", "verilog", "systemverilog"]
@ -18,7 +18,7 @@ doctest = false
tag = false
[dependencies]
sv-parser-macros = {version = "^0.13.0", path = "../sv-parser-macros"}
sv-parser-macros = {version = "^0.12.2", path = "../sv-parser-macros"}
[build-dependencies]
regex = "1"

View File

@ -1,6 +1,6 @@
[package]
name = "sv-parser"
version = "0.13.0"
version = "0.12.2"
authors = ["dalance@gmail.com"]
repository = "https://github.com/dalance/sv-parser"
keywords = ["parser", "verilog", "systemverilog"]
@ -26,12 +26,12 @@ default = []
trace = ["sv-parser-parser/trace"]
[dependencies]
nom = "6"
nom-greedyerror = "0.3"
sv-parser-error = {version = "^0.13.0", path = "../sv-parser-error"}
sv-parser-parser = {version = "^0.13.0", path = "../sv-parser-parser"}
sv-parser-pp = {version = "^0.13.0", path = "../sv-parser-pp"}
sv-parser-syntaxtree = {version = "^0.13.0", path = "../sv-parser-syntaxtree"}
nom = "7"
nom-greedyerror = "0.5"
sv-parser-error = {version = "^0.12.2", path = "../sv-parser-error"}
sv-parser-parser = {version = "^0.12.2", path = "../sv-parser-parser"}
sv-parser-pp = {version = "^0.12.2", path = "../sv-parser-pp"}
sv-parser-syntaxtree = {version = "^0.12.2", path = "../sv-parser-syntaxtree"}
[dev-dependencies]
structopt = "0.3.2"