619)
|
break;
|
|
620)
|
}
|
|
621)
|
else if(isdigit(store[i]))
|
|
622)
|
{
|
|
623)
|
j = 0;
|
|
624)
|
while (isdigit(store[i]))
|
|
625)
|
lexeme[j++] = store[i++];
|
|
626)
|
lexeme[j] = '\0';
|
|
627)
|
digitM[digit]=store[i];
|
|
628)
|
digit++;
|
|
629)
|
output(DIGIT);
|
|
630)
|
break;
|
|
631)
|
}
|
|
632)
|
else if (store[i]=='\n')
|
|
633)
|
{
|
|
634)
|
i++;
|
|
635)
|
printf("\n Line=%d\n",line++);
|
|
636)
|
printf(" \n");
|
|
637)
|
}
|
|
638)
|
else if (store[i]=='\t' || store[i]==' ')
|
|
639)
|
i++;
|
|
640)
|
else
|
|
641)
|
i++, printf("\tInvalid symbol\n");
|
|
642)
|
}
|
|
643)
|
}
|
|
644)
|
}
|
|
645)
|
private: System::Void button1_Click(System::Object^
|
sender,
|
System::EventArgs^ e) {
646) FILE *fp1; /* Source file pointer */
647) int ch,i; /* used to store character read */ 648) char store[4000];
649) int store_len;
650) char file[15]; 651) /* clrscr(); */
652) printf("Enter file name with .c as the extension\n"); 653) scanf("%s",file);
654) //strcat(file, textBox1->Text->);
655) for(int i=0; iText->Length; i++)// i ni textBox1 ni uzunligigacha 1 tadan oshirish
656) { file[i]=textBox1->Text[i]; } 657) fp1 = fopen(file, "r");
658) if (fp1 == NULL)
659) {
660) //printf("The source file can not be opened for reading\n"); 661) MessageBox::Show("Fayl topilmadi");
662) /*exit(1); */
663) }
664) else {
665) /* read till end of file is encountered */ 666) i = 0;
667) while ( (ch = getc(fp1)) != EOF) 668) {
669) store[i++] = ch; 670) }
671) store_len = i;
672) /* close the input file */ 673) fclose(fp1);
674) //printf("NUMBER\tSYMBOL\t\n");
675) //printf(" \t \t\t\n\n");
676) //printf(" Line=1\n");
677) //printf(" \n");
678) lexical(store, store_len);
679) label1->Text = "Identifikatorlar= "+ident.ToString(); 680) dataGridView1->RowCount=ident;
681) for (int i = 0; i < ident; i++) 682) {
683) String ^s = gcnew String(identM[i]); 684) //dataGridView1->Rows->Add();
685) dataGridView1->Rows[i]->Cells[0]->Value =s;
686) }
687) //printf("identifiers=%d",ident);
688) if( dataGridView1->RowCountRowCount=sp;} 689) label2->Text = "Maxsus protsessorlar= "+sp.ToString();
690) for (int i = 0; i < sp; i++) 691) {
692) String ^s = Convert::ToString(spM[i]); 693) //dataGridView1->Rows->Add();
694) dataGridView1->Rows[i]->Cells[1]->Value =s;
695) }
696) //printf("\n\n special operators=%d",sp);
697) label3->Text = "Aktivr so'zlar= "+key.ToString();
698) if( dataGridView1->RowCount
>RowCount=key;}
699) for (int i = 0; i < key; i++) 700) {
701) String ^s = gcnew String(keyM[i]); 702) //dataGridView1->Rows->Add();
703) dataGridView1->Rows[i]->Cells[2]->Value =s;
704) }
705) //printf("\n\nkeywords=%d",key);
706) if( dataGridView1->RowCountRowCount=op;} 707) for (int i = 0; i < op; i++)
708) {
709) String ^s = gcnew String(opM[i]); 710) //dataGridView1->Rows->Add();
711) dataGridView1->Rows[i]->Cells[3]->Value =s;
712) }
713) label4->Text = "Operator bo'lmaganlar= "+op.ToString(); 714) //printf("\n\noperators=%d",op);
715) if( dataGridView1->RowCount
>RowCount=digit;}
716) for (int i = 0; i < op; i++) 717) {
718) String ^s = Convert::ToString(digitM[i]); 719) //dataGridView1->Rows->Add();
720) dataGridView1->Rows[i]->Cells[4]->Value =s;
721) }
722) label5->Text = "Raqamlar= "+digit.ToString(); 723) //printf("\n\ndigit=%d\n",digit);
724) }
725) //getch();
726) }
727) private: System::Void textBox1_TextChanged(System::Object^ sender, System::EventArgs^ e) {
728) }
729) private: System::Void textBox1_Click(System::Object^ sender, System::EventArgs^ e) {
730) textBox1->Clear();
731) }
732) };733) }
FOYDALANILGAN ADABIYOTLAR
O’zbekiston Respublikasi Birinchi Prezidentining “Zamonaviy axborotkommunikatsiya texnologiyalarni yanada joriy etish va rivojlantirish choratadbirlari to’g’risida”gi PQ- 1730-sonli Qarori. 2012-y., 21 mart.
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein Introduction to Algorithms. Third Edition. The MIT Press Cambridge, Massachusetts London, England, 2009. – 1312 p.
Scheinerman Edwant C++ for Mathematicians. An Introduction for Students and Professionals. Chapman&Hall/CRC, Taylor&Francis Group, LLC, Bocа Raton, London, New York, 2006. - 496 p.
D.S. Malik C++ Programming: From Problem Analysis to Program Design. Seventh Edition. Course Technology, 2014.-1488 p.
Герберд Шилдт С++базовый курс.3-е издание. Перевод с англ. –М.: Изд. дом
«Вильямс», 2010. - 624 c.
Культин Н.Б. С++Builder в задачах и примерах. -СПб.: БХВ-Петербург, 2005. -336 с.
Madraximov Sh.F., Ikramov A.M., Babajanov M.R. C++ tilida programmalash bo’yicha masalalar to’plami. O’quv qo’llanma. T., O’zbekiston Milliy universiteti, “Universitet” nashriyoti, 2014. - 160 b.
Do'stlaringiz bilan baham: |