cl_ast/
lib.rs

1//! # The Abstract Syntax Tree
2//! Contains definitions of Conlang AST Nodes.
3//!
4//! # Notable nodes
5//! - [Item] and [ItemKind]: Top-level constructs
6//! - [Stmt] and [StmtKind]: Statements
7//! - [Expr] and [ExprKind]: Expressions
8//!   - [Assign], [Binary], and [Unary] expressions
9//!   - [ModifyKind], [BinaryKind], and [UnaryKind] operators
10//! - [Ty] and [TyKind]: Type qualifiers
11//! - [Pattern]: Pattern matching operators
12//! - [Path]: Path expressions
13#![warn(clippy::all)]
14#![feature(decl_macro)]
15
16pub use ast::*;
17pub use ast_impl::weight_of::WeightOf;
18
19pub mod ast;
20pub mod ast_impl;
21pub mod ast_visitor;
22pub mod desugar;
23pub mod format;