И.А. Волкова, И.Г. Головин, Л.Е. Карпов - Системы программирования, страница 6
Описание файла
PDF-файл из архива "И.А. Волкова, И.Г. Головин, Л.Е. Карпов - Системы программирования", который расположен в категории "". Всё это находится в предмете "практика расчётов на пэвм" из 3 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст 6 страницы из PDF
В некоторых разработках они использовались для повышениямобильности программного обеспечения, то есть его переносимости из одногооперационного окружения в другое.Диалоговые редакторы отличаются от пакетных редакторов тем, что для нихготовить задание на редактирование не требуется. Пользователь указывает редактору,какой текст он собирается редактировать, далее непосредственно вводятсяредактирующие приказы.
В результате формируется исправленный текст, которыйможно снова записать в системный архив, использовав прежнее имя файла или задавновое имя, сохранив предыдущий вариант в архиве.Диалоговые редакторы делятся на две категории: строчные и экранныередакторы.При работе со строчными редакторами сначала задают номер строки, котораяподлежит редактированию, а затем выдают редактирующие приказы, которые могутвлиять только на заданную строку. Экранные диалоговые редакторы позволяют видетьна экране сразу несколько строк.
Экранные редакторы – это самое удобное средстворедактирования файлов, а строчные обычно применяются в условиях, когда устройствоотображения информации не позволяет одновременно показывать сразу несколькострок текста.Появление экранных редакторов серьезно повлияло на возможности,предоставляемые пользователям при редактировании. Пользователю теперьпредоставляют набор как традиционных редакторских возможностей, основанных наредактировании строк по их номерам, которые обычно показываются среди другойслужебной информации, так и контекстное редактирование.
К этому добавленывозможности работы с блоками информации, причем блоки обычно бываютгоризонтальными (построчными) или вертикальными, которые особенно удобны приредактировании форматированных текстов, например, таблиц. Среди экранныхредакторов выделяются текстовые процессоры, примером которых является текстовыйпроцессор Word, разработанный компанией Microsoft и входящий в состав системыофисной автоматизации Microsoft Office.Появление интегрированной среды разработки позволило интегрировать в них итекстовые редакторы, точнее диалоговые экранные редакторы текстов.
Редакторытестов стали теснее взаимодействовать с компиляторами, а затем и с отладчикамипрограмм. Теперь при вводе текстов программ с помощью редактора, эта программа,получив сведения о том, на каком языке программирования написан вводимый текст,выделяет ключевые слова языка особым шрифтом и цветом, "подсвечивает"соответствующие открывающие и закрывающие скобки. Тем самым, текстовымредакторам передаются некоторые функции лексических и синтаксическиханализаторов.Некоторыесистемыпрограммированияимеютособуюструктуру,предполагающую ввод исходной информации в виде графических объектов с помощьюграфического пользовательского интерфейса.
К таким системам относятся,например, системы, работающие с языками UML, Visual Basic. Графические образы22могут впоследствиипрограммы.автоматическипреобразовыватьсявобычныетекстовые3.1.2. Лексический анализ “на лету”Суть лексического анализа “на лету” – в поиске и выделении лексем входногоязыка в тексте программы непосредственно в процессе ее создания разработчиком.Одновременно с вводом текста программы с помощью текстового редактора системапрограммирования отыскивает в этом тексте лексемы по правилам того языкапрограммирования, на работу с которым она в данный момент настроена.В самых простых системах проведенный анализ используется только длявыделения лексем в тексте с помощью графических средств дисплея. Например,литеральные константы могут выделяться одним цветом, служебные слова могутподчеркиваться, простые идентификаторы показываться каким-либо другим шрифтоми т.
д. Более развитые системы строят таблицы идентификаторов и констант, которыепередаются компилятору, входящему в систему программирования. Этим достигаетсяинтеграция текстового редактора с лексическим анализатором компилятора.Таблицы, создаваемые в процессе ввода текста, могут использоваться для поискасохраненных там лексем по типу или по некоторым информационным символам(например, по первым буквам). Такой поиск можно сделать контекстно-зависимым, тоесть можно искать лексему именно того типа, который допустим в данном конкретномместе текста программы. Кроме самой лексемы, разработчику может бытьпредоставлена информация о ней, например, перечень доступных методов для типа илиэкземпляра класса, что избавляет от необходимости лишний раз заглядывать вдокументацию, и снижает вероятность ошибок при вводе текста.
Помощь со сторонысистемы программирования, в которой текстовый редактор интегрирован не только слексическим, но и с синтаксическим анализатором компилятора, может бытьорганизована в виде подсказок и гиперссылок.Подсказка возникает на экране в том случае, когда разработчик ввел какую-точасть исходного текста, определенную лексическим анализатором как началонекоторого заслуживающего внимания фрагмента. Подсказка может принимать формупояснения или варианта дальнейшего ввода текста.Пояснение дает разработчику представление о том, что может следовать дальше.Пользователь должен сам вводить этот текст, но при этом пояснение будет помогатьему.
Например, при вводе имени функции может возникнуть подсказка с указаниемтипов ее параметров, тип текущего параметра может выделяться особым шрифтом.Вариант текста предлагает разработчику некоторый шаблон, который можновставить после уже введенного текста. В некоторых случаях указывается сразу наборшаблонов, из которого можно выбрать подходящий. Например, после вводапеременной, соответствующей некоторому классу, подсказка может предложитьперечень методов и свойств этого класса, из которого можно выбрать нужный простымвыбором нужной строки в перечне. Некоторые часто встречающиеся вариантывводимых текстов в ряде систем разрешается связывать с функциональнымиклавишами, нажатие которых приводит к автоматическому добавлению связанноготекста к программе.Подсказки не заменяют разработчика, они лишь немного помогают провестинаиболее рутинную работу – ввод текста.
Подсказки делаются лишь на основаниилексического и синтаксического анализа, а этого не всегда достаточно для полногопонимания ситуации, поэтому подсказки не всегда оказываются правильными. Однако23разработчик не обязан следовать подсказкам, он всегда может вводить тот текст,который считает необходимым ввести.Гиперссылка позволяет переходить от одной части программы к другой.Например, по имени функции можно легко перейти в то место программы, где этафункция определяется, а по имени сложного типа данных перейти к его описанию.Текстовые редакторы интегрируются также с отладчиками, для которых онипозволяют расставлять в программе точки останова, показывать значения переменныхво время приостановки работы программы и выполнять другие полезные действия.3.2.
Трансляторы, компиляторы, интерпретаторыКонечной целью создания всякого программного продукта является достижениенекоторого результата, способ получения которого закодирован в этой программе. Самрезультат может быть получен только при работе аппаратуры вычислительнойсистемы, которой для работы должна быть передана программа в своем исходном илипереработанном виде, а также входные данные, требующиеся программе при ее работе.Существует несколько вариантов взаимодействия программ с аппаратурой.Первый из этих способов почти не требует системы программирования и связан скодированием программ непосредственно на машинном языке. Такой подходстановится приемлемым только в тех случаях, когда над всеми другими соображениямипо поводу способов записи программ превалируют соображения эффективности. Внастоящее время можно считать, что ни одна вычислительная система не воспринимаетнапрямую программы, подготавливаемые к исполнению людьми: все программы дляполучения результата их работы должны пройти предварительную обработку.Второй вариант, в котором программирование ведется на языкепрограммирования, не совпадающем с машинным языком вычислительной системы,требует наличия системы программирования.
В состав системы программированиявключаются несколько компонентов, важнейшим из которых является компонент,ответственный за преобразование исходной программы к виду, в котором она можетбыть понята вычислительной системой. Эти компоненты называются трансляторами,то есть программами, которые переводят исходную программу, написанную нанекотором исходном (входном) языке, в другую программу, эквивалентную первой.Получающаяся при этом программа тоже формулируется на некотором языке,называемом объектным.Процесс перевода с исходного языка на объектный язык охватывает сразу трипрограммы и называется трансляцией:1. Во время трансляции вычислительная система выполняет программутранслятора (программа № 1, транслирующая).2.
Транслятор обрабатывает конкретную последовательность предложенийвходного языка. Такая последовательность должна удовлетворять наборусинтаксических и семантических правил. В этом случае мы получаемправо называть ее программой (программа № 2, транслируемая).3. Результатом работы транслятора также является программа, строится онапо синтаксическим правилам выходного языка, ее семантикаопределяется семантикой выходного языка (программа № 3,результирующая).24Исходная и результирующая программы являются эквивалентными.Эквивалентность программ означает совпадение их смысла с точки зрения (семантики)входного языка (для входной программы) и (семантики) выходного языка (дляобъектной программы).3.2.1. Схемы работы трансляторовСтепень преобразования программ трансляторами может быть различной.