
#include "기계닉스\기계닉스.h"

#include "통신.h"


//[인터프리터:명령]
//{
    //[2024.06.09.일][추가]{-------------------------
    //[가상기계] 에 가깝게 처리하기 위하여 OPCODE 방식 사용.
    //}---------------------------------------------

    #define  d_명령_NULL          0
    #define  d_명령_각도           1
    #define  d_명령_이동           2
    #define  d_명령_시간지연        3

    //[명령] 을 범위로 쉽게 구분하기 위한것.
    #define  d_명령범위_시작        d_명령_각도
    #define  d_명령범위_끝          d_명령_시간지연

    #define  d_명령_라벨           4

//}


//[2024.06.09.일][완료]
void 인터프리터_초기화(void);

//[2024.06.09.일][완료]
void 인터프리터_검증_초기화(void);

//[2024.06.16.일][완료]
void 인터프리터(void);

//[2024.06.09.일][완료]
bool 인터프리터_명령_각도(char  *p행문자열_, int  p행문자열길이);

//[2024.06.09.일][완료]
bool 인터프리터_명령_이동(char  *p행문자열_, int  p행문자열길이);

//[2024.06.12.수][완료]
bool 인터프리터_명령_시간지연(char  *p행문자열_, int  p행문자열길이);

//[2024.06.24.수][완료]
bool 인터프리터_선언라벨(char  *p행문자열_, int  p행문자열길이);

//[2024.06.16.일][완료]
void 인터프리터_명령_오류처리(void);

//[2024.06.16.일][완료]
void 인터프리터_명령_오류해제(void);

//[2024.06.09.일][완료]
void 인터프리터_단어_주석제거(char  *pr문자열_);

//[2024.06.09.일][완료]
bool 인터프리터_값(char  *p단어,
                int   *r값);

//[2024.06.12.수][완료]
void 인터프리터_서보_GUI_연동(struct ts_통신묶음_서보12  *p설정);

//[2024.06.12.수][완료]
//v---추출한 단어 길이 반환(0 인 경우는 문자열 끝에 도달한 경우).
int _Str_현재단어추출(//[n행문자열] 도 무관.
                   char  *p문자열_,
                   //반복적으로 구하지 않기 위한것.
                   //문자열 길이가 0 인 경우는 내부적으로 구한다.
                   int    p문자열길이,
                   int    p검사시작위치,
                   int   *r추출단어위치,
                   char  *r추출단어);

