Crate jcl

Crate jcl 

Source
Expand description

JCL - Jack-of-All Configuration Language

A general-purpose configuration language with powerful built-in functions that prioritizes safety, ease of use, and flexibility.

Re-exports§

pub use ast::Expression;
pub use ast::Module;
pub use ast::Statement;
pub use ast::Value;
pub use cache::AstCache;
pub use lexer::Lexer;
pub use lexer::Token;
pub use lexer::TokenKind;
pub use token_parser::TokenParser;
pub use parser::parse_file as parse_file_legacy;
pub use parser::parse_str as parse_str_legacy;

Modules§

ast
Abstract Syntax Tree definitions for JCL v1.0
bindings
Language bindings for JCL
cache
AST caching to avoid re-parsing unchanged files
docgen
Documentation generator for JCL - extracts API documentation from code
error
Error handling and formatting for JCL
evaluator
Evaluator for JCL - resolves variables, functions, and expressions
formatter
Code formatter for JCL
functions
Built-in functions for JCL
lexer
Lexer module for JCL - tokenizes source code before parsing
linter
Linter for JCL - checks code for style issues and best practices
lsp
Language Server Protocol implementation for JCL
migration
Migration tool for converting other configuration formats to JCL
module_registry
Module registry client for JCL
module_source
Module source resolution and caching
parser
Parser for JCL configuration files using Pest PEG parser with Pratt parsing
repl
REPL (Read-Eval-Print Loop) for JCL
schema
Schema validation for JCL configurations
symbol_table
Symbol table for tracking variable and function definitions and references This enables LSP features like Go to Definition, Find References, and Rename
token_parser
Token-based parser for JCL
types
Type system for JCL with advanced static type inference

Structs§

JclContext
Core JCL context for parsing and evaluating JCL code

Constants§

VERSION
JCL version

Functions§

clear_cache
Clear the global AST cache
disable_cache
Disable AST caching globally
enable_cache
Enable AST caching globally (enabled by default)
global_cache
Get a reference to the global AST cache
is_cache_enabled
Check if caching is enabled
parse_file
Parse JCL from a file using the token-based parser
parse_files_parallel
Parse multiple JCL files in parallel using Rayon
parse_str
Parse JCL from a string using the token-based parser
parse_with_tokens
Alias for parse_str (for backwards compatibility)
set_parallel_threads
Configure Rayon thread pool for parallel parsing