Skip to content

Migrate netexpr to the modern expression API - #1

Merged
Olof-Lagerkvist merged 3 commits into
masterfrom
experimental/math-expression-migration
Sep 8, 2026
Merged

Migrate netexpr to the modern expression API#1
Olof-Lagerkvist merged 3 commits into
masterfrom
experimental/math-expression-migration

Conversation

@Olof-Lagerkvist

Copy link
Copy Markdown
Member

netexpr used the legacy parser and LINQ-expression compilation. This migration uses MathParser, MathBinder and interpreted evaluation from LTRData.MathExpression 1.1.0, with source diagnostics and explicit variable binding.

Preserve formula argument joining, invariant numeric output, case-insensitive prompted assignments and the historical rounded numeric exit code. Handle missing input and non-finite results explicitly. Modern power precedence applies; shift/bitwise syntax is intentionally rejected. Keep all five existing targets, including net35/net40.

Validation: the application owner tested the migration. The final package build compiled every target and the 13 command-line scenarios passed. The focused workflow has also passed on Linux and Windows, building the pinned Library revision through a fresh shared NuGet feed.

Producer dependency: Library PR #3. Build its packages first; this repository continues to consume NuGet packages across repository boundaries. See docs/netexpr-migration.md for behavior and review commands.

@Olof-Lagerkvist
Olof-Lagerkvist merged commit e02b088 into master Sep 8, 2026
6 checks passed
@Olof-Lagerkvist
Olof-Lagerkvist deleted the experimental/math-expression-migration branch September 8, 2026 21:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant