/*****************************************************************************
 * Bison/Flexプログラム部分をテストするための、Windowsアプリケーションの雛型 *
 * □ビルド・実行方法:                                                       *
 * ┃"C:\Program Files (x86)\Microsoft Visual Studio\VC98\Bin\VCVARS32.BAT"  *
 * ┃make -f winapp.mk run                                                   *
 *****************************************************************************/
#ifndef __WINAPP_H__
#define __WINAPP_H__

/*{{定型コード:winapp.h======================================================*/
#include <clip.h>
/* y.tab.y */
extern int yynerrs;
#if     (YYDEBUG!=0)
extern int yydebug;
#endif/*(YYDEBUG!=0)*/
int yyparse();
void yyerror(const char* fmt, ...);
/* lex.yy.l */
extern FILE* yyin;
extern FILE* yyout;
extern int yylineno;
int yylex();
void yylex_init(FILE* input_file);
/*}}定型コード:winapp.h======================================================*/

/*---------------------------------------------------------------------------*/
/* グローバル関数宣言 */
__declspec(noreturn) void die(const char* fmt, ...);
//
void inst_def(const char* lab);
void inst_end();
void inst_goto(const char* lab);
void inst_call(const char* lab);
void inst_repeat(int num);
void inst_speed(int num);
void inst_move_init();
void inst_move_rel(int num);
void inst_move_abs(int num);
void inst_move_stop();
void inst_wait_rel(int num);
void inst_wait_abs(int num);
void inst_wait_stop();
void inst_user(int num);
void inst_move_direct(int num, int if_cond, int until_cond);	/*{{2014/11/28追加:パルスモーターの直接制御を追加したことに伴い、シーケンサの命令セット,命令コード,命令コード定義用マクロを変更しました。}}*/
void inst_if_on();	/*{{2014/12/12追加:条件分岐'if on','if off'を追加したことに伴い、シーケンサの命令セット,命令コード,命令コード定義用マクロを変更しました。}}*/
void inst_if_off();	/*{{2014/12/12追加:条件分岐'if on','if off'を追加したことに伴い、シーケンサの命令セット,命令コード,命令コード定義用マクロを変更しました。}}*/

/*---------------------------------------------------------------------------*/
/* バージョン定義 */
#define VERSION "20141212"

#endif/*__WINAPP_H__*/
