unnamed function
currently function declare is veeeeery long, make a shorter one.
current:
t=(LOCAL_DECLARE_OP|ASYNC_DECLARE_OP) INT_NUM FUNCTION_TYPE
NAMING YUE IDENTIFIER
(FUNCTION_ARGS_START FUNCTION_ARGS_GET
(args+=INT_NUM t+=(NUM_TYPE|LIST_TYPE|STRING_TYPE|BOOL_TYPE|OBJECT_TYPE|FUNCTION_TYPE)
(YUE id+=IDENTIFIER)+)+)?
FUNCTION_BODY_START
statements
DEFINE_CLOSURE IDENTIFIER FUNCTION_DEFINE_END ;
prefer:
t=(LOCAL_DECLARE_OP|ASYNC_DECLARE_OP) INT_NUM FUNCTION_TYPE
(NEED (t+=(NUM_TYPE|LIST_TYPE|STRING_TYPE|BOOL_TYPE|OBJECT_TYPE|FUNCTION_TYPE)
YUE id+=IDENTIFIER)+)?
statements
FUNCTION_DEFINE_END
DECLARE_HAVE FUNCTION_TYPE
(NEED (t+=(NUM_TYPE|LIST_TYPE|STRING_TYPE|BOOL_TYPE|OBJECT_TYPE|FUNCTION_TYPE)
YUE id+=IDENTIFIER)+)?
statements
FUNCTION_DEFINE_END
lexer
NEED: '需';