Файл: Лекция 1 Что такое формальный язык.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 17.03.2024

Просмотров: 9

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Лекция №1

  1. Что такое формальный язык?

Формальный язык – это математическая модель реального языка. Под реальным языком здесь понимается некий способ общения (коммуникации) субъектов друг с другом.

  1. Перечислите, какие современные языки программирования вызнаете?

Современные языки программирования: C++, C#, Python, Java.

  1. Какие способы задания языка изучаются в этом курсе?

В теории формальных языков имеются различные методы определения (задания) языка.

  • Порождающие грамматики.

  • Конечные автоматы.

  • Регулярные выражения.

  1. Что такое языковой процессор?

Языковым процессором называется программа по обработке текстов на одном из языков программирования

  1. Перечислите виды языковых процессоров.

Языковые процессоры:

  • Компилятор

  • Интерпретатор

  • Ассемблер

  • Препроцессор

  1. Перечислите, какие языковые процессоры (например, компиляторы) вы знаете?

Компиляторы:

  • Меркурий

  • Acorn C/C++

  • javac OpenJDK

  • PeachPie



  1. Какой языковой процессор самый быстрый?

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

  1. Чем сканер отличается от синтаксического анализатора?

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

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

  1. Какой языковой процессор генерирует самый эффективный код?

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

  1. Чем отличается компилятор от ассемблера?

Компилятор – это такой языковый процессор, в котором входной формат данных – язык программирования высокого уровня, а выходной формат – объектный код. В то время как у ассемблера входной формат данных - команды ассемблера, близкие к кодам машины, а выходной формат - исполнительный код или машинные команды, доступные для загрузки в оперативную память и исполнения.

  1. Чем отличается интерпретатор от компилятора?

Интерпретатор — это языковый процессор, в котором выходной формат- промежуточный или исполняемый код, а компилятор в компиляторе выходной формат – объектный код.

  1. В чем особенности трансляции в препроцессорах?

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

Особенности трансляции в препроцессорах заключается в том, что на этом этапе идет подготовка кода к компиляции.