Разработка алгоритма работы синтаксического анализатора текста, а также базы данных синтаксических правил русского языка

Курсовой проект - Иностранные языки

Другие курсовые по предмету Иностранные языки

данные

На вход графематике подается файл текста в Windows-кодировке. На выходе графематика строит таблицу, состоящую из двух столбцов. В первом столбце стоит некоторый кусок входного текста (выделенный по правилам, о которых мы скажем ниже), во втором столбце стоят графематические дескрипторы, характеризующие этот кусок текста. Например, из текста Иван спал будет построена таблица из трех

 

Кусок входного текстаГрафематические дескрипторыИванЛЕ Бб ПРД1_РЗД ПРБспалЛЕ бб ПРД2

В первый столбец всегда помещается часть входного текста, если эта часть не является последовательностью из мягких разделителей (пробел, табуляция). В последнем случае используются другие символы, номера которых включены в описание на языке idl.

 

2.2.3Графематические дескрипторы

Опишем теперь все графематические дескрипторы. У каждого графематического дескриптора есть два названия: кириллическое и латинское. Первое используется во втором столбце графематической таблице, второе внутри программы. Сначала приведем главные дескрипторы, один из которых обязательно должен присутствовать на каждой строке графематической таблицы.

 

Кир. НазваниеОбъяснениеПримерыЛЕрусская лексема, присваивается последовательностям, состоящим из кириллицыИванИЛЕиностранная лексема, присваивается последовательностям из латиницыJohnРЗДразделитель.*, =, _ЗПРзнак препинания, присваивается последовательностям, состоящим из одинаковых знаков препинания., [, ], (, ), -, :, ;ЦКцифровой комплекс, присваивается последовательностям, состоящим из цифр1234ЦБКцифро-буквенный комплекс, присваивается последовательностям, состоящим из цифр и букв34h???сложный узел, присваивается последовательностям, не обладающим вышеперечисленными признаками

Разновидности дескриптора РЗД

Кир. НазваниеОбъяснениеПРБстрока пробелов или табуляцийКСТпризнак конца строкиПАРсимвол параграфаПСнулевой символ

Разновидности дескриптора ЗПР

Кир. НазваниеОбъяснениеПримерыОТКоткрывающая скобка {, [, (ЗАКзакрывающая скобка}, ], )ДЕФдефис-

Разновидности дескриптора ЗПР и РЗД

Кир. НазваниеОбъяснениеДЗПРпоследовательность одинаковых символов, длина которой больше 20МНЖпоследовательность одинаковых символов, длина которой больше 1

Разновидности дескриптора ЛЕ и ИЛЕ

Кир. НазваниеОбъяснениеПримерыббпризнак того, что все символы лексемы - малыемамаБбпризнак того, что первый символ лексемы - большой;МамаББпризнак того, что все символы лексемы - большиеМАМАТеперь опишем дескрипторы, которые появляются на строке в зависимости от контекста, т.е. они вычисляются не только из текущей строки, но и из номера текущей строки и строк, которые находятся выше и ниже вычисляемой.

 

Контекстные дескрипторы

Кир. НазваниеОбъяснениеПримерыНАЧставится на начале текста (входного файла), т.е. всегда стоит на нулевой строке таблице. Причем, важно сказать, что нулевая строка таблицы используется как служебная (содержимое первого столбца нулевой строки не входит во входной текст)КФРставится на конце фразы. Концом фразы считается только;.ПРД1начало предложенияПРД2конец предложенияИМ?признак того, что лексема, возможно, является частьюимени собственного. Присваивается лексеме, начинающейся с большой буквы и не имеющей перед собой символа конца предложения.ППставится на начале пункта перечисленияАБЗставится на начале абзацаОБ1ставится на начале оборотатипа во взаимодействии сОБ2ставится на конце оборотаФИ1ставится на начале Ф.И.О.типа Иванов И.И.ФИ2ставится на конце Ф.И.О.ДТ2ставится на конце датыРЕ1было использовано для офиц. текстовРЕ2было использовано для офиц. текстовЧПТ1начало числа с плавающей точкой111.111ЧПТ2конец числа с плавающей точкойЭА1начало электронного адресаftp.com.comЭА2конец электронного адресаАБ1начало сокращенияи т.п.АБ2конец сокращение

Кроме этого, используются дескрипторы, относящиеся к макросинтаксическому анализу (анализу расположения абзацев, заголовков). В макросинтаксическом анализе абзацы, заголовки и т.д. называются условно предложениями (УП). Макросинтаксические дескрипторы ставятся на конце УП в зависимости от типа УП.

 

Кир. НазваниеОбъяснениеУП?ставится на конце УП, тип которого не определенУПставится на конце простого УПЗагставится на конце заголовкапримставится на конце УП, заключенного в скобкиУПвводставится на конце УП, заканчивающегося на двоеточиеДокставится на нулевой строке графематической таблицы

2.2.4Деление на предложения

Этот алгоритм работает на графематике, поскольку на результаты его работы опирается макросинтаксический анализ. На вход алгоритма подается два числа StartPos и EndPos, которые обозначают первую и последнюю строки входного текста. На начале предложения алгоритм ставит помету ПРД1, на конце - ПРД2.

Программа ищет конец предложения (ПРД2), а потом после него ищет начало предложения (ПРД1). Алгоритм основывается на следующих постулатах:

1.Начало текста совпадает с началом первого предложения, конец текста - с концом последнего.

2.Предложение всегда начинается с большой буквы;

.Предложение не бывает больше одного абзаца.

.Предложение не может состоять только из знаков препинания.

Это означает, что некоторые знаки препинания, если они не будут отнесены к предыдущему предложению, могут остаться вне предложений. Например,

Мама мыла раму&#