• 大小: 8.1MB
    文件类型: .zip
    金币: 2
    下载: 2 次
    发布日期: 2024-01-27
  • 语言: 其他
  • 标签: VS2010  

资源简介

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\description
     文件          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.xml
     目录           0  2016-04-25 17:41  G-code-Interpreter\.git\objects\
     目录           0  2016-04-25 17:41  G-code-Interpreter\.git\objects\03\
     文件         164  2016-04-25 17:41  G-code-Interpreter\.git\objects\03\fb847f6fddd211c1097d47cb14c1f9db7a9750
     目录           0  2016-04-25 17:41  G-code-Interpreter\.git\objects\09\
     文件        1320  2016-04-25 17:41  G-code-Interpreter\.git\objects\09\c1c1c53bca45218fa6233581c2118b6080c212
     目录           0  2016-04-25 17:41  G-code-Interpreter\.git\objects\1f\
     文件         751  2016-04-25 17:41  G-code-Interpreter\.git\objects\1f\f0c423042b46cb1d617b81efb715defbe8054d
     目录           0  2016-04-25 17:41  G-code-Interpreter\.git\objects\20\
     文件      484800  2016-04-25 17:41  G-code-Interpreter\.git\objects\20\06759c9d30da197bc24f594fc7c658e54af789
     目录           0  2016-04-25 17:41  G-code-Interpreter\.git\objects\3a\
     文件        1883  2016-04-25 17:41  G-code-Interpreter\.git\objects\3a\2238d6bfb9a40c1fdf8d76d3e53855b1d57118
     文件          85  2016-04-25 17:41  G-code-Interpreter\.git\objects\3a\e1001fd2c5f93558e86566de581446a100d05d
     目录           0  2016-04-25 17:41  G-code-Interpreter\.git\objects\53\
............此处省略76个文件信息

评论

共有 条评论