Транслятор выполняющий команды языка указанные непосредственно в исходном тесте программы называется

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

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

Трансляторы реализуются в виде компиляторов или интерпретаторов. С точки зрения выполнения работы компилятор и интерпретатор существенно различаются.

Компилятор (англ. compiler — составитель, собиратель) читает всю программу целиком, делает ее перевод и создает законченный вариант программы на машинном языке, который затем и выполняется.

Интерпретатор (англ. interpreter — истолкователь, устный переводчик) переводит и выполняет программу строка за строкой.

Что такое Транслятор? Компиляция и Интерпретация @mr.doctor8108

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

Откомпилированные программы работают быстрее, но интерпретируемые проще исправлять и изменять.

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

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

Иногда для одного языка имеется и компилятор, и интерпретатор. В этом случае для разработки и тестирования программы можно воспользоваться интерпретатором, а затем откомпилировать отлаженную программу, чтобы повысить скорость ее выполнения.

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

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

Урок 1. Часть 5. Что такое транслятор, компилятор, интерпретатор и байт-код

Компиляторы полностью обрабатывают весь текст программы (он иногда называется исходный код ) Они просматривают его в поиске синтаксических ошибок (иногда несколько раз), производят определенный смысловой анализ, а затем автоматически переводят (транслируют) на машинный язык — генерируют машинный код. Нередко при этом выполняется оптимизация с помощью набора методов позволяющих повысить быстродействие программы (например, с помощью инструкций, ориентированных на конкретный процессор, путём исключения ненужных команд, промежуточных вычислений и т.д.). В результате законченная программа получается законченной и эффективной, работает в сотни раз быстрее программы, выполняемой с помощью интерпретатора, может быть перенесена на другие компьютеры с процессором, поддерживающим соответствующий машинный код.

Читайте также:
Программа узнать параметры компьютера

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

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

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

Источник: studopedia.su

Транслятор выполняющий команды языка указанные непосредственно в исходном тесте программы называется

Тысячи правильных ответов на различные тесты

Тысячи проверенных ответов

Вопрос теста:

Транслятор, выполняющий команды языка, указанные непосредственно в исходном тесте программы, называется

  • интерпретатор
  • компилятор
  • формализатор
  • программатор
  • оптимизатор

Компиляторы и трансляторы кода Python

Компиляторы и трансляторы кода Python

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

Введение

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

Хотя компилятор CPython является де-факто компилятором для Python, поскольку он относится к эталонной реализации Python, т.е. CPython, существует несколько других компиляторов Python, которые разработчики любят использовать.

Давайте рассмотрим 7 лучших компиляторов для Python.

Brython — реализация Python для браузера

Компиляторы и трансляторы кода Python

Brython, отмеченный как «реализация Python 3 для веб-программирования на стороне клиента», является популярным компилятором, который преобразует код Python в код JavaScript.

Адаптированный к среде HTML5, Brython поставляется с интерфейсом для объектов и событий DOM. Brython — это сокращение от Browser Python. Он может похвастаться широким функционалом, начиная от создания простых элементов документа и перетаскивания до трехмерной навигации. Компилятор Python работает в Firefox намного лучше, чем в Google Chrome.

Brython поддерживает не только все современные настольные браузеры, но и так же мобильные веб-браузеры. Компилятор Python поставляется с консолью JavaScript, которую можно использовать для оценки времени выполнения некоторой программы JS по сравнению с ее эквивалентом Python в редакторе.

Читайте также:
Программа для печати черным

Согласно официальному блогу Пьера Квентеля, создателя и ведущего разработчика Brython, Brython намного быстрее Pypy.js и Skulpt. В некоторых случаях компилятор Python работает даже быстрее, чем эталонная реализация Python, то есть CPython. Brython поддерживает большую часть синтаксиса Python 3, например генераторы и импорт библиотек. Он также обеспечивает поддержку нескольких модулей, принадлежащих дистрибутиву CPython, и поставляется с библиотеками для взаимодействия с элементами и событиями DOM. Поддержка последних спецификаций HTML5 / CSS3 также доступна в Brython, а компилятор Python может использовать популярные CSS-фреймворки, такие, как BootStrap и LESS.

Nuitka — компилятор Python написанный на языке Python

Компиляторы и трансляторы кода Python

Nuitka — это компилятор Python, написанный на языке Python.

Официальный сайт проекта: https://nuitka.net

Nuitka берет код Python и компилирует его в исходный код C / C++ или исполняемые файлы. Его можно использовать для разработки автономных программ, даже если на вашем компьютере не запущен Python.

Написанная полностью на Python, Nuitka позволяет использовать различные библиотеки Python и модули расширения.

Компилятор доступен для платформ FreeBSD, Linux, macOS X, NetBSD и Windows и находится под лицензией Apache License версии 2.0. Nuitka также доступна с Anaconda для тех, кто предпочитает ее для разработки проектов, связанных с наукой о данных и машинным обучением.

Платформа для разработки PyJS

Компиляторы и трансляторы кода Python

Для тех, кто хочет писать код Python и выполнять его в веб-браузерах, PyJS — один из вариантов.

Официальный сайт проекта: http://pyjs.org

Компилятор PyJS переводит код Python в эквивалентный код JavaScript, чтобы он мог выполняться внутри веб-браузера. Важным аспектом PyJS является то, что он поставляется с фреймворком AJAX, который заполняет пробелы, оставшиеся между поддержкой JS и DOM, доступной для различных веб-браузеров. Чтобы сгенерировать эквивалентный код JS, PyJS использует абстрактное синтаксическое дерево Python.

