semantic_analyzer/
lib.rs

1#![deny(clippy::pedantic, clippy::nursery, clippy::as_conversions)]
2#![allow(
3    clippy::module_name_repetitions,
4    clippy::doc_lazy_continuation,
5    clippy::too_long_first_doc_paragraph
6)]
7//! # Semantic Analyzer
8//! The semantic analyzer consists of the following basic elements:
9//! - AST is an abstract syntax tree that implements a predefined set of
10//!   representations in a programming language. This is the basis for
11//!   semantic analysis.
12//! - Semantic analyzer - AST based semantic analyzes generates a
13//!   Semantic State Stack and semantic representation context for
14//!   logical semantic blocks. Contains all the necessary results of
15//!   semantic analysis, including:
16//!   - constants
17//!   - types
18//!   - functions
19//!
20//! For the body of functions, the analysis of the semantic logic of the
21//! function and the generation of Block State context trees are fully implemented.
22//!
23//! Based on this Semantic context data, additional analysis in the form of linters,
24//! optimizers, and code generation can be implemented.
25
26/// AST representation
27pub mod ast;
28/// Semantic analyzer and State related functions
29pub mod semantic;
30/// Semantic analyzer common types
31pub mod types;