awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
symfony avatar

symfony/expression-language

0
View on GitHub↗
2,848 stars·45 forks·PHP·MIT·22 viewssymfony.com/expression-language↗

Expression Language

The expression-language is a lightweight calculation component and parser tool that compiles and evaluates single-line string expressions against runtime variables. It functions as an expression engine that parses logical expressions into executable code or evaluates them directly against provided variables and functions to power dynamic rule evaluation and configuration.

The engine features a complete architecture covering lexical tokenisation, intermediate code generation, and execution caching. It parses expression strings into hierarchical abstract syntax trees to enable programmatic inspection, structural code analysis, and pre-execution error checking. Parsed and compiled statement structures are stored internally to accelerate subsequent executions of identical code blocks without rebuilding.

Extensibility and runtime flexibility are supported through dynamic variable injection, which binds arbitrary runtime data maps into the execution scope for state-aware evaluation. Additionally, a user-defined function registry maintains custom callable extensions that expand the core grammar to support specialized calculation logic and domain-specific requirements.

Features

  • Expression Evaluators - Parses logical expressions into executable code or evaluates them directly against provided variables and functions.
  • Parsed Code Caching - Stores compiled and parsed statements internally to accelerate repeated executions of identical code blocks without rebuilding them.
  • Compiler Caches - Caches compiled and parsed statement structures internally to accelerate subsequent executions of identical code blocks.
  • Dynamic Variable Injection - Binds arbitrary runtime data maps into the execution scope so expressions can evaluate against changing application state.
  • Runtime Variable Injections - Passes arbitrary data types into expressions to make application state available during execution.
  • Business Rule Evaluation - Executes boolean conditions and business rules configured at runtime without hardcoding logic into the application codebase.
  • Custom Function Registrations - Extends the evaluation environment with user-defined functions to support specialized domain logic.
  • Expression Validators - Inspects expression strings and analyzes code for syntax errors and unknown variables before execution to ensure correctness.
  • Runtime Code Compilation - Translates expression strings into executable code to run repeated operations quickly without parsing overhead.
  • PHP Parsers - Compiles and evaluates single-line string expressions against PHP variables to power dynamic rule evaluation.
  • Custom Scripting Functions - Adds domain-specific functions and custom variables to an expression engine to support specialized calculation logic.
  • Expression Registries - Maintains a lookup table of custom callable extensions that expand the core grammar with specialized domain logic.

Star history

Star history chart for symfony/expression-languageStar history chart for symfony/expression-language

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does symfony/expression-language do?

The expression-language is a lightweight calculation component and parser tool that compiles and evaluates single-line string expressions against runtime variables. It functions as an expression engine that parses logical expressions into executable code or evaluates them directly against provided variables and functions to power dynamic rule evaluation and configuration.

What are the main features of symfony/expression-language?

The main features of symfony/expression-language are: Expression Evaluators, Parsed Code Caching, Compiler Caches, Dynamic Variable Injection, Runtime Variable Injections, Business Rule Evaluation, Custom Function Registrations, Expression Validators.

What are some open-source alternatives to symfony/expression-language?

Open-source alternatives to symfony/expression-language include: knetic/govaluate — govaluate is a Go expression evaluator and runtime logic parser. It functions as a dynamic rule engine that converts… killme2008/aviatorscript — Aviatorscript is a high-performance scripting language and expression evaluation engine designed for integration… microsoft/rulesengine — RulesEngine is a business logic evaluator for .NET that executes complex rule workflows and dynamic expressions… alibaba/qlexpress — QLExpress is a dynamic scripting engine and expression language for the Java platform. It functions as a runtime… rhaiscript/rhai — Rhai is an embedded scripting engine and dynamically typed language designed for integration into Rust applications.… unisonweb/unison.

Open-source alternatives to Expression Language

Similar open-source projects, ranked by how many features they share with Expression Language.
  • knetic/govaluateKnetic avatar

    Knetic/govaluate

    3,940View on GitHub↗

    govaluate is a Go expression evaluator and runtime logic parser. It functions as a dynamic rule engine that converts string-based expressions into executable operations, allowing for the calculation of mathematical and logical expressions at runtime. The library enables the execution of business rules and custom formulas without recompiling source code. It supports extending evaluation behavior through the injection of external parameters and the execution of user-defined custom functions. The system provides capabilities for dynamic data validation, including regular expression matching and

    Goevaluationexpressiongo
    View on GitHub↗3,940
  • killme2008/aviatorscriptkillme2008 avatar

    killme2008/aviatorscript

    5,216View on GitHub↗

    Aviatorscript is a high-performance scripting language and expression evaluation engine designed for integration within Java applications. It enables the dynamic execution of mathematical and logical formulas by compiling script instructions directly into Java bytecode at runtime. The engine distinguishes itself by transforming dynamic logic into machine-readable instructions, allowing for near-native execution speeds. It includes a built-in caching mechanism that stores compiled bytecode to eliminate redundant parsing and compilation overhead during repeated formula execution. This library

    Javaaviatorscriptexpression-evaluatorjava
    View on GitHub↗5,216
  • microsoft/rulesenginemicrosoft avatar

    microsoft/RulesEngine

    4,299View on GitHub↗

    RulesEngine is a business logic evaluator for .NET that executes complex rule workflows and dynamic expressions against input data. It functions as a dynamic expression evaluator and an externalized logic framework, allowing the definition and management of business rules in JSON format to change application behavior without recompiling code. The project decouples decision logic from source code by loading policies from external files or databases. It supports the registration of custom classes and methods to extend standard expression capabilities through type injection. The framework cover

    C#dotnetengineexpression-evaluator
    View on GitHub↗4,299
  • alibaba/qlexpressalibaba avatar

    alibaba/QLExpress

    5,597View on GitHub↗

    QLExpress is a dynamic scripting engine and expression language for the Java platform. It functions as a runtime expression evaluator and business rule engine, allowing applications to execute scripts and evaluate business logic without requiring system recompilation. The engine distinguishes itself through a secure scripting sandbox that enforces security policies via class whitelisting and execution timeouts. It supports high-precision mathematics to prevent rounding errors and provides language alias support to create domain-specific languages that resemble natural language. Additional cap

    Java
    View on GitHub↗5,597
See all 30 alternatives to Expression Language→

Curated searches featuring Expression Language

Hand-picked collections where Expression Language appears.
  • Template condition validator