def p_field_access_field_list(p): '''expr0 : field_list''' struct = variable(p[1].popleft()) fields = p[1] while fields: struct = field_access(struct, fields.popleft()) p[0] = struct
def p_field_access(p): '''expr0 : expr0 '.' NAME''' p[0] = field_access(p[1], p[3])