def p_decl_funcdef1(p):
    lineno = p.lineno(1)
    if p[1] != 'func':
        syntax_error('invalid syntax', FakeToken(p.lexer.lexer, lineno))
    funcdef = ast.FunctionDef()
    funcdef.name = p[2]
    funcdef.args = p[3]
    funcdef.body = p[5]
    funcdef.decorator_list = []
    funcdef.lineno = lineno
    ast.fix_missing_locations(funcdef)
    _validate_decl_funcdef(funcdef, p.lexer.lexer)
    decl_funcdef = enaml_ast.FuncDef()
    decl_funcdef.lineno = lineno
    decl_funcdef.funcdef = funcdef
    decl_funcdef.is_override = False
    p[0] = decl_funcdef
decl_funcdef : NAME NAME parameters COLON suite
dataset/ETHPy150Open nucleic/enaml/enaml/core/parser.py/p_decl_funcdef1