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

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
alibaba avatar

alibaba/QLExpress

0
View on GitHub↗
5,597 Stars·1,212 Forks·Java·Apache-2.0·10 Aufrufe

QLExpress

QLExpress ist eine dynamische Skript-Engine und Ausdruckssprache für die Java-Plattform. Sie fungiert als Laufzeit-Ausdrucksauswerter und Business-Rule-Engine, die es Anwendungen ermöglicht, Skripte auszuführen und Geschäftslogik auszuwerten, ohne dass eine System-Neukompilierung erforderlich ist.

Die Engine zeichnet sich durch eine sichere Skript-Sandbox aus, die Sicherheitsrichtlinien via Class-Whitelisting und Ausführungs-Timeouts durchsetzt. Sie unterstützt hochpräzise Mathematik, um Rundungsfehler zu vermeiden, und bietet Unterstützung für Sprach-Aliase, um domänenspezifische Sprachen zu erstellen, die natürlicher Sprache ähneln. Zusätzliche Funktionen umfassen einen Makro-basierten Fragment-Replay-Mechanismus und die Möglichkeit, bestehende Java-Klassen durch das Injizieren neuer Member-Methoden zu erweitern, die nur innerhalb der Skriptumgebung zugänglich sind.

Das System deckt ein breites Spektrum an Funktionen ab, einschließlich Bytecode-basierter Kompilierung mit Skript-Caching, Auswertung abstrakter Syntaxbäume und dynamischer String-Interpolation. Es bietet zudem Observability durch knotenbasierte Ausführungsverfolgung für die Ursachenanalyse sowie Skript-Syntaxvalidierung und Unterstützung komplexer Datenstrukturen unter Verwendung von JSON-Syntax.

Features

  • Business Rule Engines - Functions as a business rule engine allowing complex operational logic to be changed at runtime without recompilation.
  • Expression Evaluators - Functions as a general-purpose engine for processing mathematical and logical expressions during runtime.
  • Embeddable Scripting Engines - Provides an embeddable scripting engine for Java applications to support flexible logic updates and DSLs.
  • Expression Parsing - Uses a formal grammar to decompose text into mathematical and logical operators for deterministic evaluation.
  • Bytecode Compilation - Translates scripts into an internal binary format to improve execution speed and avoid repeated parsing.
  • Dynamic Expression Languages - Serves as a dynamic expression language for the Java platform to evaluate business rules at runtime.
  • Dynamic Script Execution - Evaluates expressions and runs scripts within an application to change business logic without requiring a full recompile.
  • External Variable Mapping - Extracts required external variables and functions from scripts to prepare the necessary execution context.
  • Expression Tree Evaluators - Implements a recursive visitor pattern to evaluate logical operations within a generated expression tree.
  • Sandbox Permissions - Enforces security policies via class whitelisting and execution timeouts within a controlled scripting sandbox.
  • Scripting Sandboxes - Restricts access to class fields and methods using configurable security policies like whitelists or isolation.
  • Secure Sandboxing - Provides an execution environment that enforces security policies through class whitelisting and execution timeouts.
  • Runtime Variable Mappings - Provides a mechanism to map script variables to external Java objects during the runtime execution phase.
  • Scripted Function Definitions - Allows defining and invoking reusable named or anonymous functions within the scripting environment.
  • Runtime Expression Evaluation - Calculates dynamic values and executes scripts on the fly using external variables and custom functions.
  • Script Validators - Validates script syntax and security constraints before execution to prevent runtime errors and unauthorized access.
  • Syntax Validation - Checks for syntax errors and enforces operator restrictions without executing the script to ensure correctness.
  • Compiled Caches - Stores compiled expressions in memory or as serializable objects to eliminate redundant parsing overhead.
  • Script Execution Timeouts - The project interrupts script execution after a specified duration to prevent infinite loops from consuming system resources.
  • Runtime Method Injection - Adds new member methods to existing Java classes that remain accessible exclusively within the script environment.
  • Complex Data Structure Support - Provides JSON-based syntax for defining maps, lists, and complex objects within scripts.
  • Domain Specific Languages - Supports the creation of simplified, natural language syntax to allow non-technical users to write business logic.
  • Dynamic Variable Injection - Supports nested dependencies by defining variables as expressions that depend on other variables.
  • Language Alias Support - Allows assigning custom names to keywords and functions to make scripts read more like natural language.
  • Macro-Based Fragment Replay - Encapsulates script fragments for reuse through a replay mechanism that shares the caller's scope.
  • Macro Replay Mechanisms - Implements a macro-based fragment replay mechanism to encapsulate and reuse script segments.
  • String Interpolation - Embeds expression results directly into strings using template syntax for flexible text generation.
  • High Precision Mathematics - Uses high-precision decimal types for numbers that cannot be represented exactly by doubles to prevent rounding errors.
  • Dynamic Class Extensions - Enables the extension of existing Java classes by injecting new member methods accessible only within the script environment.
  • Method Logic Injection - Allows attaching new behaviors to existing Java classes at runtime via proxies accessible within scripts.
  • Execution Tracing - Records intermediate values of every node during evaluation to provide a detailed tree for root cause analysis.
  • Step-Level Tracing - Records the result of every single operation in the syntax tree to enable detailed debugging and root cause analysis.

