Проверка семантики языка программирования из файла

Иван17 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
08.06.2014

На вход программы подаются два текстовых файла (с именами GRAMMAR.TXT и INPUT.TXT). Первый содержит LL(1)-грамматику, второй – описание структуры (записи) на выбранном языке (Pascal, C++, C#). Необходимо проверить, является ли описание структуры корректным с точки зрения заданной грамматики и не содержатся ли в нем конфликты имен.

Таким образом, задание разбивается на две части:

1. Проверка синтаксиса.

2. Проверка семантики.

Семантика зависит от выбранного языка, и поэтому ее проверка жестко привязана к анализатору (в данном случае – Вашей программе). Грамматика же должна быть универсальной, т.е. должна позволять задавать любые правила для разбора структуры (и не только структуры). Например, должны быть доступны изменения: ключевых слов, знаков пунктуации, правил разбора идентификаторов, а также добавление новых языковых конструкций и т.п.

Программа должна проанализировать имеющееся в текстовом файле описание структуры и выдать (в текстовый файл

OUTPUT.TXT) результат проверки. Это может быть:

1. Сообщение о том, что грамматика во входном файле не

является LL(1)-грамматикой.

2. Сообщение о том, что описание корректное.

3. Сообщение о синтаксической ошибке. Указывать тип ошибки не обязательно, требуется только указать строку

и позицию в строке входного файла, где наблюдается ошибка. Достаточно находить только первую ошибку в

описании.

4. Сообщение о конфликте имен. В этом случае на выходе программы необходимо указать конфликтующее имя, а

также строку и позицию в строке, где произошел конфликт.

Описание структуры только для одного языка

срок 4 дня

Методичка во вложении

ЧАСТЬ ЛИШНЕГО МАТЕРИАЛА не получилось убрать. Например даны рекомендации для языка pascal и с#.... Также указания для другого задания - разбор математического выражения их можно не смотреть....