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

Записать в выходной файл в алфавитном порядке построчно все идентификаторы, встречающиеся в этой программе - C++

Восстановить пароль Регистрация
 
vlad324
0 / 0 / 0
Регистрация: 18.03.2014
Сообщений: 6
26.04.2014, 01:05     Записать в выходной файл в алфавитном порядке построчно все идентификаторы, встречающиеся в этой программе #1
Выполнить задания с использованием подходящих связанных динамических структур данных:
Есть программа на С++. Записать в выходной файл в алфавитном порядке построчно все идентификаторы, встречающиеся в этой программе, указав количество появлений для каждого идентификатора и номера строк программы, в которых они встречаются.
Помогите придумать алгоритм решения задачи
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2014, 01:05     Записать в выходной файл в алфавитном порядке построчно все идентификаторы, встречающиеся в этой программе
Посмотрите здесь:

C++ Записать в выходной файл все строки входного файла
Найти и записать в выходной файл все симметричные слова C++
Текстовый файл содержит строки – предложения разной длины. Записать их в выходной файл в порядке возрастания длины строки C++
Текстовый файл содержит строки – предложения разной длины. Записать их в выходной файл в порядке возрастания длины строки C++
C++ Ошибки (в файле содержатся строки разной длины - записать их в выходной файл в порядке возрастания длины строки)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gazlan
2863 / 1811 / 272
Регистрация: 27.08.2010
Сообщений: 4,907
Записей в блоге: 1
26.04.2014, 01:22     Записать в выходной файл в алфавитном порядке построчно все идентификаторы, встречающиеся в этой программе #2
Цитата Сообщение от vlad324 Посмотреть сообщение
придумать алгоритм
В задании все сказано:
  • Пишете примитивный лексер, распознающий только идентификаторы [0-9a-zA-Z_]
  • Читаете текст построчно
  • Найденные идентификаторы заносите в словарь
vlad324
0 / 0 / 0
Регистрация: 18.03.2014
Сообщений: 6
26.04.2014, 09:46  [ТС]     Записать в выходной файл в алфавитном порядке построчно все идентификаторы, встречающиеся в этой программе #3
Цитата Сообщение от gazlan Посмотреть сообщение
Пишете примитивный лексер, распознающий только идентификаторы [0-9a-zA-Z_]
вот с этим как раз и проблемы
gazlan
2863 / 1811 / 272
Регистрация: 27.08.2010
Сообщений: 4,907
Записей в блоге: 1
26.04.2014, 10:57     Записать в выходной файл в алфавитном порядке построчно все идентификаторы, встречающиеся в этой программе #4
Цитата Сообщение от vlad324 Посмотреть сообщение
вот с этим как раз и проблемы
Пошарьтесь по форуму, не раз обсуждалось. Алгоритм в две строчки:

Код
Пока не <EOS>
   Пока не буква { <skip> }
   Пока буква { ++WordLen }
vlad324
0 / 0 / 0
Регистрация: 18.03.2014
Сообщений: 6
26.04.2014, 11:36  [ТС]     Записать в выходной файл в алфавитном порядке построчно все идентификаторы, встречающиеся в этой программе #5
Цитата Сообщение от gazlan Посмотреть сообщение
Пошарьтесь по форуму, не раз обсуждалось. Алгоритм в две строчки:
у меня получилось получить все слова которые есть в программе, а вот как из них выбрать идентификаторы не знаю.
gazlan
2863 / 1811 / 272
Регистрация: 27.08.2010
Сообщений: 4,907
Записей в блоге: 1
26.04.2014, 19:53     Записать в выходной файл в алфавитном порядке построчно все идентификаторы, встречающиеся в этой программе #6
Цитата Сообщение от vlad324 Посмотреть сообщение
выбрать идентификаторы
Идентификатор, по определению, начинается с буквы или подчеркивания, содержит только буквы, цифры или подчеркивания и (с точки зрения лексического анализатора) не является резервированным (keywords).

Возьмите из любой C++ грамматики список keywords и добавьте проверку по словарю, оставшиеся в тексте программы идентификаторы будут пользовательскими.
Yandex
Объявления
26.04.2014, 19:53     Записать в выходной файл в алфавитном порядке построчно все идентификаторы, встречающиеся в этой программе
Ответ Создать тему
Опции темы

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