Star-Verlauf

Star-Verlauf für alibaba/qlexpressStar-Verlauf für alibaba/qlexpress

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Open-Source-Alternativen zu QLExpress

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit QLExpress.
  • rhaiscript/rhaiAvatar von rhaiscript

    rhaiscript/rhai

    5,453Auf GitHub ansehen↗

    Rhai is an embedded scripting engine and dynamically typed language designed for integration into Rust applications. It functions as an abstract syntax tree compiler and native interop layer, allowing developers to map Rust types and functions into a scripting environment for bidirectional communication. The project serves as a framework for creating customizable domain-specific languages. It allows for the definition of custom operators, syntax, and restricted execution environments, enabling the creation of specialized languages with tailored functional sets. The engine covers a broad rang

    Rustembeddedembedded-scripting-languageno-std
    Auf GitHub ansehen↗5,453
  • antonmedv/exprAvatar von antonmedv

    antonmedv/expr

    7,905Auf GitHub ansehen↗

    Expr is a high-performance expression evaluation engine and language for Go applications. It functions as a dynamic rule engine that parses and executes custom logic and data validations at runtime without requiring the application to be recompiled. The system utilizes a sandboxed logic executor to run expressions without side effects. It ensures program termination by employing instruction-level loop detection to prevent infinite loops and isolates the evaluation process from the host system. The engine employs a bytecode-based virtual machine and abstract syntax tree analysis to achieve ex

    Go
    Auf GitHub ansehen↗7,905
  • lunet-io/scribanAvatar von lunet-io

    lunet-io/scriban

    3,905Auf GitHub ansehen↗

    Scriban is a .NET text templating engine and embedded scripting language used for dynamic text generation. It functions as an abstract syntax tree manipulation tool and a template parser, allowing for the conversion of scripts into visitable trees for analysis, modification, and rendering. The engine is specifically designed for Native AOT compatibility, utilizing a reflection-free API to execute templates in trimmed environments. It also provides a dedicated parser and conversion system for Liquid templates, enabling the migration and execution of Liquid scripts within .NET. The project cov

    C#
    Auf GitHub ansehen↗3,905
  • j-easy/easy-rulesAvatar von j-easy

    j-easy/easy-rules

    5,246Auf GitHub ansehen↗

    Easy-rules is a Java business rules engine designed for defining and evaluating conditional logic and actions. It serves as a framework for organizing simple logic units into complex hierarchies of composite rules and acting as an iterative rule processor. The system functions as an expression language rules engine, allowing rule conditions and actions to be defined via dynamic expressions rather than static compiled code. This enables the configuration of business logic that can change application behavior without requiring source code recompilation. The engine supports fact-based matching

    Java
    Auf GitHub ansehen↗5,246
Alle 30 Alternativen zu QLExpress anzeigen→

Häufig gestellte Fragen

Was macht alibaba/qlexpress?

QLExpress ist eine dynamische Skript-Engine und Ausdruckssprache für die Java-Plattform. Sie fungiert als Laufzeit-Ausdrucksauswerter und Business-Rule-Engine, die es Anwendungen ermöglicht, Skripte auszuführen und Geschäftslogik auszuwerten, ohne dass eine System-Neukompilierung erforderlich ist.

Was sind die Hauptfunktionen von alibaba/qlexpress?

Die Hauptfunktionen von alibaba/qlexpress sind: Business Rule Engines, Expression Evaluators, Embeddable Scripting Engines, Expression Parsing, Bytecode Compilation, Dynamic Expression Languages, Dynamic Script Execution, External Variable Mapping.

Welche Open-Source-Alternativen gibt es zu alibaba/qlexpress?

Open-Source-Alternativen zu alibaba/qlexpress sind unter anderem: rhaiscript/rhai — Rhai is an embedded scripting engine and dynamically typed language designed for integration into Rust applications.… antonmedv/expr — Expr is a high-performance expression evaluation engine and language for Go applications. It functions as a dynamic… microsoft/power-fx — Power-Fx is a declarative logic framework and low-code formula language based on Excel formulas. It functions as an… j-easy/easy-rules — Easy-rules is a Java business rules engine designed for defining and evaluating conditional logic and actions. It… lunet-io/scriban — Scriban is a .NET text templating engine and embedded scripting language used for dynamic text generation. It… symfony/expression-language — The expression-language is a lightweight calculation component and parser tool that compiles and evaluates single-line…