Skip to content

feat(parser): add statement expression parser - #14

Merged
ofabiodev merged 15 commits into
mainfrom
add-statement-expression-parser
Jul 29, 2026
Merged

feat(parser): add statement expression parser#14
ofabiodev merged 15 commits into
mainfrom
add-statement-expression-parser

Conversation

@ofabiodev

Copy link
Copy Markdown
Member

Summary

Adds the parser implementation for Puff expressions, statements, blocks, and control flow.

Changes

  • Add expression parsing with precedence, calls, variables, collections, ranges, and interpolation
  • Add assignments, conditionals, loops, returns, stops, and effect statements
  • Add diagnostic recovery, full grammar golden coverage, and malformed syntax tests

Testing

make test
make build

cd src
go vet ./...
go test ./internal/parser -cover

@ofabiodev ofabiodev added kind/feature New behavior or capability. kind/test Tests, fixtures, golden files, or test infrastructure. area/parser Parser, grammar, syntax recovery, and parse errors. area/ast AST structure, nodes, and source mapping. puff/syntax Puff language syntax and grammar behavior. puff/diagnostics Error messages, hints, notes, and source spans. puff/interpolation String interpolation, escapes, and string tokenization. labels Jul 29, 2026
@ofabiodev
ofabiodev merged commit edbcff2 into main Jul 29, 2026
2 checks passed
@ofabiodev
ofabiodev deleted the add-statement-expression-parser branch July 29, 2026 20:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/ast AST structure, nodes, and source mapping. area/parser Parser, grammar, syntax recovery, and parse errors. kind/feature New behavior or capability. kind/test Tests, fixtures, golden files, or test infrastructure. puff/diagnostics Error messages, hints, notes, and source spans. puff/interpolation String interpolation, escapes, and string tokenization. puff/syntax Puff language syntax and grammar behavior.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant