Expand description
TCSS Core Library
This library provides the core functionality for TCSS (Thematic CSS), a CSS preprocessor that adds functions, variables, and expressions to CSS.
§Example
use tcss_core::{Lexer, Parser};
let source = "@fn spacing(x):\n return x * 16px";
let mut lexer = Lexer::new(source);
let tokens = lexer.tokenize().unwrap();
let mut parser = Parser::new(tokens);
let ast = parser.parse().unwrap();Re-exports§
pub use token::Token;pub use token::TokenType;pub use lexer::Lexer;pub use ast::ASTNode;pub use ast::BinaryOp;pub use ast::Expr;pub use ast::Program;pub use ast::Property;pub use ast::Statement;pub use parser::Parser;pub use context::Context;pub use context::Value;pub use executor::Executor;pub use generator::Generator;pub use generator::GeneratorOptions;pub use error::TcssError;pub use error::TcssResult;pub use error::LexerError;pub use error::ParserError;pub use error::ExecutionError;pub use error::GeneratorError;pub use error::SourceLocation;pub use error::ErrorFormatter;pub use resolver::Resolver;pub use resolver::ResolvedImport;pub use resolver::ImportType;pub use import::ImportProcessor;
Modules§
- ast
- Abstract Syntax Tree (AST) definitions for TCSS
- builtins
- Built-in functions library for TCSS
- context
- Execution context for TCSS
- error
- Error types for TCSS compiler
- executor
- Expression executor for TCSS
- generator
- CSS Generator for TCSS
- import
- Import system for TCSS
- lexer
- parser
- Parser for TCSS - converts tokens into an Abstract Syntax Tree
- resolver
- Path and URL resolution for TCSS imports
- token