# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
name = "pdl-compiler"
version = "0.3.1"
authors = [
    "Henri Chataing <henrichataing@google.com>",
    "David de Jesus Duarte <licorne@google.com>",
    "Martin Geisler <mgeisler@google.com>",
]
exclude = ["editors/*"]
default-run = "pdlc"
description = "Parser and serializer generator for protocol binary packets"
readme = "README.md"
keywords = [
    "pdl",
    "parser",
    "serializer",
    "grammar",
]
categories = ["parsing"]
license = "Apache-2.0"
repository = "https://github.com/google/pdl/"
resolver = "1"

[[bin]]
name = "pdlc"
path = "src/main.rs"

[dependencies.argh]
version = "0.1.7"

[dependencies.codespan-reporting]
version = "0.11.1"

[dependencies.heck]
version = "0.4.0"

[dependencies.pest]
version = "2.5.5"

[dependencies.pest_derive]
version = "2.5.5"

[dependencies.prettyplease]
version = "0.2.6"

[dependencies.proc-macro2]
version = "1.0.46"

[dependencies.quote]
version = "1.0.21"

[dependencies.serde]
version = "1.0.145"
features = [
    "default",
    "derive",
    "serde_derive",
    "std",
    "rc",
]
optional = true

[dependencies.serde_json]
version = "1.0.86"

[dependencies.syn]
version = "2.0.16"

[dev-dependencies.bytes]
version = "1.2.1"
features = ["serde"]

[dev-dependencies.googletest]
version = "0.10.0"

[dev-dependencies.num-derive]
version = "0.3.3"

[dev-dependencies.num-traits]
version = "0.2.15"

[dev-dependencies.paste]
version = "1.0.6"

[dev-dependencies.tempfile]
version = "3.3.0"

[dev-dependencies.thiserror]
version = "1.0.37"

[features]
default = ["serde"]
