jiejieTop / Cmd Parser
Licence: apache-2.0
一个非常简单好用的命令解析器,占用资源极少极少,采用哈希算法超快匹配命令!
Stars: ✭ 115
Programming Languages
c
50402 projects - #5 most used programming language
Projects that are alternatives of or similar to Cmd Parser
Neodoc
Beautiful, hand-crafted commandline interfaces for node.js
Stars: ✭ 221 (+92.17%)
Mutual labels: command, parser
Typin
Declarative framework for interactive CLI applications
Stars: ✭ 126 (+9.57%)
Mutual labels: command, parser
Sywac
🚫 🐭 Asynchronous, single package CLI framework for Node
Stars: ✭ 109 (-5.22%)
Mutual labels: command, parser
Inih
Simple .INI file parser in C, good for embedded systems
Stars: ✭ 1,394 (+1112.17%)
Mutual labels: parser
Tree Sitter Javascript
Javascript grammar for tree-sitter
Stars: ✭ 103 (-10.43%)
Mutual labels: parser
Nmonvisualizer
A Java GUI tool for analyzing NMON system files
Stars: ✭ 114 (-0.87%)
Mutual labels: parser
Cppcmb
A generic C++17 parser-combinator library with a natural grammar notation.
Stars: ✭ 108 (-6.09%)
Mutual labels: parser
Sparse
Sparse is a simple parser-combinator library written in Swift.
Stars: ✭ 104 (-9.57%)
Mutual labels: parser
Flap
Fortran command Line Arguments Parser for poor people
Stars: ✭ 109 (-5.22%)
Mutual labels: parser
Simple Console
Add an elegant command-line interface to any page
Stars: ✭ 107 (-6.96%)
Mutual labels: command
Fathom
🚧 (Alpha stage software) A declarative data definition language for formally specifying binary data formats. 🚧
Stars: ✭ 111 (-3.48%)
Mutual labels: parser
Rdflib
RDFLib is a Python library for working with RDF, a simple yet powerful language for representing information.
Stars: ✭ 1,584 (+1277.39%)
Mutual labels: parser
Plyara
Parse YARA rules and operate over them more easily.
Stars: ✭ 108 (-6.09%)
Mutual labels: parser
cmd-parser
一个非常简单好用的命令解析器...
这个命令解析器有什么用??
简单来说,我希望我的开发板,可以通过命令执行一些处理,比如说我用串口发一个命令
A
,开发板就执行A
的一些处理,或者,在调试某些AT
模组的时候,当我收到模组返回的一些指令后,自动执行一些处理。当然,还有其他的地方可以用得上的,兄弟们自行挖掘!!欢迎提交pr与点个star~
问题
欢迎以 GitHub Issues 的形式提交问题和bug报告
版权和许可
cmd-parser 遵循 Apache License v2.0 开源协议。鼓励代码共享和尊重原作者的著作权,可以自由的使用、修改源代码,也可以将修改后的代码作为开源或闭源软件发布,但必须保留原作者版权声明。
使用方法
- 注册命令
在工程中的任意位置均可调用(在函数外)
REGISTER_CMD(test1, test1_cmd);
- cmd初始化
cmd_init();
- 解析命令
cmd_parsing("test1");
特色
- 用户无需关心命令的存储区域与大小,由编译器静态分配。
- 加入哈希算法超快速匹配命令,时间复杂度从O(n*m)变为O(n)。
- 命令支持忽略大小写。
- 非常易用与非常简洁的代码(不足150行)。
注意事项
- 本代码目前只支持
MDK
与IAR
的编译器,对于gcc
尚未移植,欢迎参与贡献
test.c
#include "cmd.h"
void test1_cmd(void)
{
printf("test1_cmd\n");
}
void test2_cmd(void)
{
printf("test2_cmd\n");
}
void test3_cmd(void)
{
printf("test3_cmd\n");
}
REGISTER_CMD(test1, test1_cmd);
REGISTER_CMD(test2, test2_cmd);
REGISTER_CMD(test3, test3_cmd);
int main(void)
{
cmd_init();
while (1)
{
cmd_parsing("test1");
cmd_parsing("test2");
cmd_parsing("test3");
}
return 0;
}
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].