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;