neo_solidity/
lib.rs

1//! Neo Solidity Compiler Library
2//!
3//! A Solidity to NeoVM bytecode compiler for Neo N3 smart contracts.
4//!
5//! # Architecture
6//!
7//! The compiler is organized into the following modules:
8//!
9//! - `solidity` - Solidity source parsing and metadata extraction
10//! - `ir` - Intermediate representation for code generation
11//! - `runtime` - NeoVM execution environment
12//! - `neo` - Neo-specific utilities (NEF, manifest)
13//! - `codegen`, `lexer`, `parser`, `optimizer`, `semantic` - Yul language support
14//!
15//! Author: Jimmy <jimmy@r3e.network>
16
17// Allow referring to this crate by name (`neo_solidity::...`) internally.
18extern crate self as neo_solidity;
19
20// Core compilation modules
21pub mod ir;
22pub mod solidity;
23
24// Public CLI APIs (standard-json, NEF/manifest output, etc.)
25pub mod cli;
26
27// Yul language support modules
28pub mod codegen;
29pub mod lexer;
30pub mod optimizer;
31pub mod parser;
32pub mod semantic;
33
34// Runtime and execution
35pub mod runtime;
36
37// Neo-specific utilities
38pub mod neo;
39pub mod storage_key;
40
41// Supporting modules
42pub mod error;
43pub mod frontend;
44pub mod semantic_model;
45pub mod type_system;
46pub mod types;
47
48// New optimization and analysis modules
49pub mod benchmark;
50pub mod bounds;
51pub mod docs;
52pub mod security;
53pub mod testing;
54pub mod utils;
55pub mod validation;
56pub mod warning;
57
58// Analysis modules
59pub mod abi_opt;
60pub mod cache;
61pub mod callgraph;
62pub mod cfg;
63pub mod codegen_helpers;
64pub mod context;
65pub mod dataflow;
66pub mod diagnostic_fmt;
67pub mod liveness;
68pub mod metrics;
69pub mod regalloc;
70pub mod scheduler;
71pub mod sourcemap;
72pub mod storage_opt;
73
74// Public re-exports
75pub use error::*;
76pub use types::*;
77
78/// Compiler version
79pub const VERSION: &str = env!("CARGO_PKG_VERSION");