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

C++

Войти
Регистрация
Восстановить пароль
 
taras atavin
Ушёл с форума.
3569 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
#1

Инструментальный софт - C++

10.04.2013, 15:03. Просмотров 544. Ответов 8
Метки нет (Все метки)

Что должно входить в релизную интегрированную среду разработки? Редактор исходника - это понятно. Это видит пользователь. Ведь для инструментальщика прикладной программист - это пользователь. А ещё? Нажал пользователь "компилировать". Куда передаётся исходник? Сразу в компилятор? Или в отдельную софтину - анализатор? То есть анализатор - это отдельная программа, или часть компилятора? Лексический анализ предшествует синтаксическому, или наоборот? Каковы их задачи? Как они могут решаться? А сама компиляция? Пусть c++ - только язык, на котором написан сам инструментальный софт, но не исходный язык, то есть комплияция не с c++ на опкоды, а с другого языка на опкоды. Предположим, в исходнике есть выражение a/b и обе переменные декларированы, как действительные. Что надо поместить в код? Для начала без оптимизаций вообще. После компиляции код передаётся сразу линкеру? Как бы по-точнее узнать, что этот линкер должен сделать? А препроцессоры - это тоже отдельные софтины? Или что? Они предшествуют анализу, или наоборот?

Добавлено через 24 минуты
Пусть по правилам исходного языка type начинает декларацию нового типа, но, в отличие от паскаля, нет раздела типов, а вместо этого декаларация каждого типа начинается со слова type. Как следует обрабатывать декларацию типа? Предположим, компилятор дошёл до
Код
type tsudent=class
{
 acces mode pablic:
  variable name:string of ansi;
  variable group:pgroup;
  variable evaluations:tevaluations;
};
, что будет означать тип tsudent есть класс с переменными-pubic-членами name типа string of ansi, group типа pgroup и evaluations типа tevaluations, причём, string of ansi означает строку символов в кодировке ansi, а типы pgroup и tevaluations должны быть описаны выше. Что компилятор должен сделать, наткнувшись на такую декларацию? Пусть типизация строгая явная статическая и для начала без полиморфизма. Вот так. Классы есть, а иерархии классов пока нет, она появится только со второй версии.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2013, 15:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Инструментальный софт (C++):

Кто тут пишет софт на заказ - C++
Нужено сделать софт на заказ пишите кто может сделать Пишите скайп или icq там договоримся цене

Лицензионный софт (C++ Builder) - C++ Builder
Вопрос может и не по теме но все же, я хотел бы знать сколько стоит лицензионный билдер 2010 года с потдержкой проектирования на win 7. и...

Криво ставится Софт - C++ Builder
Ставил один и тот же дистрибутив на разных машинах, на одной все работает отлично. На второй машине инсталяция происходит без проблем, но...

Как писать софт, использующий драйвер? - C++ WinAPI
Конкретная цель: Имеется некое USB устройство на контроллере. Есть драйвер для USB устройств типа Mass Storage (возможно usbstor.sys)....

Хочу писать мат. софт - C++
Добрый вечер, недавно задумался о том, что в будущем, возможно, захочу писать софт, ориентированный на математические вычисления....

Софт для составления блок-схем - C++
Посоветуйте программу для составления блок-схем

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Jupiter
Каратель
Эксперт С++
6554 / 3975 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
10.04.2013, 22:57 #2
Цитата Сообщение от taras atavin Посмотреть сообщение
Лексический анализ предшествует синтаксическому, или наоборот? Каковы их задачи?
Лексический анализ предшествует синтаксическому.
Задача лексического анализа - получение списка лексем и выявление лексических ошибок - например "левых" символов.
Задача синтаксического анализа - проверка правильности следования лексем, выявления синтаксических ошибок, построение внутреннего представления - дерева, полиз и т.п.

Цитата Сообщение от taras atavin Посмотреть сообщение
Как они могут решаться?
Как напишешь - так и будет.

Цитата Сообщение от taras atavin Посмотреть сообщение
А сама компиляция?
А что компиляция? Компиляция и включает в себя лексический анализ, синтаксический анализ, оптимизацию (опционально), генерацию кода.

Цитата Сообщение от taras atavin Посмотреть сообщение
Предположим, в исходнике есть выражение a/b и обе переменные декларированы, как действительные. Что надо поместить в код?
Книжку по асму открой.

Цитата Сообщение от taras atavin Посмотреть сообщение
После компиляции код передаётся сразу линкеру?
После компиляции получается бинарник, который передается линкеру.
Цитата Сообщение от taras atavin Посмотреть сообщение
А препроцессоры - это тоже отдельные софтины? Или что? Они предшествуют анализу, или наоборот?
фазы трансляции - стандарт с++ 2003 раздел 2.1 (стандарт с++ 2011 раздел 2.2)

