Grbl源码解析与移植-G代码解析器

上一篇我们分享了Grbl的系统命令部分,在上位机发来的数据流,除了系统命令($开头),其余的就是G代码了,在protocol.c中调用gc_execute_line()这个函数,进入G代码解析部分。该函数主要完成两部分功能:1.解析G代码(M命令和G命令)2.将解析好的数据传递给mc_line()和mc_arc()进行划线或画圆。

G代码解析的内容在gcode.c中实现,这是一个代码解释器(interpreter),我们把他当作一门脚本语言,可以用脚本语言的方法分析,就显得比较清晰。脚本语言的解释器包含几个步骤:

1.词法分析:识别字符串序列中的语言标记

2.语法分析:分析单词序列中的文本并确定语法结构

3.语义分析:检查程序的语义错误

4.执行:根据分析的结果转换成目标代码

简化的代码如下:


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容