Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Новые рефераты » Процес создания компілятора вхідної мови

Реферат Процес создания компілятора вхідної мови





йуstring lastFilePath=«»; void LoadButton_Click (object sender, EventArgs e)

{(openFileDialog1.ShowDialog () == DialogResult.OK)

{= openFileDialog1.FileName; sr=new (lastFilePath, Encoding.GetEncoding (1251));. Text=sr.ReadToEnd ();

}

} void SaveButton_Click (object sender, EventArgs e)

{(lastFilePath!="")

{. WriteAllText (lastFilePath, richTextBox1.Text, Encoding.GetEncoding (1251));

}

{. Show («Невідомий шлях до файлу. Відкрійте его або скорістайтесь кнопкою Зберегти як»);

}

} void SaveHowButton_Click (object sender, EventArgs e)

{(saveFileDialog1.ShowDialog () == DialogResult.OK)

{= saveFileDialog1.FileName;. WriteAllText (lastFilePath, richTextBox1.Text, Encoding.GetEncoding (1251));

}

} void AnalizButton_Click (object sender, EventArgs e)

{

/ / ЛЕКСІЧНІЙ АНАЛІЗАТОРlexa_prog=«»; i=0, j=0; time=new Stopwatch ();. Start () ;/ / запуск таймера

/ / Стіраємо попередні записи табліці, ЯКЩО Такі булі.Rows.Clear ();. Rows.Clear ();. Rows.Clear ();=0;

/ / Відаляємо лішні рядки, додаємо текст програми в змінну lexa_prog (string temp in richTextBox1.Lines)

{(temp!="")

{_prog +=temp + « r n";

}

}

/ / займемося Коментарі: _prog=CommentRemover («/ *», «* /», lexa_prog);

/ / Розділяємо рядки, запісуємо їх в масив lexa_lines

string [] lexa_lines=lexa_prog.Split (new Char [] {« r»}); _prog=«»; (i=0; i

{_prog +=SpaceCorrector (lexa_lines [i]);

}

/ / Текст Вже відформатованій до ЗРУЧНИЙ вигляд и находится в lexa_prog.wcount=0;// Рахунок слівnlexcount=0;// Рахунок невідоміх лексемstind=0, sts=0;// Зміщення в тексті при поиска лексемr=0, s=0;// Рядок / сімволtempStringConstant=«»;// Для збіркі докупи строкових констант

/ * Пояснення до реалізації поиска строкових змінніх:

ЯКЩО функція пословного перебору натрапляє на знак лапки, то

тимчасова змінна tempStringConstant буде збіраті ВСІ лексеми,

что знаходяться между ними, аж доки НЕ натрапіть на ще одну лапку.

Такоже вводитися булева величина tsc, яка дорівнює true,

ЯКЩО проводитися збір докупи строкової константа. Необхідна для

Заборона Виконання других перевірок * /

bool tsc=false; quotesCount=0;

/ / проведемо Послівний перевірку [] lexa_words=lexa_prog.Split (new Char [] {«»}); (string temp in lexa_words)

{(temp == «" ») quotesCount + +; (temp ==« " » && tsc == false && quotesCount% 2 == 1 )

{= true;

} (temp!=«» && tsc == false)

Назад | сторінка 8 з 20 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Типи даних в Object Pascal
  • Реферат на тему: Програмування на мові Object Pascal
  • Реферат на тему: Реалізація алгоритму визначення n! засобими Object Pascal 2.0
  • Реферат на тему: Phonetic peculiarities of the popular science text
  • Реферат на тему: Маркетингові дослідження і розробка плану маркетингу "Clean and Clear& ...