Skip to content

feat(parser): add top level parser - #13

Merged
ofabiodev merged 5 commits into
mainfrom
add-top-level-parser
Jul 29, 2026
Merged

feat(parser): add top level parser#13
ofabiodev merged 5 commits into
mainfrom
add-top-level-parser

Conversation

@ofabiodev

Copy link
Copy Markdown
Member

Summary

Adds the Puff v0.1 top-level parser for metadata, imports, functions, events, and global assignments.

Changes

  • Parse requirements, function signatures, nested types, events, globals, and public declarations.
  • Add source spans, contextual identifiers, block balancing, and parser recovery.
  • Add golden AST coverage and diagnostics for invalid top-level syntax, missing tokens, unexpected tokens, and missing end.

Testing

make test
make build
cd src
go vet ./...

@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/metadata # namespace and # tags front matter. labels Jul 29, 2026
@ofabiodev
ofabiodev merged commit 2925370 into main Jul 29, 2026
2 checks passed
@ofabiodev
ofabiodev deleted the add-top-level-parser branch July 29, 2026 14:39
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/metadata # namespace and # tags front matter. puff/syntax Puff language syntax and grammar behavior.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant