O’zbekiston
Download 3.06 Mb.
|
BOZOROV OG’ABEK labaratoriya7
this->button1->TabIndex = 1;
this->button1->Text = L"Hisoblash"; this->button1->UseVisualStyleBackColor = true; this->button1->Click += gcnew System::EventHandler(this, &Form1::button1_Click); 289) // 290) // textBox1 291) // this->textBox1->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 18.25F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, static_cast this->textBox1->ForeColor = System::Drawing::SystemColors::MenuText; this->textBox1->Location = System::Drawing::Point(12, 12); this->textBox1->Multiline = true; this->textBox1->Name = L"textBox1"; this->textBox1->Size = System::Drawing::Size(543, 36); this->textBox1->TabIndex = 2; this->textBox1->Text = L"Ichma_ich.cpp"; this->textBox1->Click += gcnew System::EventHandler(this, &Form1::textBox1_Click); this->textBox1->TextChanged += gcnew System::EventHandler(this, &Form1::textBox1_TextChanged); 303) // 304) // label1 305) // this->label1->AutoSize = true; this->label1->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 18.25F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, static_cast this->label1->Location = System::Drawing::Point(607, 41); this->label1->Name = L"label1"; this->label1->Size = System::Drawing::Size(81, 29); this->label1->TabIndex = 3; this->label1->Text = L"label1"; 314) // 315) // label2 316) // this->label2->AutoSize = true; this->label2->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 18.25F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, static_cast this->label2->Location = System::Drawing::Point(607, 92); this->label2->Name = L"label2"; this->label2->Size = System::Drawing::Size(81, 29); this->label2->TabIndex = 3; this->label2->Text = L"label2"; 325) // 326) // label3 327) // this->label3->AutoSize = true; this->label3->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 18.25F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, static_cast this->label3->Location = System::Drawing::Point(607, 143); this->label3->Name = L"label3"; this->label3->Size = System::Drawing::Size(81, 29); this->label3->TabIndex = 3; this->label3->Text = L"label3"; 336) // 337) // label4 338) // this->label4->AutoSize = true; this->label4->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 18.25F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, static_cast this->label4->Location = System::Drawing::Point(607, 197); this->label4->Name = L"label4"; this->label4->Size = System::Drawing::Size(81, 29); this->label4->TabIndex = 3; this->label4->Text = L"label4"; 347) // 348) // label5 349) // this->label5->AutoSize = true; this->label5->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 18.25F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, static_cast this->label5->Location = System::Drawing::Point(607, 254); this->label5->Name = L"label5"; this->label5->Size = System::Drawing::Size(81, 29); this->label5->TabIndex = 3; this->label5->Text = L"label5"; 358) // 359) // Form1 360) // this->AutoScaleDimensions = System::Drawing::SizeF(6, 13); this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font; this->ClientSize = System::Drawing::Size(1027, 529); this->Controls->Add(this->label5); this->Controls->Add(this->label4); this->Controls->Add(this->label3); this->Controls->Add(this->label2); this->Controls->Add(this->label1); this->Controls->Add(this->textBox1); this->Controls->Add(this->button1); this->Controls->Add(this->dataGridView1); this->Name = L"Form1"; this->Text = L"Leksik va sintaktik tahlil dasturi"; (cli::safe_cast >dataGridView1))->EndInit(); this->ResumeLayout(false); this->PerformLayout(); 377) }
#pragma endregion int search(char lexeme[]) 380) { int i; for ( i = 0; i < NUM_ENTRIES; i++) 383) { 384) if (strcmp(lexeme,ref_tab[i].name) == 0) 385) { strcpy_s(keyM[key],lexeme); key++; return ref_tab[i].token; 389) } 390) /* else 391) { 392) ident++; 393) } 394) */ 395) }
strcpy_s(identM[ident],lexeme); ident++;return ID; 399) } 400) void output(int num) 401) { 402) //printf("\n%d\t%s\t\n",++token_no,out_token[num]); 403) /* delay(350); */ 404) } 405) void lexical(char store[], int store_len) 406) { 407) int i,j,line=2; 408) char ch,lexeme[10],next; 409) for (i = 0; i < store_len;) 410) { 411) ch = store[i]; 412) switch(ch) 413) { 414) case ' ': 415) i++; 416) printf("\tSPACE REMOVED\n"); 417) break; 418) /* case ' ': 419) i++; 420) printf("\tTAB REMOVED\n"); 421) break; */ 422) case '{': 423) i++; 424) spM[sp]='{'; 425) sp++; 426) //output(OB); 427) break; 428) case '}': 429) i++; 430) spM[sp]='}'; 431) sp++; 432) //output(CB); 433) break; 434) case '(': 435) i++; 436) spM[sp]='('; 437) sp++; 438) //output(LP); 439) break; 440) case ')': 441) i++; 442) spM[sp]=')'; 443) sp++; 444) //output(RP); 445) break; 446) case '=': 447) i++; 448) spM[sp]='='; 449) op++; 450) //output(EQUALTO); 451) break; 452) case '<': 453) i++; 454) spM[sp]='<'; 455) sp++; 456) //output(LT); 457) break; 458) case '>': 459) i++; 460) spM[sp]='>'; 461) sp++; 462) //output(GT); 463) break; 464) case '!': 465) i++; 466) spM[sp]='!'; 467) sp++; 468) //output(NOTEQU); 469) break; 470) case '+': 471) i++; 472) opM[op][0]='+'; 473) op++; 474) //output(PLUS); 475) break; 476) case '-': 477) i++; 478) opM[op][0]='-'; 479) op++; 480) //output(MINUS); 481) break; 482) case '*': 483) i++; 484) opM[op][0]='*'; 485) op++;486) //output(MUL); 487) break; 488) case '/': 489) i++; 490) opM[op][0]='/'; 491) op++; 492) next=store[i]; 493) if(next=='*') 494) { 495) i++; 496) while(store[i]!='*')i++; 497) i++; 498) if(store[i]=='/') 499) // else goto 500) printf("\n\tComments removed\n"); 501) i++; 502) } 503) else if(next=='/') 504) { 505) i++; 506) while(store[i]!='\n')i++; 507) i++; 508) printf("\n\tComments removed\n"); 509) } 510) else{ 511) opM[op][0]='"\"'; 512) op++; 513) } 514) //output(DIV); 515) break; 516) case ':': 517) i++; 518) spM[sp]=':'; 519) sp++; 520) //output(COLON); 521) break; 522) case ';': 523) i++; 524) spM[sp]=';'; 525) sp++; 526) //output(SCOLON); 527) break; 528) case '?': 529) i++; 530) spM[sp]='+'; 531) sp++; 532) //output(TERNARY); 533) break; 534) case '\"': 535) i++; 536) spM[sp]=ch; 537) sp++; 538) //output(DQ); 539) break; 540) case '\'': 541) i++; 542) spM[sp]=ch; 543) sp++; 544) //output(SQ); 545) break; 546) case ',': 547) i++; 548) spM[sp]=ch; 549) sp++; 550) //output(COMMA); 551) break; 552) case '|': 553) i++; 554) spM[sp]=ch; 555) sp++; 556) //output(PLINE); 557) break; 558) case '^': 559) i++; 560) spM[sp]=ch; 561) sp++; 562) //output(CARAT); 563) break; 564) case '[': 565) i++; 566) spM[sp]=ch; 567) sp++; 568) output(OSB); 569) break; 570) case ']': 571) i++; 572) spM[sp]=ch;573) sp++; 574) output(CSB); 575) break; 576) case '#': 577) i++; 578) spM[sp]=ch; 579) sp++; 580) output(HSH); 581) break; 582) case '%': 583) i++; 584) spM[sp]=ch; 585) sp++; 586) output(PER); 587) break; 588) /* case '!': 589) i++; 590) sp++; 591) output(NOTEQU); 592) break; */ 593) case '&': 594) i++; 595) spM[sp]=ch; 596) sp++; 597) output(AND); 598) break; 599) case '\\': 600) i++; 601) spM[sp]=ch; 602) sp++; 603) output(BSH); 604) break; 605) case '.': 606) i++; 607) spM[sp]=ch; 608) sp++; 609) output(DOT); 610) break; 611) default: 612) if (isalpha(store[i])) 613) { 614) j = 0; 615) while(isalpha(store[i])) 616) lexeme[j++] = store[i++]; 617) lexeme[j] = '\0'; 618) output(search(lexeme)); Download 3.06 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling