awtk/docs/manual/func_call_parser_t.md

107 lines
2.8 KiB
Markdown
Raw Normal View History

2018-12-20 17:33:31 +08:00
## func\_call\_parser\_t
### 概述
2019-12-14 13:25:56 +08:00
从字符串中解析出函数调用需要的参数。
```
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)
2019-01-15 14:34:05 +08:00
----------------------------------
2018-12-20 17:33:31 +08:00
### 函数
<p id="func_call_parser_t_methods">
| 函数名称 | 说明 |
| -------- | ------------ |
2020-05-24 19:28:22 +08:00
| <a href="#func_call_parser_t_func_call_parse">func\_call\_parse</a> | 解析参数并将结果生成一个object对象。 |
2018-12-21 12:11:40 +08:00
| <a href="#func_call_parser_t_func_call_parser_deinit">func\_call\_parser\_deinit</a> | 重置parser。 |
| <a href="#func_call_parser_t_func_call_parser_init">func\_call\_parser\_init</a> | 初始化parser对象。 |
| <a href="#func_call_parser_t_func_call_parser_parse">func\_call\_parser\_parse</a> | 开始解析。 |
2020-05-24 19:28:22 +08:00
#### func\_call\_parse 函数
2018-12-21 18:29:29 +08:00
-----------------------
* 函数功能:
2020-05-24 19:28:22 +08:00
> <p id="func_call_parser_t_func_call_parse">解析参数并将结果生成一个object对象。
> 调用者负责释放返回的object对象。
2019-10-16 09:02:32 +08:00
2018-12-21 11:39:05 +08:00
* 函数原型:
```
2020-05-24 19:28:22 +08:00
object_t* func_call_parse (const char* str, uint32_t size);
2018-12-21 11:39:05 +08:00
```
* 参数说明:
2018-12-20 17:33:31 +08:00
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
2020-05-24 19:28:22 +08:00
| 返回值 | object\_t* | 返回object对象。 |
| str | const char* | 要解析的字符串。 |
| size | uint32\_t | 字符串长度。 |
#### func\_call\_parser\_deinit 函数
2018-12-21 18:29:29 +08:00
-----------------------
2018-12-21 11:39:05 +08:00
* 函数功能:
2020-05-24 19:28:22 +08:00
> <p id="func_call_parser_t_func_call_parser_deinit">重置parser。
2019-10-16 09:02:32 +08:00
2018-12-21 11:39:05 +08:00
* 函数原型:
```
2020-05-24 19:28:22 +08:00
ret_t func_call_parser_deinit (func_call_parser_t* parser);
2018-12-21 11:39:05 +08:00
```
* 参数说明:
2018-12-20 17:33:31 +08:00
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
2020-05-24 19:28:22 +08:00
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
2018-12-20 17:33:31 +08:00
| parser | func\_call\_parser\_t* | parser对象。 |
2020-05-24 19:28:22 +08:00
#### func\_call\_parser\_init 函数
2018-12-21 18:29:29 +08:00
-----------------------
2018-12-21 11:39:05 +08:00
* 函数功能:
2020-05-24 19:28:22 +08:00
> <p id="func_call_parser_t_func_call_parser_init">初始化parser对象。
2019-10-16 09:02:32 +08:00
2018-12-21 11:39:05 +08:00
* 函数原型:
```
2020-05-24 19:28:22 +08:00
func_call_parser_t* func_call_parser_init (func_call_parser_t* parser, const char* str, uint32_t size);
2018-12-21 11:39:05 +08:00
```
* 参数说明:
2018-12-20 17:33:31 +08:00
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
2020-05-24 19:28:22 +08:00
| 返回值 | func\_call\_parser\_t* | parser对象本身。 |
2018-12-20 17:33:31 +08:00
| parser | func\_call\_parser\_t* | parser对象。 |
2020-05-24 19:28:22 +08:00
| str | const char* | 要解析的字符串。 |
| size | uint32\_t | 字符串长度。 |
2019-04-03 11:31:58 +08:00
#### func\_call\_parser\_parse 函数
-----------------------
* 函数功能:
2020-05-24 19:28:22 +08:00
> <p id="func_call_parser_t_func_call_parser_parse">开始解析。
2019-10-16 09:02:32 +08:00
2019-04-03 11:31:58 +08:00
* 函数原型:
```
2020-05-24 19:28:22 +08:00
ret_t func_call_parser_parse (func_call_parser_t* parser);
2019-04-03 11:31:58 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
2020-05-24 19:28:22 +08:00
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| parser | func\_call\_parser\_t* | parser对象。 |