29 个仓库
Features that allow the computation of constant expressions and function results during the compilation phase.
Distinct from Expression-Oriented Evaluation: Candidates refer to runtime expression evaluators or mathematical string parsers rather than language-level constexpr evaluation.
Explore 29 awesome GitHub repositories matching programming languages & runtimes · Compile-Time Expression Evaluation. Refine with filters or upvote what's useful.
This project is a comprehensive collection of reference materials, including a language cheatsheet, a standard library reference, and a concurrency reference. It serves as a guide to modern C++ development, focusing on language syntax, standard library utilities, and template metaprogramming patterns. The repository provides specific guidance on template metaprogramming through a dedicated guide covering compile-time evaluation, type deduction, and variadic template execution. The materials cover a broad range of capabilities, including asynchronous programming, memory management, and system
Explains the use of compile-time expressions and functions to improve runtime performance and safety.
PHP-Parser is a tool that converts PHP source code into an abstract syntax tree for static analysis and programmatic manipulation. It functions as a parser, a code generator, and a static analysis framework. The project enables the programmatic construction of abstract syntax tree nodes through a fluent interface and provides the ability to transform these trees back into formatted source code. It includes a serializer that exports abstract syntax trees to JSON format and reconstructs them from strings. The toolset covers several capability areas, including namespace resolution, constant exp
Computes the final values of constant expressions and initializers during the analysis phase.
This project is a comprehensive educational resource and programming course covering C++ language semantics and features from C++03 through C++26. It provides structured tutorials and technical guides focused on modern C++ development. The material offers specialized instruction on template metaprogramming, including the use of type traits and compile-time computations. It features detailed guides on concurrency and parallelism for multi-core execution, as well as a reference for software design applying SOLID principles and RAII. Additionally, it covers build performance optimization to redu
Instructs on how C++ identifies compatible types to resolve returns from mixed-type expressions.
Linaria is a zero-runtime CSS-in-JS library and static CSS generator. It evaluates JavaScript expressions at build time to extract styles from tagged template literals into standalone, static CSS files, removing the need for a runtime style injection engine. The library distinguishes itself by mapping component props to CSS custom properties, enabling dynamic styling and runtime property updates without regenerating stylesheets. It utilizes a build-time evaluation engine to resolve interpolations and a hashing system to generate scoped class names that prevent style collisions. The project c
Evaluates JavaScript expressions and computes constants during the compilation phase to resolve styles at build time.
Stylus is a CSS preprocessor that transforms a dynamic language into standard CSS. It utilizes a compilation workflow to enable the use of variables, nesting, and arithmetic, which are then rendered into stylesheets for use in frontend asset pipelines. The project is distinguished by a flexible syntax that allows for indentation-based styling, meaning curly braces, colons, and semicolons can be omitted. It further differentiates itself through a JavaScript-driven plugin pipeline and the ability to extend the native syntax with custom JavaScript functions for complex logic. Its capability sur
Computes mathematical, logical, and color values during the compilation phase using a custom evaluator.
This project is a C++ Standard Library implementation that provides the foundational classes and functions required by the ISO C++ standard. It serves as a template-based generic programming library, providing the Standard Template Library's set of containers, algorithms, and iterators for data manipulation. The library is a core component of the MSVC toolchain, designed specifically for integration with the Microsoft Visual C++ compiler and build tools. The implementation covers memory management through optimized allocators and buffer strategies, as well as tools for performance benchmarki
Calculates complex expressions and object states during the build process using constexpr to reduce runtime overhead.
This is a comprehensive tutorial for learning TypeScript, designed for JavaScript programmers who want to understand the language's type system and modern features. The resource covers TypeScript's core identity, including its structural type compatibility, compile-time type erasure, declaration file merging, and the discriminated union pattern for precise type narrowing. The tutorial distinguishes itself by providing a progressive learning path from basic JavaScript concepts to advanced TypeScript patterns. It covers generic type parameter constraints, tuple types with fixed-length positions
Teaches how TypeScript infers array types from the best common type of elements.
This project is a C++ template tutorial and metaprogramming guide. It provides instructional content on using templates to implement generic programming and execute Turing-complete logic during the compilation process. The guide serves as a reference for static type dispatching, substitution failure, and the use of concepts to ensure type safety. It covers methods for selecting function implementations at compile time to eliminate runtime branching. The material addresses compile-time type manipulation, including the transformation of type qualifiers and the use of constraints to prevent inv
Provides instructional content on computing constant expressions and results during the compilation phase to reduce runtime overhead.
Binaryen is a WebAssembly compiler toolchain and optimizer designed to transform, validate, and shrink binary modules. It provides a comprehensive intermediate representation framework that converts binary code into a single-assignment form to enable advanced program analysis and code transformation. The project includes a specialized transformation engine that applies iterative optimization passes to increase execution speed and reduce binary size. Additionally, it functions as a transpiler that translates WebAssembly binary modules into executable JavaScript for environments that lack nativ
Executes parts of functions during the build process to compute results at compile-time.
Make Zotero effective for us LaTeX holdouts
Compiles user-defined citation key patterns into executable functions using a custom expression parser.
EvalXR is an interactive Rust compiler that compiles code into dynamically loaded libraries for iterative evaluation without restarting the process. It serves as a Rust Jupyter kernel, a notebook runtime, and a REPL environment, all with state retention across evaluations. The project provides a stateful Rust evaluation engine that runs code snippets in isolated sandboxes while keeping functions and variables alive between executions. It supports cell-based execution, compiling Rust code into a shared library and loading it into the same process to preserve state, with an error-aware compilat
Compiles Rust code into shared libraries at runtime for iterative evaluation without restarting the process.
The Rust RFCs repository is the formal home for the Rust language evolution process, housing the structured design documents and community review mechanisms that govern changes to the Rust programming language, its compiler, and its standard library. It defines the complete lifecycle for proposing, discussing, and implementing substantial changes through RFC documents, from initial submission and community feedback through final comment periods and sub-team sign-offs. The repository codifies the governance and collaboration processes that shape Rust's development, including mechanisms for com
Evaluates a block expression at compile time, allowing items and a trailing constant expression to define static values.
TFLint 是一款静态分析工具和基础设施即代码(IaC)验证器,旨在识别 Terraform 配置文件中的错误并强制执行最佳实践。它既是自动化工作流的质量关卡,也是一个语言服务器,可直接在支持的文本编辑器中提供实时诊断和 linting 错误提示。 该项目利用 gRPC 插件框架,允许通过独立的二进制文件和专用 SDK 集成自定义的供应商特定验证规则。这种架构将核心 linting 逻辑与云服务商特定的验证分离开来,支持自动安装外部规则集,以根据官方规范验证资源属性。 其分析引擎能够解析配置值并评估内置函数,通过展开动态块和资源集合来检查最终实例化的结构。它涵盖了编码标准强制执行、模块调用分析以及无效资源属性的检测,并支持以 SARIF 等格式导出结构化结果。 该工具包含一个用于分析目标过滤的命令行界面,并为支持的规则提供自动修复功能。
Simulates the final instantiated resource structure by expanding dynamic blocks and loops for comprehensive analysis.
Roc is a statically typed, functional programming language built around immutable-by-default semantics, exhaustive pattern matching on tag unions, and a type system that combines optional explicit annotations with full compile-time type inference. Its core identity centers on correctness and expressiveness, using tagged unions for error handling with a question-mark operator for early error propagation, and a trailing-bang naming convention that makes side-effect boundaries syntactically visible at every call site. The language distinguishes itself through a platform-based I/O abstraction tha
Provides block expressions that group statements and evaluate to the last expression's value.
go-ast-book 是一系列专注于抽象语法树(AST)分析、编译器开发和静态代码验证的教育和技术资源。它提供了解析、遍历和分析 Go 源代码以提取语义含义的指南和手册。 该项目作为构建编译器前端的参考,涵盖了将高级代码转换为中间表示和静态单赋值形式的过程。它还提供了使用这些技术开发语言工具和执行静态代码分析的说明。 这些资源涵盖了广泛的静态分析能力,包括词法标记化、表达式和声明的结构化解析,以及源文件的坐标跟踪。它还详细介绍了语义分析过程,如标识符解析、类型正确性验证,以及针对并发和延迟执行的控制流分析。
Implements the retrieval of resulting types for complex expressions at compile time without executing the code.
This project is a polyglot runtime bridge and interop framework designed to execute .NET and Node.js code within a single operating system process. It functions as a cross-runtime execution engine and in-process scripting host, enabling bidirectional communication and data exchange between the Common Language Runtime and JavaScript environments to eliminate cross-process communication overhead. The framework distinguishes itself by providing a system for bidirectional asynchronous callbacks and automatic data marshalling of binary buffers and serializable values between different managed obje
Compiles source scripts into delegates at runtime to execute managed code within the current process.
c3c is the compiler for the C3 programming language, transforming source code into executable binaries, static libraries, or dynamic libraries using an LLVM backend. It implements a system based on result-based error handling, scoped memory pooling, and a semantic macro system. The compiler provides first-class support for hardware-backed SIMD vectors that map directly to processor instructions and enables runtime polymorphism through interface-based dynamic dispatch. The project covers a broad set of low-level capabilities, including manual and pooled memory management, inline assembly inte
C3 computes values and executes logic during the compilation phase to optimize runtime performance.
该项目是 TypeScript 语言的综合指南和教育资源。它涵盖了该语言的基本原则,包括其结构化类型系统、静态类型分析以及将类型化源文件转译为 JavaScript 的过程。 该材料详细介绍了如何使用泛型、条件类型和映射类型来建模复杂数据和可重用的类型逻辑。它还解释了如何使用声明文件为外部 JavaScript 库提供类型安全,以及如何通过 JSDoc 注释将类型检查集成到现有的 JavaScript 项目中。 内容范围扩展到面向对象编程模式、DOM 操作和编译器行为配置。它包括关于管理模块互操作性、设置构建管线以及利用编辑器智能以提高开发者生产力的指导。
Describes how the compiler determines and enforces the types of elements within arrays.
这是一个 C++ Ranges 库和标准模板库 (STL) 的扩展,提供了一系列用于处理数据序列的可组合算法和惰性视图。它作为惰性序列处理框架和模板元编程库,用于操作类型列表并执行编译时类型计算。 该项目通过使用管道语法和偏函数应用,在 C++ 中实现了函数式编程模式,从而创建可读的、从左到右的数据转换链。它允许构建按需过滤和转换元素的惰性数据流水线,以减少内存开销并避免不必要的拷贝。 该库涵盖了广泛的能力领域,包括序列操作、编译时类型操作以及自定义范围类型和迭代器的实现。它提供了用于急切的原地容器修改、基于投影的算法分发以及通过一系列类型级可调用对象管理类型列表的工具。
Implements mechanisms to determine the most compatible reference type between two different types at compile time.
Myth 是一个 CSS 构建工具和预处理器,将现代样式规范和未来语法转换为当前 Web 浏览器兼容的代码。它充当 Polyfill 工具,将高级功能转换为标准 CSS,以确保一致的跨浏览器渲染。 该项目基于浏览器支持数据提供自动化的厂商前缀添加,并将 CSS 变量解析为静态值以实现遗留浏览器兼容性。它还处理自定义媒体查询别名的转译,并将高级颜色函数转换为标准格式。 该工具集包括用于样式表编译的命令行界面,具有用于压缩的输出压缩功能和用于调试的源映射生成功能。它进一步支持构建时数学计算和文件更改监控,以自动化处理流水线。
Calculates mathematical operations and color functions during the compilation phase to eliminate runtime overhead.