awtk/docs/manual/func_call_parser_t.md
2019-09-03 23:17:18 -07:00

4.5 KiB
Raw Blame History

func_call_parser_t

概述

从字符串中解析出函数调用需要的参数。 func_call => func_name '(' params ')' params => param ',' params param => name '=' value func_name => ID name = ID value = int | float | ID

如:move(x=10, y=20) 如:rename(old_name=aa, new_name=bb)


函数

函数名称 说明
func_call_parser_deinit 重置parser。
func_call_parser_init 初始化parser对象。
func_call_parser_parse 开始解析。
func_call_parser_parse 解析参数并将结果生成一个object对象。

属性

属性名称 类型 说明
args arg_desc_t** 函数参数描述。
desc const char* 描述。
exec func_exec_t 函数指针。
name const char* 名称。
return_value value_desc_t* 函数返回值描述。

func_call_parser_deinit 函数


  • 函数功能:

重置parser。

  • 函数原型:
ret_t func_call_parser_deinit (func_call_parser_t* parser);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
parser func_call_parser_t* parser对象。

func_call_parser_init 函数


  • 函数功能:

初始化parser对象。

  • 函数原型:
func_call_parser_t* func_call_parser_init (func_call_parser_t* parser, const char* str, uint32_t size);
  • 参数说明:
参数 类型 说明
返回值 func_call_parser_t* parser对象本身。
parser func_call_parser_t* parser对象。
str const char* 要解析的字符串。
size uint32_t 字符串长度。

func_call_parser_parse 函数


  • 函数功能:

开始解析。

  • 函数原型:
ret_t func_call_parser_parse (func_call_parser_t* parser);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
parser func_call_parser_t* parser对象。

func_call_parser_parse 函数


  • 函数功能:

解析参数并将结果生成一个object对象。

调用者负责释放返回的object对象。

  • 函数原型:
object_t* func_call_parser_parse (const char* str, uint32_t size);
  • 参数说明:
参数 类型 说明
返回值 object_t* 返回object对象。
str const char* 要解析的字符串。
size uint32_t 字符串长度。

args 属性


函数参数描述。

  • 类型arg_desc_t**
特性 是否支持
可直接读取
可直接修改

desc 属性


描述。

  • 类型const char*
特性 是否支持
可直接读取
可直接修改

exec 属性


函数指针。

  • 类型func_exec_t
特性 是否支持
可直接读取
可直接修改

name 属性


名称。

  • 类型const char*
特性 是否支持
可直接读取
可直接修改

return_value 属性


函数返回值描述。

  • 类型value_desc_t*
特性 是否支持
可直接读取
可直接修改