code: def p_funcdeclforward(p):
      
      if p[2] is None:
          if FUNCTION_LEVEL:
              FUNCTION_LEVEL.pop()
          return
  
      if p[2].entry.forwarded:
          syntax_error(p.lineno(1), "duplicated declaration for function '%s'" % p[2].name)
  
      p[2].entry.forwarded = True
      SYMBOL_TABLE.leave_scope()
      FUNCTION_LEVEL.pop()
docs: function_declaration : DECLARE function_header_pre