Скомпилированный язык
![]() | Эта статья включает список общих ссылок , но в ней отсутствуют достаточные соответствующие встроенные цитаты . ( январь 2013 г. ) |
Компилируемый язык — это язык программирования , для которого исходный код обычно компилируется ; не интерпретируется .
Этот термин расплывчат, поскольку в принципе любой язык может быть скомпилирован или интерпретирован, а на практике некоторые языки могут и то и другое (в разных средах). [1] В некоторых средах исходный код сначала компилируется (в промежуточную форму; часто байт-код ), а затем интерпретируется.
Преимущества и недостатки [ править ]
Программы, скомпилированные в собственный код, обычно работают быстрее, чем если бы они были интерпретированы, из-за затрат на трансляцию. Среды с промежуточной формой байт-кода имеют тенденцию к средней скорости. Компиляция «точно в срок» обеспечивает собственную скорость выполнения при единовременных затратах времени на обработку запуска.
Языки программирования низкого уровня , такие как ассемблер и C , обычно компилируются, особенно когда основной задачей является эффективность, а не кроссплатформенная поддержка. Для таких языков существует больше однозначных соответствий между исходным кодом и результирующим машинным кодом , что упрощает программистам контроль использования аппаратного обеспечения.
Можно писать компиляторы даже для широко интерпретируемых языков . Например, Common Lisp можно скомпилировать в байт-код Java (затем интерпретировать виртуальной машиной Java ), код C (затем скомпилировать в машинный код) или непосредственно в машинный код.
Среды, поддерживающие несколько языков вывода компиляции, предоставляют разработчикам возможность выбора скорости выполнения или межплатформенной совместимости.
См. также [ править ]
- ANTLR — программа-генератор синтаксического анализатора LL(*)
- Flex — программа UNIX для лексического анализа.
- GNU bison — Yacc-совместимая программа-генератор синтаксического анализатора.
- Lex — стандартная утилита UNIX.
- Список компилируемых языков
- Интерпретатор (вычисления) - программа, которая выполняет исходный код без отдельного этапа компиляции.
- Язык сценариев - язык программирования, предназначенный для написания сценариев.
- Yacc — генератор парсера
Ссылки [ править ]
- ^ Улла, Асмат. «Особенности и характеристики компилируемых языков» . www.sqa.org.uk.
Внешние ссылки [ править ]