def function(p): return Function(p[1].getstr(), p[5], Basket([]), Basket([]))
def struct(p): return Struct(p[1].getstr(), Basket([]))
def fields(p): return Basket(p)
def pointer(p): return Basket(p)
def function(p): return Etch(Basket([]), p[0])
def modifier(p): return Modifier(p[1].getstr(), Basket([]))
def kind(p): return Kind(p[0].getstr(), Basket([]))
def call(p): return Call(p[0].getstr(), Basket([]))
def parameters(p): return Basket([p[0], p[2]])
def definitions(p): return Basket(p)
def mcall(p): return MethodCall(p[0], p[2].getstr(), Basket([]))
def statements(p): return Basket(p)
def arguments(p): return Basket([p[0], p[2]])
def modparams(p): return Basket([p[0], p[2]])
def function(p): return Declaration(p[1].getstr(), p[5], Basket([]))
def target(p): return Basket([p[0], Variable(p[0].combo.name)])
def function(p): return Method(p[4].getstr(), p[8], Basket([]), p[10], p[2])
def function(p): return MethodDeclaration(p[4].getstr(), p[8], Basket([]), p[2])