Skip to content

fix(parser): consolidate source-span parser#104

Merged
PSU3D0 merged 2 commits into
mainfrom
fix/parser-consolidation-empty-args
May 22, 2026
Merged

fix(parser): consolidate source-span parser#104
PSU3D0 merged 2 commits into
mainfrom
fix/parser-consolidation-empty-args

Conversation

@PSU3D0
Copy link
Copy Markdown
Owner

@PSU3D0 PSU3D0 commented May 22, 2026

Summary

  • remove the legacy token-vector parser and make the source-span parser the public Parser
  • fix leading empty function arguments like =FOO(,A1:C3) and preserve empty-argument arity
  • add public parser idioms: Parser::new, builder, TokenStream parsing, FromStr, and TryFrom for ASTNode/Parser
  • update bindings/cffi/eval call sites and parser docs

Fixes #103.
Closes #77.

Tests

  • cargo fmt --all
  • cargo clippy --workspace --all-targets -- -D warnings
  • cargo test -p formualizer-parse
  • cargo test --workspace --exclude formualizer-python

Note: cargo test --workspace reaches link but fails for formualizer-python in this environment because -lpython3.13 is unavailable.

@PSU3D0 PSU3D0 merged commit 1a2ba6b into main May 22, 2026
6 checks passed
@PSU3D0 PSU3D0 deleted the fix/parser-consolidation-empty-args branch May 22, 2026 05:59
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.

[bug] parse: f(,X,...) (leading empty argument followed by another arg) fails to parse parse: unify classic Parser and SpanParser

1 participant