I'm still learning, but I think its just the distinction between introducing the name and performing the name binding. Consider this example,
let (x, y) = (1, 2) This parses into one PatternBindingDecl and two VarDecls. Slava > On Dec 18, 2015, at 8:08 AM, Lee M via swift-dev <swift-dev@swift.org> wrote: > > With the code: var foo = true, swift parses this into the following AST: > > (pattern_binding_decl > (pattern_named 'foo') > (boolean_literal_expr type='<null>' value=true)) > (var_decl "foo" type='<null type>' storage_kind=stored))) > > I'm wondering why VarDecl and PatternBindingDecl are separate nodes in the > tree and not nested somehow, as they both represent similar things..? > > Might be a trivial question as I'm not a compiler guru. I'm porting parts of > the AST representation to another language for a project. > > Thanks! > _______________________________________________ > swift-dev mailing list > swift-dev@swift.org > https://lists.swift.org/mailman/listinfo/swift-dev
_______________________________________________ swift-dev mailing list swift-dev@swift.org https://lists.swift.org/mailman/listinfo/swift-dev