Skip to content

feat(ast): add v0.1 syntax tree model - #12

Merged
ofabiodev merged 6 commits into
mainfrom
add-ast-model
Jul 27, 2026
Merged

feat(ast): add v0.1 syntax tree model#12
ofabiodev merged 6 commits into
mainfrom
add-ast-model

Conversation

@ofabiodev

Copy link
Copy Markdown
Member

Summary

Adds the Puff v0.1 AST model for declarations, statements, expressions, strings, variables, and source spans.

Changes

  • Add structured AST nodes for files, metadata, requirements, functions, events, globals, statements, and expressions.
  • Add assignable variable and access-expression contracts without embedding Minecraft command strings.
  • Add comprehensive tests for node construction, declaration boundaries, syntax structure, and span propagation.

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/ast AST structure, nodes, and source mapping. puff/syntax Puff language syntax and grammar behavior. labels Jul 27, 2026
@ofabiodev
ofabiodev merged commit 5295990 into main Jul 27, 2026
2 checks passed
@ofabiodev
ofabiodev deleted the add-ast-model branch July 27, 2026 14:20
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. kind/feature New behavior or capability. kind/test Tests, fixtures, golden files, or test infrastructure. puff/syntax Puff language syntax and grammar behavior.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant