[package]
edition = "2024"
rust-version = "1.88.0"
name = "semantic-analyzer"
version = "0.4.7"
authors = ["Evgeny Ukhanov <mrlsd@ya.ru>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Semantic analyzer library for compilers written in Rust for semantic analysis of programming languages AST"
homepage = "https://github.com/mrLSD/semantic-analyzer-rs"
readme = "README.md"
keywords = [
"compiler",
"semantic-analisis",
"semantic-alalyzer",
"compiler-design",
"semantic",
]
categories = [
"compilers",
"development-tools",
"development-tools::build-utils",
]
license = "MIT"
repository = "https://github.com/mrLSD/semantic-analyzer-rs"
[features]
codec = ["serde"]
[lib]
name = "semantic_analyzer"
path = "src/lib.rs"
doctest = false
[[test]]
name = "binding_tests"
path = "tests/binding_tests.rs"
[[test]]
name = "codec_tests"
path = "tests/codec_tests.rs"
[[test]]
name = "const_tests"
path = "tests/const_tests.rs"
[[test]]
name = "errors_tests"
path = "tests/errors_tests.rs"
[[test]]
name = "expressions_tests"
path = "tests/expressions_tests.rs"
[[test]]
name = "function_call_tests"
path = "tests/function_call_tests.rs"
[[test]]
name = "function_declaration_tests"
path = "tests/function_declaration_tests.rs"
[[test]]
name = "if_tests"
path = "tests/if_tests.rs"
[[test]]
name = "import_tests"
path = "tests/import_tests.rs"
[[test]]
name = "let_binding_tests"
path = "tests/let_binding_tests.rs"
[[test]]
name = "loop_tests"
path = "tests/loop_tests.rs"
[[test]]
name = "main_tests"
path = "tests/main_tests.rs"
[[test]]
name = "state_tests"
path = "tests/state_tests.rs"
[[test]]
name = "types_tests"
path = "tests/types_tests.rs"
[dependencies.nom_locate]
version = "5.0"
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
[dev-dependencies.serde_json]
version = "1"
[lints.clippy]
as_conversions = "deny"
doc_lazy_continuation = "allow"
module_name_repetitions = "allow"
too_long_first_doc_paragraph = "allow"
too_many_lines = "allow"
[lints.clippy.nursery]
level = "deny"
priority = -1
[lints.clippy.pedantic]
level = "deny"
priority = -1