Skip to content

v2.0 - candidate - #573

Draft
Seddryck wants to merge 24 commits into
mainfrom
next-major
Draft

v2.0 - candidate#573
Seddryck wants to merge 24 commits into
mainfrom
next-major

Conversation

@Seddryck

Copy link
Copy Markdown
Owner

Summary

  • replace the embedded Sprache parser with the published Expressif.Syntax 0.10.0 package
  • add a single Expressif.Bindings translation layer for syntax nodes and runtime semantic models
  • migrate runtime, CLI, serializers, builders, and retained tests to the new boundary
  • remove Expressif/Parsers and the Sprache dependency

This is an intentional next-major migration checkpoint. Existing tests remain active to show which legacy language behaviors are and are not represented by the current syntax package and binder.

Validation

  • dotnet build Expressif.sln --no-restore --nologo -clp:ErrorsOnly — succeeded with 0 errors
  • runtime tests (net10.0) — 2,651 passed, 215 failed, 1 skipped (2,867 total)
  • CLI tests — 68 passed, 24 failed (92 total)
  • no remaining NotImplementedException, Expressif.Parsers, or Sprache references

Known runtime failure groups: 144 syntax rejections, 30 unsupported intervals, 10 record-access binding gaps, 5 NuGet syntax-tree binding gaps, 5 other binding gaps, 20 other runtime errors, and 1 assertion mismatch. Native Tree-sitter loading succeeds.

Close #572

@coderabbitai

coderabbitai Bot commented Aug 16, 2026

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Seddryck and others added 3 commits August 23, 2026 16:57
Remove the internal parser and bind Expressif.Syntax nodes to Expressif functions, predicates, accumulators, intervals, and parameters.

Preserve typed CLR literal values and update existing tests to the canonical Expressif.Syntax notation.

BREAKING CHANGE: parsing is now provided by Expressif.Syntax and the former Expressif.Parsers API has been removed.
* style: resolve StyleCop warnings

* docs: update the automatically generated documentation

---------

Co-authored-by: AppVeyor bot <no-reply@nbiguity.io>
@Seddryck Seddryck changed the title refactor!: replace embedded parser with syntax bindings v2.0 - candidate Aug 23, 2026
@codecov

codecov Bot commented Aug 23, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 87.41210% with 358 lines in your changes missing coverage. Please review.
✅ Project coverage is 84.44%. Comparing base (c343537) to head (e4e21d2).

Files with missing lines Patch % Lines
Expressif/Bindings/ExpressifBinder.cs 80.39% 31 Missing and 28 partials ⚠️
Expressif/Functions/FunctionFactory.cs 83.51% 20 Missing and 11 partials ⚠️
Expressif/Values/IntervalBuilder.cs 52.83% 17 Missing and 8 partials ⚠️
Expressif/Functions/BaseExpressionFactory.cs 56.75% 12 Missing and 4 partials ⚠️
...ssif.Cli/Infrastructure/CsvSourceProfileBuilder.cs 88.70% 8 Missing and 6 partials ⚠️
Expressif/PredicationBuilder.cs 41.66% 14 Missing ⚠️
...sif.Cli/Application/ExpressionOperationHandlers.cs 86.48% 8 Missing and 2 partials ⚠️
...pressif.Cli/Infrastructure/SourceInfrastructure.cs 94.59% 5 Missing and 5 partials ⚠️
Expressif/Values/Casters/NumericCoercion.cs 88.88% 6 Missing and 4 partials ⚠️
Expressif.Cli/Commands/CommandErrorFormatter.cs 81.63% 3 Missing and 6 partials ⚠️
... and 56 more
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #573      +/-   ##
==========================================
+ Coverage   83.71%   84.44%   +0.72%     
==========================================
  Files         167      219      +52     
  Lines        3937     6254    +2317     
  Branches      684     1111     +427     
==========================================
+ Hits         3296     5281    +1985     
- Misses        438      643     +205     
- Partials      203      330     +127     
Flag Coverage Δ
expressif-cli-net10.0 40.77% <66.77%> (?)
expressif-net10.0 81.45% <82.31%> (?)
expressif-net8.0 81.45% <82.31%> (?)
expressif-net9.0 81.45% <82.31%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

* feat: separate parsing from expression binding

* refactor: replace expression constructors with create methods

* refactor: hide expression factory dependencies

* refactor: remove closed expression wrapper
@Seddryck Seddryck linked an issue Aug 23, 2026 that may be closed by this pull request
@sonarqubecloud

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant