Автор работы: Пользователь скрыл имя, 21 Июля 2015 в 12:25, курсовая работа
Спроектировать и программно реализовать транслятор с естественного языка на язык программирования - Limbo. Транслятор написан на языке программирования – С#.
Разработанная программа должна считывать определенные конструкции естественного языка, распознавать их и преобразовывать в аналогичные конструкции языка Limbo с учетом особенностей построения этих конструкции в языке программирования. После преобразования всех конструкций, программа должна вывести на экран полученный код на языке Limbo.
1 ПОСТАНОВКА ЗАДАЧИ 3
2 АНАЛИЗ ТЕКСТА НА ЕСТЕСТВЕННОМ ЯЗЫКЕ 4
2.1 Пример текста на естественном языке………………………………………4
2.2 Пошаговый разбор текста на естественном языке………………………….4
3 ОПИСАНИЕ ВЫБРАННОГО ЯЗЫКА ПРОГРАММИРОВАНИЯ………….6
3.1 История выбранного языка…………………………………………………..6
3.2 Особенности выбранного языка……………………………………………..6
3.3 Основные конструкции выбранного языка…………………………………7
4 ПРИМЕР ТРАНСЛЯЦИИ ИСХОДНОГО ТЕКСТА………………….……....8
4.1 Исходный текст……………………………………………………………….8
4.2 Транслированный текст………………………………………………………8
5 АЛГОРИТМ РАЗРАБОТАННОЙ ПРОГРАММЫ 10
5.1 Блок-схема……………………………………………………………………10
5.2 Словесный алгоритм…………………………………………………….…..11
6 КОД ПРОГРАММЫ…………………………………………………………...12
7 ПРИМЕР РАБОТЫ РАЗРАБОТАННОЙ ПРОГРАММЫ…...……………...25
СПИСОК ЛИТЕРАТУРЫ 28
j = y2+1;
}
if (Lex == "равно")
{
{
}
}
}
if (Lex == "больше")
{
Lex = "";
if (c3 == '☺')
else if (c3 == '\r' || c3 == '\n' || c3 == ' ')
{
}
}
result += "\r\n";
Lexical = "";
}
if (Lexical == "начало если")// ******************************
{
result += "{";
result += "\r\n";
Lexical = "";
}
if (Lexical == "конец если")// ******************************
{
result += "}";
result += "\r\n";
Lexical = "";
}
if (Lexical == "вывод")// ******************************
{
int y;
i = i + 2;
string Lex = "";
for (y = i; y > i - 1; y++)
{
char c3 = input[y];
if (c3 == '☺')
{
}
else if (c3 == '\r' || c3 == '\n' || c3 == ' ')
{
y = y - 500;
}
else
{
}
}
result += "sys->print( " + Lex + ")";
result += "\r\n";
Lexical = "";
}
else
{
}
i++;
}
}
return result; //вернуть строку с результатами
}
}
}
После нажатия на кнопку в правое окно выводится результат работы конечного автомата.
Примеры работы программы с разными данными
СПИСОК ЛИТЕРАТУРЫ
1. Тенишев Д.Ш. Лингвистическое и программное обеспечение автоматизированных систем [Текст] / Д.Ш. Тенишев. – СПб.: ЦОП «Профессия», 2010. – 48 с. 2. Заболеева-Зотова А.В., Камаев В.А. Лингвистическое обеспечение автоматизированных систем [Текст] / А.В. Заболеева-Зотова, В.А. Камаев. – М.: Высш. шк., 2008. – 244 с. 3. Мозговой М.В. Классика программирования: языки, автоматы, компиляторы. Практический подход [Текст] / М.В. Мозговой. – СПб.: «Наука и техника», 2006. – 320 с. 4. Ахо А., Сети Р., Ульман Д. Компиляторы: принципы, технолигии, инструменты [Текст]: пер. с англ. / А. Ахо, Р. Сети, Д. Ульман. – М.: Изд. дом «Вильямс», 2003. – 768 с.
| ||||||
КР 230100. 12 Д. ПЗ |
Лист | |||||
Изм. |
Лист |
№ докум. |
Подп. |
Дата |
28 |