Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Язык программирования






Машинный код процессора

Алгоритм и программа

Язык программирования

Компиляторы и интерпретаторы

Классификация языков программирования

Системы программирования

Средства создания программ

Эволюция языков программирования

Структурное программирование

Объектно-ориентированное программирование

 

Машинный код процессора

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

Алгоритм и программа

Управлять компьютером нужно по определенному алгоритму. Алгоритм – это точно определенное описание решения задачи в виде конечной (по времени) последовательности действий. Такое описание ещё называется формальным. Для представления алгоритма в виде, понятном компьютеру, служат языки программирования. Сначала всегда разрабатывается алгоритм действий, а потом он записывается на одном из таких языков. В итоге получается текст программы - полное, законченное и детальное описание алгоритма на языке программирования. Затем этот текст программы специальными служебными приложениями, которые называются трансляторами, либо переводится в машинный код, либо исполняется.

Трансляция это способ преобразования исходного текста программы, написанного на языке высокого уровня, в язык машинных кодов (объектный код). В процессе трансляции про­водится лексический, синтаксический и семантический анализ текста программы. Если в программе имеются ошибки, то система программирования выдает соответствующие сообщения.

Одной из разновидностей транслятора является компилятор, обеспечивающий перевод программ с языка высокого уровня (приближенного к человеку) на язык более низкого уровня (близкий к ЭВМ), или машинный язык. Другая разновидность транслятора – ассемблер, осуществляющий перевод с языка низкого уровня (языка Ассемблер) на машинный язык, имеющий примерно тот же уровень. Некоторые трансляторы служат для переноса программ с одной машины на другую.

 

Язык программирования

Самому написать программу в машинном коде весьма сложно, причем эта сложность резко возрастает с увеличением размера программы и трудоемкости решения нужной задачи. Условно можно считать, что машинный код приемлем, если размер программы не превышает нескольких десятков байтов и нет потребности в операциях ручного ввода/вывода данных.

Поэтому сегодня практически все программы создаются с помощью языков программирования. Теоретически программу можно написать и средствами обычного человеческого (естественного) языка – это называется программированием на метаязыке (подобный подход обычно используется на этапе составления алгоритма), но автоматически перевести такую программу в машинный код пока невозможно из-за высокой неоднозначности естественного языка.

Языки программирования – искусственные языки. От естественных они отличаются ограниченным числом «слов», значение которых понятно транслятору, и очень строгими правилами записи команд (операторов).

Совокупность подобных требований образует синтаксис языка программирования, а смысл каждой команды и других конструкций языка – его семантику.

На этапе лексического анализа производится выделение из исходного текста отдельных слов и символов языка и их про­верка. Определяются ключевые слова, имена объектов и данных, удаляются лишние пробелы и комментарии. Нарушение формы записи приводит к тому, что транслятор не может понять назначение оператора и выдает сообщение о синтаксической ошибке.

На этапе семантического анализа производится проверка типов данных.

Правильно написанное, но не отвечающее алгоритму использование команд языка приводит к семантическим ошибкам (называемые ещё логическими ошибками времени выполнения).

Процесс поиска ошибок в программе называется тестированием, процесс устранения ошибок – отладкой.

Примеры вопросов

1. Компонент интегрированной системы программирования,
предназначенный для перевода исходного текста программы в машинный
код, называется:

 
 
 

• построителем кода;

• транслятором;

• переводчиком;

• редактором связей?

2. На какой стадии трансляции может быть выявлена ошибка «пропущена точка с запятой»:

• на стадии оптимизации кода;

• на стадии лексического анализа;

на стадии синтаксического анализа;

• на стадии семантического анализа?

3. Какая стадия трансляции занимается проверкой типов в выра­жениях:

• генерация кода;

• лексический анализ;

семантический анализ;

• синтаксический анализ?

4. К какому сообщению приводит обнаруженное при тестировании нарушение формы записи программы? — К сообщению о синтаксической ошибке.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.