Добавлено через 4 минуты
Цитата Сообщение от taras atavin Посмотреть сообщение
Что компилятор должен сделать, наткнувшись на такую декларацию?
поместить tsudent в таблицу типов
1
taras atavin
Ушёл с форума.
3569 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
11.04.2013, 09:18  [ТС] #3
Цитата Сообщение от Jupiter Посмотреть сообщение
А что компиляция? Компиляция и включает в себя лексический анализ, синтаксический анализ, оптимизацию (опционально), генерацию кода.
Хорошо. Как выполняется генерация кода?

Добавлено через 1 минуту
Цитата Сообщение от Jupiter Посмотреть сообщение
фазы трансляции - стандарт с++ 2003 раздел 2.1 (стандарт с++ 2011 раздел 2.2)
c++ - язык реализации среды, но не её исходный язык. Писать с её помощью на другом языке.

Добавлено через 1 минуту
Где можно изучить лексический анализ?

Добавлено через 1 час 33 минуты
А что такое "токен" в лексическом анализе?

Добавлено через 52 секунды
И объясните, что такое лексемы, на примере c++.

Добавлено через 2 часа 2 минуты
Ну вот получил компилятор аргумент - имя файла исходного кода. Как принято поступать дальше? Грузить файл целиком в оперативу, или же лексер должен самостоятельно читать его посимвольно с диска в скользящий буфер и разбирать?
0
Jupiter
Каратель
Эксперт С++
6554 / 3975 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
11.04.2013, 09:25 #4
Цитата Сообщение от taras atavin Посмотреть сообщение
Как выполняется генерация кода?
у нас есть некое внутренне представление программы - например абстрактное синтаксическое дерево - обходим дерево и генерируем
Цитата Сообщение от taras atavin Посмотреть сообщение
Где можно изучить лексический анализ?
классика -Ахо, Ульман - книга дракона
1
dstat
36 / 38 / 1
Регистрация: 01.06.2011
Сообщений: 238
11.04.2013, 09:26 #5
найдите книгу по компиляторам (классика - Ахо, Ульман, "Компиляторы. Принципы, технологии, инструментарий"), все сразу встанет на свои места.

про лексический анализ еще посмотрите утилиты lex/flex, byson/yacc. лексема - осмысленная последовательность символов (например, class)

линкер собирает несколько скомпилированных объектных файлов в один (1 файл на с/с++ - 1 объектный файл, далее линкер: несколько объектных файлов - один объектный файл)

в интегрированную среду еще должно входить средство отладки (отладчик + интерфейс для отображения отладочной информации)
1
taras atavin
Ушёл с форума.
3569 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
11.04.2013, 10:02  [ТС] #6
Цитата Сообщение от dstat Посмотреть сообщение
лексема - осмысленная последовательность символов (например, class)
А идентификатор будет лексемой? Или только зарезервированное слово? А скобка? А знак плюс?
0
Jupiter
Каратель
Эксперт С++
6554 / 3975 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
11.04.2013, 10:07 #7
Цитата Сообщение от taras atavin Посмотреть сообщение
А идентификатор будет лексемой? А скобка? А знак плюс?
будут
1
Kastaneda
Форумчанин
Эксперт С++
4653 / 2862 / 228
Регистрация: 12.12.2009
Сообщений: 7,271
Записей в блоге: 2
Завершенные тесты: 1
11.04.2013, 13:27 #8
Еще семантический анализ упустили из вида, он следует сразу за синтаксическим. Потом может быть еще машинонезависимая оптимизация.
1
taras atavin
Ушёл с форума.
3569 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
11.04.2013, 14:54  [ТС] #9
Цитата Сообщение от Kastaneda Посмотреть сообщение
Еще семантический анализ упустили из вида, он следует сразу за синтаксическим.
Про семантический анализ не знал, спасибо. А отпимизация будет потом.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.04.2013, 14:54
Привет! Вот еще темы с ответами:

Софт - Мобильный софт
Предлагаю тут постить софт для мобильных устройств, вне зависимости от платформы(желательно указывать какая) Всем спасибо... ЗЫ...

Драйверы и софт - Софт
И так, я стал начинающим пользователем Ubunta 10.10. После резкого перехода с Windows 7 и Denwer'a всё трудно, страшно и объёмы софта под...

Посоветуйте Софт - Софт
Собираюсь открыть аптеку. Подскажите, какой софт можно использовать для контроля товара (прихода/продажи)? Столкнулся с проблемой...

Софт под 7-ку - Windows 7
Вот список программ которые мне нужны, просто скажите которые работают на 7-ке: uTorrent Aimp Foxit PDf reader Download Master ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
11.04.2013, 14:54
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru