Albatross.Expression

A .NET library for parsing and evaluating text-based expressions with support for variables, external data sources, and asynchronous operations.

Features

  • Parse and evaluate mathematical, logical, and string expressions
  • Rich built-in function library (math, string, date/time, arrays, regex)
  • Variable support with ExecutionContext
  • External data integration and async evaluation
  • Supports .NET 8.0+

Installation

dotnet add package Albatross.Expression

Quick Start

using Albatross.Expression.Parsing;

var parser = new ParserBuilder().BuildDefault();

// Basic evaluation
var result = parser.Eval("1 + 5 * 2", null); // Returns: 11

// With variables
var context = new DefaultExecutionContext<object>(parser);
context.Set(new ExpressionContextValue<object>("x", "10", parser));
var result2 = parser.Eval("x * 2", context); // Returns: 20

// Built-in functions
var result3 = parser.Eval("upper('hello')", null); // Returns: "HELLO"

CLI Tool

Install globally for command-line usage:

dotnet tool install -g Albatross.Expression.Utility
ex eval "2 + 3 * 4"  # Returns: 14

Documentation

License

MIT License - Copyright (c) 2017 Rushui Guan