Форум программистов, компьютерный форум CyberForum.ru

Синтаксический анализатор - C++

Восстановить пароль Регистрация
 
VeNick12
Сообщений: n/a
30.11.2013, 17:31     Синтаксический анализатор #1
Нужна помощь именно с алгоритмом.
Задание звучит так - проверить корректность написания заголовка функции. Прототипы не учитываются.
Проблема в том, что я не понимаю, как найти заголовок.
Видим ')', пропускаем пустые строчки, комментарии типа // и /**/, если находим посторонний символ, то идем дальше, если находим '{', то...я не знаю.
По каким признакам определять, что я нашел именно заголовок функции? Какие ошибки могут быть в написании заголовка функции?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.11.2013, 17:31     Синтаксический анализатор
Посмотрите здесь:

C++ Количество строк в файле. Синтаксический анализатор
C++ Синтаксический анализатор. Рекурсия
Синтаксический анализатор C++
C++ Синтаксический анализатор. Формула
синтаксический анализатор C++
C++ Синтаксический анализатор понятия скобки
C++ Разработать синтаксический анализатор
Реализовать синтаксический анализатор языка C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
EVP
314 / 236 / 41
Регистрация: 14.12.2010
Сообщений: 457
30.11.2013, 21:13     Синтаксический анализатор #2
Цитата Сообщение от VeNick12 Посмотреть сообщение
Нужна помощь именно с алгоритмом.
Первые четыре главы книги Компиляторы. Принципы, технологии и инструментарий.

Цитата Сообщение от VeNick12 Посмотреть сообщение
По каким признакам определять, что я нашел именно заголовок функции?
Грамматика служит для определения шаблона допустимых выражений.
Если синтаксический разбор (по заданной грамматике) удался, то синтаксических ошибок нет.

Цитата Сообщение от VeNick12 Посмотреть сообщение
Какие ошибки могут быть в написании заголовка функции?
Ошибкой считается несоответствие исходной грамматике.
gazlan
2867 / 1815 / 272
Регистрация: 27.08.2010
Сообщений: 4,919
Записей в блоге: 1
30.11.2013, 23:21     Синтаксический анализатор #3
Пример грамматики С в эташе (BNF).

Код
function_definition
   : declarator function_body
   | declaration_specifiers declarator function_body
   ;

function_body
   : compound_statement
   | declaration_list compound_statement
   ;
Вложения
Тип файла: 7z C-grammar.y.7z (2.1 Кб, 8 просмотров)
Yandex
Объявления
30.11.2013, 23:21     Синтаксический анализатор
Ответ Создать тему
Опции темы

Текущее время: 20:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru