Скачиваний:
24
Добавлен:
02.05.2014
Размер:
4.72 Кб
Скачать
//---------------------------------------------------------------------------

#ifndef MainH
#define MainH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <Dialogs.hpp>
#include <ExtCtrls.hpp>
#include <Grids.hpp>
#include <ComCtrls.hpp>
//---------------------------------------------------------------------------
class TfrmMain : public TForm
{
__published:	// IDE-managed Components
    TPageControl *PageControl1;
    TTabSheet *TabSheet1;
    TTabSheet *TabSheet2;
    TPanel *Panel1;
    TStringGrid *sgrTable;
    TPanel *Panel4;
    TPanel *Panel5;
    TMemo *mSource;
    TTabSheet *TabSheet3;
    TPanel *Panel2;
    TTreeView *tree;
    TPanel *Panel3;
    TLabel *Label1;
    TEdit *Edit1;
    TPanel *Panel6;
    TMemo *mSource2;
    TMemo *mRules;
    TPanel *Panel7;
    TButton *Button1;
    TTabSheet *TabSheet4;
    TStringGrid *sgMatrix;
    TButton *Button3;
    TButton *Button4;
    TPanel *Panel8;
    TStringGrid *sgBinTreeView;
    TTabSheet *TabSheet5;
    TPanel *Panel9;
    TSplitter *Splitter1;
    TPanel *Panel10;
    TSplitter *Splitter2;
    TPanel *Panel11;
    TPanel *Panel12;
    TSplitter *Splitter3;
    TPanel *Panel13;
    TSplitter *Splitter4;
    TPanel *Panel14;
    TPanel *Panel15;
    TSplitter *Splitter5;
    TPanel *Panel17;
    TSplitter *Splitter6;
    TPanel *Panel18;
    TGroupBox *GroupBox1;
    TStringGrid *sgBinTreeViewCompare;
    TGroupBox *GroupBox2;
    TStringGrid *sgHashTable;
    TMemo *mResTree;
    TMemo *mResReHash;
    TSplitter *Splitter7;
    TGroupBox *GroupBox3;
    TLabel *Label2;
    TEdit *edCollision;
    TButton *btnSearch;
    TEdit *edSearch;
    TMemo *mInputFile;
    void __fastcall Button1Click(TObject *Sender);
    void __fastcall btnSearchClick(TObject *Sender);
    void __fastcall Button3Click(TObject *Sender);
    void __fastcall Button4Click(TObject *Sender);
    void __fastcall FormShow(TObject *Sender);
private:	// User declarations
    int A(char);
    int B(char);
    int C(char);
    int D(char);
    int E(char);
    int H(char);
    int G(char);
    int K(char);
    int L(char);
    int M(char);
    int R(char);
    int N(char);
    int O(char);
    int P(char);
    int I(char);
    int J(char);
    int Q(char);
    int V(char);
    int W(char);
    int X(char);
    int Y(char);
    int Z(char);
    int T(char);
    int U(char);
    int F(char);
    int AA(char);
    int AM(char);
    int AB(char);
    int AC(char);
    int AD(char);
    int AG(char);
    int AF(char);
    int AH(char);
    int AI(char);
    int AE(char);
    int AK(char);
    int AL(char);
    int AJ(char);
    int AN(char);
    int AO(char);
    int AP(char);
    int AQ(char);
    int AR(char);
    int AT(char);
    int AW(char);
    int FF(char);
    int h(char);
    int IDF(char);
    int RR(char);
    String GetState(int);
    class Identificator;
    String Analiz(char*,FILE*);
    String Conclude (String,char*,int);
    void AddTerminal(String);
    void AddMatrix(FILE*,int);
    int index_terminal(String);
    int first_terminal(int);
    int cmp_substr(String,String);
    void sdvig(int,int);
    int AddRules();
    int cmp_rules(String,int);
    int package(int,int);
    void AddChild(String,int);
    int AddToHashTableChane(int,Identificator*,int *);
    int SearchIdChane(char *,Identificator*,int*);
    int cmp_count_tree;
    int cmp_count_rehash;
    Identificator *Lexems;
    void AddToTree(int IDindex,Identificator *IDTable);
    void ShowTree(Identificator *LexTable, int Length, TStringGrid *Grid);
    int Exists(Identificator *Idents, int IdentsLength, Identificator Lexem);
    int SearchId(char *ID,Identificator *IDTable);
    int HashIdSearch(Identificator *IdentTable, int *hashTable, int HashTableLength, AnsiString Name);
    void ShowTable(TStringGrid *sgGrid, int *hashTable, int HashTableLength);
    int *MakeHashTable(Identificator *IdentTable, int IdentTableLength, int HashTableLength);
    int NextHash(Identificator *ident, int *hashTable, int HashTableLength);

    
    Identificator *TreeIdentTable;
    Identificator *HashIdentTable;
    int *HashTable;
    int HashTableLen;
    int collision_rehash;
    
public:		// User declarations
    __fastcall TfrmMain(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TfrmMain *frmMain;
//---------------------------------------------------------------------------
#endif
Соседние файлы в папке Coursework_CBuilder6