/***************************************************************************/ // "Меркурий"-"Правда" - open source переводчик // распространяется в соответсвии с лицензией GNU v 2.0 // // главный отладчик // Анисимов Д.В. сегодня /***************************************************************************/ # ifndef DEBUG_H # define DEBUG_H # include <core.h> # include <window.h> # include <edit2.h> enum e_DebugRegim { DSTRUCT, DVARIANT, DREAL }; enum e_DebugRegim1 { D1STRUCT, D1SELECT }; /********************************************************************/ // смотрелка для t_Core->Variants (основной таблицы разбора) // /********************************************************************/ class t_Debug : public t_Win { short i_start_struct ; long i_Select ; short Begin_S,Begin_V,Begin_R ; short n_struct ; t_shortList SelectVision ; short z_Vision ; public: t_rWord Current ; t_rWord stack[30] ; short j_stack ; e_DebugRegim Reg ; e_DebugRegim1 Reg1 ; t_Debug( void ); void init( void ); void restart( void ); void paint( void ); void paint_frasa( void ); void paint_stack( short xx ); void paint_struct( short xx ); void paint_variant( short xx ); void sprint_param( char *Str, t_Word *W ); char hot_key( short SS, short key1, short key2 ); e_WinMsg loop( void ); }; /********************************************************************/ // смотрелка для t_Grammar (таблицы правил перевода) // /********************************************************************/ class t_GrammarView : public t_Win { short n_stack,i_Select,Begin_Y ; short stack[40] ; e_Half Half ; public: t_GrammarView( void ); void set_pos( short x1, short y1, short x2, short y2 ); void restart( void ); void paint( void ); e_WinMsg loop( void ); }; class t_ViewTransParam : public t_SelectWin { short i_struct ; e_Half Half ; public: t_ViewTransParam( short _i_struct, e_Half _Half ); void paint1( short i, char c ); char hot_key( short SS, short key1, short key2 ); }; /********************************************************************/ // смотрелка для t_Slowo3 словарь структур перевода // /********************************************************************/ class t_Slowo3View : public t_Win { long n_stack,i_Select,Begin_Y ; long stack[40] ; public: t_Slowo3View( void ); void set_pos( short x1, short y1, short x2, short y2 ); void restart( void ); void paint( void ); e_WinMsg loop( void ); }; # endif