Skip to content

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_parse解析参数,并将结果生成一个object对象。
func_call_parser_deinit重置parser。
func_call_parser_init初始化parser对象。
func_call_parser_parse开始解析。

func_call_parse 函数

  • 函数功能:

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

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

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

func_call_parser_deinit 函数

  • 函数功能:

重置parser。

  • 函数原型:
ret_t func_call_parser_deinit (func_call_parser_t* parser);
  • 参数说明:
参数类型说明
返回值ret_t返回RET_OK表示成功,否则表示失败。
parserfunc_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对象本身。
parserfunc_call_parser_t*parser对象。
strconst char*要解析的字符串。
sizeuint32_t字符串长度。

func_call_parser_parse 函数

  • 函数功能:

开始解析。

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