资源简介
G代码解释器,包含.NC格式测试用例,编译环境为VS2010
代码片段和文件信息
#include
#include
#include “G_FileDeal.h“
//========================函数声明===============================
void get_line_num(FILE *fp);
void get_g_code(FILE *fp);
void get_m_code(FILE *fp);
void get_f_code(FILE *fp);
void get_s_code(FILE *fp);
void get_t_code(FILE *fp);
void get_x_pos(FILE *fp float x_readpos);
void get_y_pos(FILE *fp float y_readpos);
void get_z_pos(FILE *fp float z_readpos);
void get_i_pos(FILE *fp float i_readpos);
void get_j_pos(FILE *fp float j_readpos);
void get_k_pos(FILE *fp float k_readpos);
void get_r_pos(FILE *fp float R_readPos);
void InsertElement(ListNode *h);
void PrintList(ListNode *h);
//=========================主函数================================
void main()
{
char ch;
FILE *fp;
ListNode *h; //链表表头
h = CreateList(); //创建空链表
G_dealStruct.read_end = FALSE;
float X_readPos = 0;
float X_finalPos = 0;
float Y_readPos = 0;
float Y_finalPos = 0;
float Z_readPos = 0;
float Z_finalPos = 0;
float I_readPos = 0;
float I_finalPos=0 ;
float J_readPos = 0;
float J_finalPos=0 ;
float K_readPos = 0;
float K_finalPos=0 ;
float R_readPos = 0;
if ((fp = fopen(“000.NC“ “r“)) == NULL)
{
printf(“File open error!\n“);
exit(0);
}
while (((ch= getc(fp))!=‘%‘)&&(!G_dealStruct.read_end))
{
switch (ch)
{
case ‘N‘:
get_line_num(fp);
InsertElement(h);
break;
case ‘G‘:
get_g_code(fp);
InsertElement(h);
break;
case ‘M‘:
get_m_code(fp);
InsertElement(h);
break;
case ‘F‘:
get_f_code(fp);
InsertElement(h);
break;
case ‘S‘:
get_s_code(fp);
InsertElement(h);
break;
case ‘X‘:
get_x_pos(fp X_readPos);
InsertElement(h);
break;
case ‘Y‘:
get_y_pos(fp Y_readPos);
InsertElement(h);
break;
case ‘Z‘:
get_z_pos(fp Z_readPos);
InsertElement(h);
break;
case ‘I‘:
get_i_pos(fp I_readPos);
InsertElement(h);
break;
case ‘J‘:
get_j_pos(fp J_readPos);
InsertElement(h);
break;
case ‘K‘:
get_k_pos(fp K_readPos);
InsertElement(h);
break;
case ‘R‘:
get_r_pos(fp R_readPos);
InsertElement(h);
break;
case ‘T‘:
get_t_code(fp);
InsertElement(h);
break;
case‘E‘:
case‘L‘:
case‘O‘:
case‘Q‘:
case‘P‘:
G_dealStruct.read_end = TRUE;
printf(“Error! 第%d行 语法错误:出现非法功能字\n“ G_dealStruct.line_no);
break;
case ‘(‘:
case ‘)‘:
break;
case ‘;‘:
G_dealStruct.read_end = TRUE;
printf(“Error! 第%d行 语法错误:出现分号\n“ G_dealStruct.line_no);
break;
case ‘ ‘:
G_dealStruct.read_end = TRUE;
printf(“Error! 第%d行 语法错误:出现空格\n“ G_dealStruct.line_no);
break;
}
}
PrintList(h);
if (fclose(fp))
{
printf(“Can not close the file!\n“);
exit(0);
}
}
//=======================行号扫描函数============================
void get_line_num(FILE *p)
{
char temp_x[16] = { ‘0‘‘0‘‘0‘ };
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2016-07-18 09:10 G-code-Interpreter\
目录 0 2016-04-25 17:41 G-code-Interpreter\.git\
文件 2581 2016-04-25 17:41 G-code-Interpreter\.gitattributes
文件 4077 2016-04-25 17:41 G-code-Interpreter\.gitignore
文件 691 2016-04-25 17:41 G-code-Interpreter\.git\config
文件 73 2016-04-25 17:41 G-code-Interpreter\.git\desc
文件 23 2016-04-25 17:41 G-code-Interpreter\.git\HEAD
目录 0 2016-04-25 17:41 G-code-Interpreter\.git\hooks\
文件 177 2016-04-25 17:41 G-code-Interpreter\.git\hooks\README.sample
文件 1080 2016-04-25 17:41 G-code-Interpreter\.git\index
目录 0 2016-04-25 17:41 G-code-Interpreter\.git\info\
文件 113 2016-04-25 17:41 G-code-Interpreter\.git\info\exclude
目录 0 2016-04-25 17:41 G-code-Interpreter\.git\logs\
文件 334 2016-04-25 17:41 G-code-Interpreter\.git\logs\HEAD
目录 0 2016-04-25 17:41 G-code-Interpreter\.git\logs\refs\
目录 0 2016-04-25 17:41 G-code-Interpreter\.git\logs\refs\heads\
文件 334 2016-04-25 17:41 G-code-Interpreter\.git\logs\refs\heads\master
文件 150 2016-04-25 17:41 G-code-Interpreter\.git\ms-persist.xm
目录 0 2016-04-25 17:41 G-code-Interpreter\.git\ob
目录 0 2016-04-25 17:41 G-code-Interpreter\.git\ob
文件 164 2016-04-25 17:41 G-code-Interpreter\.git\ob
目录 0 2016-04-25 17:41 G-code-Interpreter\.git\ob
文件 1320 2016-04-25 17:41 G-code-Interpreter\.git\ob
目录 0 2016-04-25 17:41 G-code-Interpreter\.git\ob
文件 751 2016-04-25 17:41 G-code-Interpreter\.git\ob
目录 0 2016-04-25 17:41 G-code-Interpreter\.git\ob
文件 484800 2016-04-25 17:41 G-code-Interpreter\.git\ob
目录 0 2016-04-25 17:41 G-code-Interpreter\.git\ob
文件 1883 2016-04-25 17:41 G-code-Interpreter\.git\ob
文件 85 2016-04-25 17:41 G-code-Interpreter\.git\ob
目录 0 2016-04-25 17:41 G-code-Interpreter\.git\ob
............此处省略76个文件信息
- 上一篇:觉悟邮箱密码破解软件
- 下一篇:同济大学线性代数答案详解
相关资源
- AnkhSvn-2.6.12735 支持VS2010-VS2015 官方原版
- VS2010、VS2012、VS2013代码自动注释插件
- 插件式GIS应用框架的设计与实现&mda
- 通过x264录制RGB屏幕视频vs2013工程,
- G726、G711、G711A转换为AAC
- VS2010 运行时库
- vs2010 ffmpeg实时解码h264码流
- 个人银行账户管理系统
- CMake-3.9.0
- 基于FFMPEG_SDL2_音视频播放_参考音频时
- 三款主题VS2010
- VS2010黑色主题Dark主题
- Visual Assist X VA_X插件及破解工具,适用
- TabControl用法图解VS2010
- Midas to FLAC3D-vs2010
- 浴池管理系统
- ecc使用源代码——真正好用的vs2010编
- 基于SIFT算法的图像拼接.rar
- VisualStudio 2008-2017系统注释中文包,解
- vs2010 win7下编译的openssl-1.0.2n静态库
- iar 工程转成vs2010工程
- PCL点云库SACSegmentation用法demo
- 相机标定完整工程vs
- VS2010安装包中的vs_setup.msi文件
- VS2010使用Glog日志类例程
- VS2010写的连连看
- 控制台三国杀第三版VS2010代码
- 支持vs2010/2012/2013 的svn插件 AnkhSvn_2.
- 矩阵库Eigen
- VS2010下的视频烟雾检测
评论
共有 条评论