Исходный код веб-приложения Python можно запустить как автономное настольное приложение (которое работает под Python) с помощью модуля PyJS Desktop. Интересно, что в некоторых системах Unix предустановлены версии PyJS и PyJS Desktop. Несмотря на различия между Python и JavaScript, большинство типов данных в двух популярных языках программирования идентичны.

При использовании PyJS некоторые типы данных Python преобразуются в настраиваемые объекты, например списки. PyJS — легкое приложение. Кроме того, он может использоваться непосредственно из веб-браузера и позволяет запускать программы из JS-консоли веб-браузера. Компилятор PyJS также предлагает поддержку во время выполнения.

Поскольку код Python можно встраивать в код JS, разработчики JS могут проектировать и разрабатывать приложения в чисто объектно-ориентированной парадигме с использованием PyJS.

Shed Skin — экспериментальный компилятор для Python

Компиляторы и трансляторы кода Python

Еще один популярный компилятор Python — Shed Skin.

Он преобразует статически типизированную программу Python в эквивалентную программу на чистом C++. Статически типизированный означает, что используемые переменные должны относиться только к одному типу данных. Shed Skin не поддерживает некоторые общие функции, такие как использование вложенных функций и определение функций, которые принимают различное количество аргументов.

Только некоторые стандартные функции библиотеки Python доступны для использования с Shed Skin. В качестве экспериментальной программы компилятора Shed Skin предлагает перевести статически типизированные программы Python в оптимизированный код C++ с несколькими ограничениями. Кроме того, Shed Skin не может масштабироваться более, чем на несколько тысяч строк кода. Если в вашем коде есть неподдерживаемый модуль Shed Skin, вы должны удалить его и добавить простой код для воспроизведения желаемой функциональности.

Читайте также:
Программа для Андроид мерить расстояние

Несмотря на свой экспериментальный статус, Shed Skin может создавать автономные программы или модули расширения, которые можно импортировать и использовать в больших программах Python. Самым большим преимуществом использования Shed Skin является то, что он позволяет значительно повысить производительность. Это главным образом связано с тем, что компилятор Python переопределил встроенные типы данных Python в свой собственный набор классов, реализованный в эффективном коде C++.

Skulpt — полностью браузерная реализация Python

Компиляторы и трансляторы кода Python

Написанный на JavaScript и доступный по лицензии MIT, Skulpt предлагает настоящую среду, в которой скомпилированный код выполняется в форме JS.

Официальный сайт проекта: https://skulpt.org

Поскольку Skulpt — это реализация Python в браузере, нет необходимости в дополнительной обработке, плагинах или поддержке на стороне сервера, необходимых для запуска Python в веб-браузере. Любой код Python, написанный в Skulpt, выполняется непосредственно в веб-браузере.

Skulpt — хороший вариант для разработчиков, которые хотят создать веб-приложение, позволяющие пользователям запускать программы Python внутри веб-браузера, обеспечивая безопасность фоновых сервисов. Популярный компилятор Python также можно легко встроить в существующий блог или веб-страницу. Для индивидуальной интеграции в HTML можно добавить код Skulpt. Вы также можете научить Skulpt импортировать свои собственные модули для большего контроля. Хотя Skulpt переводит код Python в код JS, он не облегчает выполнение последнего.

Transcrypt — быстрый транслятор кода Python в JavaScript

Компиляторы и трансляторы кода Python

Еще один популярный компилятор Python — Transcrypt. Он позволяет скомпилировать довольно обширное подмножество Python в компактный, читаемый и простой для отладки код JavaScript.

Компилятор Python следует упрощенному и мощному синтаксису, не требуя дополнительных расширений. Transcrypt прекомпилирует в быстрый, читаемый JS-код, который можно отлаживать из исходного кода Python с помощью исходных карт. Облегченный компилятор обеспечивает поддержку нарезки с помощью матрицы [i: j: k] и векторных операций с операторами +, -, * и /. Линтер, минификатор и валидатор статического типа встроены в Transcrypt. Таким образом, компилятор Python улучшает взаимодействие команды, работающей над полномасштабными проектами. Помимо беспрепятственного доступа к любой JS-библиотеке, Transcrypt также может работать поверх Node.js.

Благодаря поддержке иерархических модулей, локальных классов и множественного наследования Transcrypt может похвастаться гибкой и стабильной общей структурой.

WinPython — версия Python адаптированная для Windows

Компиляторы и трансляторы кода Python

WinPython — это дистрибутив Python, специально созданный для операционной системы Windows.

Более ранние версии CPython не были оптимизированы под Windows и, как таковые, содержали много ошибок. WinPython был инкубирован как решение проблемы. Хотя нынешние версии CPython очень стабильны в операционной системе Windows, WinPython имеет несколько эксклюзивных функций. Поскольку WinPython является автономным дистрибутивом для Python, вам нужно только загрузить и распаковать его, чтобы начать работу.

WinPython также поставляется с некоторыми из самых популярных библиотек Python для науки о данных и машинного обучения, таких как NumPy, Pandas и SciPy. Следовательно, вы можете сразу же работать с этими библиотеками Python.

WinPython поставляется с множеством встроенных функций, которые в большинстве случаев не требуются, например, компилятор C и C ++. Это может быть серьезным ограничением, поскольку нет возможности выбрать и загрузить только те функции, которые необходимы. Тем не менее, WinPython доступен в варианте нулевого пакета, который поставляется только с компилятором Python и не более того.

Заключение

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

Источник: egorovegor.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru