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