Сравнение языков программирования (синтаксис) - Comparison of programming languages (syntax)
Это сравнение языки программирования сравнивает особенности синтаксис языка (формат) для более чем 50 языков программирования.
Выражения
Язык программирования выражения можно в целом разделить на четыре синтаксических структуры:
- префиксная запись
- Лисп (* (+ 2 3) (исключение 4 5))
- инфиксная запись
- Фортран (2 + 3) * (4 ** 5)
- суффикс, постфикс или Обратная польская запись
- Четвертый 2 3 + 4 5 ** *
- математическая запись
- УЧИТЕЛЬ (2 + 3)(45) $$ обратите внимание на неявный оператор умножения
Заявления
Язык программирования заявления обычно есть соглашения для:
- разделители операторов;
- терминаторы операторов; и
- продолжение строки
Разделитель операторов используется для разграничения границ между двумя отдельными операторами. Терминатор оператора используется для обозначения конца отдельного оператора. Языки, которые интерпретируют конец строки как конец оператора, называются «строчно-ориентированными» языками.
«Продолжение строки» - это соглашение в строчно-ориентированных языках, где символ новой строки потенциально может быть неверно истолкован как терминатор оператора. В таких языках это позволяет одному оператору занимать более одной строки.
Язык | Разделитель-терминатор операторов | Вторичный сепаратор[1] |
---|---|---|
ABAP | разделенный период | |
Ада | точка с запятой завершается | |
АЛГОЛ | точка с запятой разделена | |
АЛГОЛ 68 | точка с запятой и запятая разделены[2] | |
APL | перевод строки завершен | ⋄ отделенный |
AppleScript | перевод строки завершен | |
AutoHotkey | перевод строки завершен | |
БАЗОВЫЙ | перевод строки завершен | двоеточие отделено |
Бу | перевод строки завершен | |
C | точка с запятой завершает операторы | запятая разделяет выражения |
C ++ | точка с запятой завершает операторы | запятая разделяет выражения |
C # | точка с запятой завершается | |
КОБОЛ | разделенные пробелами, иногда через точку, необязательно через запятую и точку с запятой. | |
Кобра | перевод строки завершен | |
CoffeeScript | перевод строки завершен | |
CSS | точка с запятой разделена | |
D | точка с запятой завершается | |
Эйфель | перевод строки завершен | точка с запятой |
Erlang | двоеточие отделено, точка завершена | |
F # | перевод строки завершен | точка с запятой |
Фортран | перевод строки завершен | точка с запятой |
Четвертый | точки с запятой завершают определения слов | |
GFA BASIC | перевод строки завершен | |
Идти | точка с запятой (вставляется компилятором) | |
Haskell (в до-нотации) | новая строка разделена | |
Haskell (в do-нотации, когда используются фигурные скобки) | точка с запятой разделена | |
Ява | точка с запятой завершается | |
JavaScript | разделены точкой с запятой (но иногда неявно вставляются в символы новой строки) | |
Котлин | разделены точкой с запятой (но иногда неявно вставляются в символы новой строки) | |
Lua | разделенные пробелами (точка с запятой необязательно) | |
Mathematica | точка с запятой разделена | |
MATLAB | перевод строки завершен | точка с запятой или запятая[3] |
Object Pascal (Delphi ) | точка с запятой разделена | |
Цель-C | точка с запятой завершается | |
OCaml | точка с запятой разделена | |
Паскаль | точка с запятой разделена | |
Perl | точка с запятой разделена | |
PHP | точка с запятой завершается | |
Выбрать базовый | перевод строки завершен | точка с запятой разделена |
PowerShell | перевод строки завершен | точка с запятой разделена |
Пролог | через запятую (соединение), через точку с запятой (дизъюнкцию), точку с завершением (предложение) | |
Python | перевод строки завершен | точка с запятой |
Раку | точка с запятой разделена | |
Красный | разделены пробелами | |
Рубин | перевод строки завершен | точка с запятой |
Ржавчина | точка с запятой завершает операторы | запятая разделяет выражения |
Scala | новая строка завершена (точка с запятой необязательна) | точка с запятой |
Семя7 | разделенные точкой с запятой (завершение точкой с запятой допускается) | |
Симула | точка с запятой разделена | |
Сленг | точка с запятой разделена | |
Болтовня | разделенный период | |
Стандартный ML | точка с запятой разделена | |
Swift | точка с запятой (вставляется компилятором) | |
Visual Basic | перевод строки завершен | двоеточие отделено |
Visual Basic .NET | перевод строки завершен | двоеточие отделено |
Язык Wolfram Language | точка с запятой разделена | |
Xojo | перевод строки завершен | |
Язык | Разделитель-терминатор операторов | Вторичный сепаратор[1] |
Продолжение линии
Продолжение строки обычно выполняется как часть лексический анализ: новая строка обычно приводит к добавлению токена в поток токенов, если не обнаружено продолжение строки.
- Пробел - Языки, не требующие продолжения
- Ада - Строки заканчиваются точкой с запятой
- C # - Строки заканчиваются точкой с запятой
- JavaScript - Строки заканчиваются точкой с запятой (что может означать)
- Lua
- OCaml
- Амперсанд как последний символ строки
- Обратная косая черта как последний символ строки
- трепать[4] и другие оболочки Unix
- C и C ++ препроцессор
- Mathematica и Язык Wolfram Language
- Python[5]
- Рубин
- JavaScript - только в строках с одинарными или двойными кавычками
- Обратная кавычка как последний символ строки
- Дефис как последний символ строки
- Нижнее подчеркивание как последний символ строки
- Многоточие (как три точки - не один специальный символ)
- MATLAB: Токен с многоточием не обязательно должен быть последним символом в строке, но любые следующие за ним будут игнорироваться.[6] (По сути, это начинается с комментария, расширяющего через (т.е. включая) первый последующий символ новой строки. Сравните это со встроенным комментарием, который расширяет до тех пор первый последующий перевод строки.)
- Разделитель запятых как последний символ строки
- Ruby (комментарий может следовать за разделителем)
- Разделитель левой квадратной скобки как последний символ строки
- Пакетный файл: начало блока в скобках может разрешить продолжение строки[7]
- Рубин: левая скобка, левая квадратная скобка или левая фигурная скобка
- Оператор как последний объект линии
- Ruby (комментарий может следовать за оператором)
- Оператор как первый символ продолжения строки
- AutoHotkey: Любые операторы выражения, кроме ++ и -, а также запятой или точки.[8]
- Обратная косая черта как первый символ продолжения строки
- Некоторая форма встроенный комментарий служит продолжением линии
- Турбо Ассемблер:
- м4:
dnl
- TeX:
%
- Позиция персонажа
- Фортран 77: Строка без комментария является продолжением предыдущей строки без комментария, если какой-либо непробельный символ появляется в столбце 6. Строки комментариев не могут быть продолжены.
- КОБОЛ: Строковые константы могут быть продолжены, не заканчивая исходную строку в предложении PICTURE с
'
, а затем вставив-
в столбце 7 (то же положение, что и*
для комментария используется.) - УЧИТЕЛЬ: Строки, начинающиеся с табуляции (после любого отступа, требуемого контекстом), продолжают предыдущую команду.
- [Конец и начало] с использованием обычных кавычек
- C и C ++ препроцессор: строка заканчивается нормально и продолжается, начиная с кавычки в следующей строке.
Библиотеки
Эта секция нуждается в расширении. Вы можете помочь добавляя к этому. (Декабрь 2009 г.) |
К импорт а библиотека это способ чтения внешних, возможно, скомпилированных подпрограмм, программ или пакетов. Импорт можно классифицировать по уровню (модуль, пакет, класс, процедура, ...) и по синтаксису (имя директивы, атрибуты, ...)
- Импорт файла
addpath (каталог)
MATLAB [9]КОПИРОВАТЬ имя файла.
КОБОЛ:-включают("имя файла").
Пролог#include file = "имя файла"
ASP#включают "имя файла"
, AutoHotkey, AutoIt, C, C ++#include <имя файла>
AutoHotkey, AutoIt, C, C ++#импорт "имя файла"
, Цель-C#import <имя файла>
Цель-CИмпортировать ["имя файла"]
Mathematica и Язык Wolfram Languageвключить 'имя файла'
Фортранвключают "имя файла";
PHPвключить программу [имя файла]
, Выбрать базовый#include [имя файла] программа
Выбрать базовыйвключают!( "имя файла");
Ржавчинанагрузка "имя файла"
Соколзагрузить% filename
Красныйтребовать("имя файла")
Luaтребовать "имя файла";
Perl, PHPисточник ("" имя файла "")
р
- Импорт пакета
#включают имя файла
C, C ++# [путь = "имя файла"] мод altname;
, Ржавчина@импорт модуль;
Цель-C<<имя
Mathematica и Язык Wolfram Language: -use_module (модуль).
Пролог:из модуль импорт *
Pythonвнешний ящик имя библиотеки;
, Ржавчинавнешний ящик имя библиотеки так как altname;
Ржавчинамод имя мода;
, Ржавчинабиблиотека («пакет»)
р:грузить модуль
, Соколгрузить module.submodule
СоколИМПОРТ модуль
Оберонimport altname "имя пакета"
Идти:импорт package.module;
, Dимпорт altname = package.module;
Dимпорт Модуль
, Haskellквалифицированный импорт Модуль так как M
Haskellимпорт пакет.*
Ява, MATLAB, Котлинимпорт "имя мода";
JavaScript:импорт altname от "имя мода";
, JavaScript:импорт пакет
Scalaимпорт пакет._
, Scalaимпорт модуль
Swiftимпорт модуль
, Pythonтребовать("имя мода")
Lua:использовать модуль
, Фортран 90 +использовать модуль, Только : идентификатор
Фортран 90 +использовать модуль;
, Perlиспользуйте модуль qw (параметры импорта);
Perlиспользовать Package.Name
Кобраиспользует единица измерения
Паскальс пакет
Ада
- Импорт класса
из модуль импорт класс
Pythonимпорт класс
Соколимпорт пакет.класс
Ява, MATLAB, Котлинимпорт класс от "имя мода";
, JavaScriptимпорт {класс} из "имя мода";
, JavaScriptимпорт {класс так как altname} из "имя мода";
JavaScriptимпорт пакет.класс
, Scalaимпорт пакет.{ class1 => альтернативное имя, класс2 }
, Scalaимпорт пакет._
Scalaиспользовать NamespaceClassName;
, PHPиспользовать NamespaceClassName как AliasName;
PHP
- Импорт процедуры / функции
из модуль импорт функция
Python:импорт package.module : символ;
, D:импорт package.module : altsymbolname = символ;
D:импорт Модуль (функция)
Haskell:импорт функция от "имя мода";
, JavaScript:импорт {функция} из "имя мода";
, JavaScript:импорт {функция так как altname} из "имя мода";
JavaScript:импорт пакет.функция
MATLAB:импорт пакет.класс.функция
, Scala:импорт пакет.класс.{ функция => альтернативное имя, otherFunction }
Scala:используйте модуль ('символ');
Perl:использовать функцию Пространство имен;
, PHP:использовать Пространство имен имя_функции как псевдоним_функции;
PHP:использовать модуль::подмодуль::символ;
, Ржавчина:использовать модуль::подмодуль::{символ1, символ2};
, Ржавчина:использовать модуль::подмодуль::символ так как altname;
Ржавчина:
- Постоянный импорт
использовать const Пространство именCONST_NAME;
PHP
Вышеупомянутые операторы также могут быть классифицированы по тому, являются ли они синтаксическим удобством (позволяя ссылаться на вещи по более короткому имени, но они все равно могут ссылаться на какое-либо полностью определенное имя без импорта) или действительно ли они необходимы для доступа код (без которого невозможно получить доступ к коду, даже с полностью определенными именами).
- Синтаксическое удобство
- Требуется код доступа
import altname "имя пакета"
Идтиимпорт altname от "имя мода";
JavaScriptимпорт модуль
Python
Блоки
А блокировать - это обозначение группы из двух или более операторов, выражений или других единиц кода, которые связаны таким образом, чтобы составлять единое целое.
- Фигурные скобки (также известные как фигурные скобки)
{
...}
- Языки программирования с фигурными скобками: C, C ++, Цель-C, Идти, Ява, JavaScript /ECMAScript, C #, D, Perl, PHP (
за
&петля
циклы или передать блок в качестве аргумента), Ржавчина, Scala, Сленг, Swift, Windows PowerShell, Haskell (в до-нотации), AutoHotkey
- Скобки
(
...)
- Квадратные скобки
[
...]
- Болтовня (блоки - это объекты первого класса, также известные как замыкания)
начать
...конец
делать
...конец
делать
...сделанный
- Баш (
за
&в то время как
петли), Visual Basic, Фортран, УЧИТЕЛЬ (с обязательным отступом тела блока), Визуальный пролог
делать
...конец
- Lua, Рубин (передать блоки как аргументы,
за
петля), Семя7 (охватывает тела петель междуделать
иконец
)
- ИКС ...
конец
(например.если
...конец
):
- Рубин (
если
,в то время как
,до тех пор
,def
,класс
,модуль
заявления), OCaml (за
&в то время как
петли), MATLAB (если
&переключатель
условные,за
&в то время как
петли,пытаться
пунктпакет
,classdef
,свойства
,методы
,События
, &функция
блоки), Lua (тогда
/еще
&функция
)
- (
начать
...)
- (прогноз ...)
- (
делать
...)
- Отступ
- Внешние языки правил: Кобра, CoffeeScript, F #, Haskell (в do-нотации, когда фигурные скобки опущены), Оккам, Python
- Языки произвольной формы: большинство потомков от АЛГОЛ (включая C, Паскаль, и Perl ); Лисп языки
- Другие
- Ада, Visual Basic, Семя7:
если
...конец, если
- APL:
:Если
...: EndIf
или:Если
...:Конец
- Баш, ш, и кш:
если
...фи
,делать
...сделанный
,кейс
...esac
; - АЛГОЛ 68:
начать
...конец
,(
...)
,если
...фи
,делать
...od
- Lua, Паскаль, Модула-2, Семя7:
повторение
...до тех пор
- КОБОЛ:
ЕСЛИ
...КОНЕЦ-ЕСЛИ
,ВЫПОЛНЯТЬ
...КОНЕЦ ВЫПОЛНЕНИЯ
и т.д. для выписок; ....
для предложений. - Visual Basic .Net:
Если
...Конец, если
,За
...Следующий
,Делать
...Петля
- Маленький Базовый:
Если
...Конец Если
,За
...EndFor
,В то время как
...Конец
Комментарии
Комментарии можно классифицировать по:
- стиль (встроенный / блок)
- правила синтаксического анализа (игнорируются / интерполируются / сохраняются в памяти)
- рекурсивность (вложенность / не вложенность)
- использует (строки документации / одноразовые комментарии / другое)
Встроенные комментарии
Встроенные комментарии - это обычно те, которые используют новая линия символ для обозначения конца комментария и произвольный разделитель или последовательность жетоны для обозначения начала комментария.
Примеры:
Заблокировать комментарии
Блочные комментарии - это, как правило, те, в которых используется разделитель для обозначения начала комментария и другой разделитель для обозначения конца комментария. В контексте, пробел и новая линия символы не считаются разделителями.
Примеры:
Символ | Языки |
---|---|
комментарий ~ ; | АЛГОЛ 60, SIMULA |
¢ ~ ¢ ,# ~ # , co ~ co ,комментарий ~ комментарий | АЛГОЛ 68[12][13] |
/* ~ */ | ActionScript, AutoHotkey, С, С ++, С #, D,[14] Идти, Ява, JavaScript, Котлин, Цель-C, PHP, PL / I, Пролог, Rexx, Ржавчина (могут быть вложенными), Scala (могут быть вложенными), SAS, SASS, SQL, Swift (могут быть вложенными), Визуальный пролог, CSS |
#cs ~ #ce | AutoIt[15] |
/+ ~ +/ | D (может быть вложенным)[14] |
/# ~ #/ | Кобра (может быть вложенным) |
<# ~ #> | Powershell |
<!-- ~ --> | HTML, XML |
= начать ~ = вырезать | Perl |
#`( ~ ) | Раку (символы в квадратных скобках могут быть (), <>, {}, [], любые символы Unicode с зеркальным отображением BiDi или символы Unicode со свойствами Ps / Pe / Pi / Pf) |
= начать ~ = конец | Рубин |
#<ТЕГ > ~ #</ТЕГ > , #остановка ~ EOF ,#iffalse ~ #endif , #ifntrue ~ #endif ,#if false ~ #endif , #если правда ~ #endif | Сленг[16] |
{- ~ -} | Haskell (может быть вложенным) |
(* ~ *) | Delphi, ML, Mathematica, Object Pascal, Паскаль, Семя7, Яблоко, OCaml (могут быть вложенными), Standard ML (могут быть вложенными), Maple, Новояз, F # |
{ ~ } | Delphi, Object Pascal, Pascal, Красный |
{# ~ #} | Nunjucks, Веточка |
{{! ~ }} | Усы, Рули |
{{!-- ~ --}} | Рули (не могут быть вложенными, но могут содержать {{ и }} ) |
|# ~ #| | Завиток |
%{ ~ %} | MATLAB[11] (символы должны быть в отдельной строке) |
#| ~ |# | Лисп, Схема, Ракетка (может быть вложен во все три). |
#[ ~ ]# | Ним[17] |
--[[ ~ ]] ,--[=[ ~ ]=] ,--[= ...=[ ~ ]= ...=] | Lua (скобки могут иметь любое количество совпадающих символов =; могут быть вложены в несовпадающие разделители) |
" ~ " | Болтовня |
(комментарий ~ ) | Clojure |
Уникальные варианты
- Фортран
- Отступы строк в Фортран 66/77 значительна. Фактическая инструкция находится в столбцах с 7 по 72 строки. Любой непробельный символ в столбце 6 означает, что эта строка является продолжением предыдущей. А '
C
'в столбце 1 означает, что вся эта строка является комментарием. Столбцы с 1 по 5 могут содержать число, которое служит меткой. Столбцы с 73 по 80 игнорируются и могут использоваться для комментариев; в дней перфокарт, эти столбцы часто содержали порядковые номера, чтобы колоду карт можно было отсортировать в правильном порядке, если кто-то случайно уронил карты. Fortran 90 устранил необходимость в правиле отступа и добавил встроенные комментарии, используя!
символ в качестве разделителя комментариев.
- КОБОЛ
- В коде фиксированного формата отступ строк имеет значение. Столбцы 1–6 и столбцы, начиная с 73, игнорируются. Если
*
или/
находится в столбце 7, то эта строка является комментарием. До COBOL 2002, еслиD
илиd
был в столбце 7, он определил бы «строку отладки», которая игнорировалась бы, если компилятор не получил указание скомпилировать ее.
- Кобра
- Cobra поддерживает блочные комментарии с "
/#
...#/
"который похож на"/*
...*/
"часто встречается в языках, основанных на C, но с двумя отличиями.#
символ повторно используется из формы однострочного комментария "#
... ", а комментарии к блокам могут быть вложенными, что удобно для комментирования больших блоков кода.
- Завиток
- Curl поддерживает блочные комментарии с пользовательскими тегами, как в
| foo # ... #foo |
.
- Lua
- Как и необработанные строки, между квадратными скобками может быть любое количество знаков равенства, при условии, что открывающий и закрывающий теги имеют одинаковое количество знаков равенства; это позволяет вложение, если комментарии / необработанные строки вложенных блоков используют другое количество знаков равенства, чем их закрывающий комментарий:
- [[комментарий - [= [вложенный комментарий] =]]]
. Lua отбрасывает первую новую строку (если она есть), которая следует непосредственно за открывающим тегом.
- Perl
- Блочные комментарии в Perl считаются частью документации и получают имя Обычная старая документация (POD). Технически Perl не имеет соглашения о включении блочных комментариев в исходный код, но POD обычно используется как обходной путь.
- PHP
- PHP поддерживает стандартные комментарии в стиле C / C ++, но также поддерживает стиль Perl.
- Python
- Использование тройных кавычек для комментирования строк исходного текста фактически не формирует комментарий.[18] Заключенный текст становится строковым литералом, который Python обычно игнорирует (кроме случаев, когда это первая инструкция в теле модуля, класса или функции; см. строка документации ).
- Раку
- Раку использует
#`(...)
для обозначения блочных комментариев.[19] На самом деле Raku позволяет использовать любые парные скобки "правые" и "левые" после#`
(т.е.#`(...)
,#`[...]
,#`{...}
,#`<...>
, и даже более сложный#`{{...}}
все допустимые комментарии к блоку). Скобки также могут быть вложены в комментарии (т.е.# `{a {b} c}
переходит к последней закрывающей скобке).
- Рубин
- Комментарий блока в Ruby открывается по адресу
= начать
линия и закрывается на= конец
линия.
- Сленг
- Область линий, заключенных
# <тег>
и#
разделители игнорируются интерпретатором. Имя тега может быть любой последовательностью буквенно-цифровых символов, которая может использоваться для обозначения того, как должен быть расшифрован заключенный блок. Например,# <латекс>
может указывать на начало блока документации в формате LaTeX.
- Схема и ракетка
- Следующий полный синтаксический компонент (s-выражение) можно закомментировать с помощью
#;
.
- ABAP
ABAP поддерживает два разных типа комментариев. Если первым символом строки, включая отступ, является звездочка (*
) вся строка рассматривается как комментарий, а одинарная двойная кавычка ("
) начинает встроенную коммуникацию, которая действует до конца строки. Комментарии ABAP невозможны между операторами EXEC SQL
и ENDEXEC
потому что в собственном SQL эти символы используются и по-другому. В большинстве диалектов SQL двойное тире (--
) можно использовать вместо этого.
- Эзотерические языки
- Много эзотерические языки программирования следовать соглашению, что любой текст, не выполненный указатель инструкции (например., Befunge ) или иным образом присвоенное значение (например, Brainfuck ), считается «комментарием».
Сравнение комментариев
Существует множество стилей синтаксиса для объявления комментариев в исходном коде.BlockComment
здесь курсивом используется для обозначения стиля блочного комментария.Встроенный комментарий
Курсив здесь используется для обозначения стиля встроенного комментария.
Язык | Встроенный комментарий | Заблокировать комментарий |
---|---|---|
Ада, Эйфель, Эйфория, Оккам, ИСКРА, ANSI SQL, и VHDL | -- Встроенный комментарий | |
АЛГОЛ 60 | комментарий BlockComment; | |
АЛГОЛ 68 | ¢ BlockComment ¢
| |
APL | ⍝ Встроенный комментарий | |
AppleScript | -- Встроенный комментарий | (* BlockComment *) |
язык ассемблера (варьируется) | ; Встроенный комментарий один пример (большинство языков ассемблера используют только строковые комментарии) | |
AutoHotkey | ; Встроенный комментарий | /* BlockComment */ |
AWK, Баш, Оболочка Борна, Оболочка C, Клен, р, Tcl, и Windows PowerShell | # Встроенный комментарий | <# BlockComment #> |
БАЗОВЫЙ (разные диалекты): | 'Встроенный комментарий (не все диалекты)
| |
C (K&R, ANSI / C89 / C90), ХОЛОД, PL / I, и REXX | /* BlockComment */ | |
С (C99), C ++, Идти, Swift и JavaScript | // Встроенный комментарий | /* BlockComment */ |
C # | // Встроенный комментарий /// Встроенный комментарий (Комментарий к документации XML) | /* БлокКомментарий */ /** БлокКомментарий */ (Комментарий к документации XML) |
КОБОЛ Я в COBOL 85 | * Встроенный комментарий (* в графе 7) | |
КОБОЛ 2002 | *> InlineComment | |
Завиток | || Встроенный комментарий | |# BlockComment #|
|
Кобра | # Встроенный комментарий | /# BlockComment #/ (гнездовой) |
D | // Встроенный комментарий /// Документация Встроенный комментарий (ddoc Комментарии) | /* BlockComment */ /** Документация BlockComment */ (ddoc Комментарии)
|
DCL | $! InlineComment | |
ECMAScript (JavaScript, ActionScript, так далее.) | // InlineComment | /* BlockComment */ |
Четвертый | Встроенный комментарий | ( BlockComment ) (однострочный и многострочный)
|
FORTRAN I к FORTRAN 77 | C Встроенный комментарий (C в столбце 1) | |
Фортран 90 | ! Встроенный комментарий | |
Haskell | -- InlineComment | {- BlockComment -} |
Ява | // Встроенный комментарий | /* БлокКомментарий */
|
Лисп и Схема | ; InlineComment | #| BlockComment |# |
Lua | -- Встроенный комментарий | --[==[ BlockComment]==] (переменное количество знаков =) |
Клен | # Встроенный комментарий | (* BlockComment *) |
Mathematica | (* BlockComment *) | |
Matlab | % InlineComment | %{ Примечание. Оба символа процентных скобок должны быть единственными непробельными символами в соответствующих строках. |
Ним | # Встроенный комментарий | #[ BlockComment ]# |
Object Pascal (Delphi) | // Встроенный комментарий | (* BlockComment *) { BlockComment } |
OCaml | (* BlockComment (* вложенный *) *) | |
Паскаль, Модула-2, Модула-3, Оберон, и ML: | (* БлокКомментарий *) | |
Perl и Рубин | # InlineComment | = начать (= конец в Ruby) (POD комментарий к документации)
|
PHP | # Встроенный комментарий // Встроенный комментарий | /* БлокКомментарий */ /** Документация BlockComment */ (Комментарии PHP Doc ) |
ПИЛОТ | Р:Встроенный комментарий | |
PLZ / SYS | ! BlockComment ! | |
PL / SQL и TSQL | -- Встроенный комментарий | /* BlockComment */ |
Пролог | % InlineComment | /* BlockComment */ |
Python | # Встроенный комментарий | ''' BlockComment ''' (Строка документации когда первая строка модуля, класса, метода или функции) |
Раку | # Встроенный комментарий | #`{
|
Красный | ; Встроенный комментарий | { БлокКомментарий } |
Ржавчина | // Встроенный комментарий
| /* БлокКомментарий */ (гнездовой)
|
SAS | * БлокКомментарий; /* БлокКомментарий */ | |
Семя7 | # Встроенный комментарий | (* БлокКомментарий *) |
Симула | комментарий БлокКомментарий; ! БлокКомментарий; | |
Болтовня | "БлокКомментарий" | |
Умный | {* БлокКомментарий *} | |
Стандартный ML | (* БлокКомментарий *) | |
TeX, Латекс, PostScript, Erlang, Эликсир и Сленг | % Встроенный комментарий | |
Texinfo | @c Встроенный комментарий
| |
УЧИТЕЛЬ | * Встроенный комментарий команда $$ Встроенный комментарий | |
Visual Basic | ' Встроенный комментарий Рем Встроенный комментарий | |
Visual Basic .NET | ' Встроенный комментарий
| |
Визуальный пролог | % Встроенный комментарий | /* БлокКомментарий */ |
Язык Wolfram Language | (* БлокКомментарий *) | |
Xojo | ' Встроенный комментарий // Встроенный комментарий rem Встроенный комментарий |
Смотрите также
- Синтаксис C
- Синтаксис C ++
- Языки программирования с фигурными скобками, обширное семейство синтаксисов языков программирования
- Синтаксис Java
- Синтаксис JavaScript
- Синтаксис и семантика PHP
- Синтаксис и семантика Python
Рекомендации
- ^ а б Для нескольких операторов в одной строке
- ^ Три разных вида предложений, в каждом по-разному разделяются фразы и единицы:
- серийное предложение с использованием жетон (а именно точка с запятой): начать а; б; c конец - агрегаты выполнены по порядку.
- дополнительная оговорка с использованием а также жетон (а именно ","): начать а, б, в конец - порядок выполнения должен быть оптимизирован компилятором.
- параллельное предложение с использованием а также жетон (а именно ","): номинальное начало а, б, в конец - блоки должны запускаться в параллельных потоках.
- ^ точка с запятой - результат удаления оператора скрыт, запятая - результат отображается
- ^ Справочное руководство по Bash, 3.1.2.1 escape-символ
- ^ Документация Python, 2. Лексический анализ.: 2.1.5. Явное соединение строк
- ^ Mathworks.com В архиве 7 февраля 2010 г. Wayback Machine
- ^ https://ss64.com/nt/syntax-brackets.html
- ^ https://autohotkey.com/docs/Scripts.htm#continuation
- ^ Чтобы M-файл (источник MATLAB) был доступен по имени, его родительский каталог должен находиться в пути поиска (или текущем каталоге).
- ^ https://nim-lang.org/docs/manual.html#lexical-analysis-comments
- ^ а б "Mathworks.com". Архивировано из оригинал 21 ноября 2013 г.. Получено 25 июн 2013.
- ^ "Algol68_revised_report-AB.pdf в формате PDF, стр. 61–62, исходный документ, стр. 121–122" (PDF). Получено 27 мая 2014.
- ^ «HTML-версия пересмотренного отчета AB Algol68». Архивировано из оригинал 17 марта 2013 г.. Получено 27 мая 2014.
- ^ а б "DLang.org, лексический". Получено 27 мая 2014.
- ^ "Справочник по ключевым словам AutoItScript.com, # comments-start". Получено 27 мая 2014.
- ^ "slang-2.2.4 / src / slprepr.c - строки с 43 по 113". Получено 28 мая 2014.
- ^ "Nim Manual".
- ^ «Совет Python: вы можете использовать многострочные строки как многострочные комментарии», 11 сентября 2011 г., Гвидо ван Россум
- ^ «Документация Perl 6 (синтаксис)». docs.perl6.org. Комментарии. Получено 5 апреля 2017.
- ^ "Комментарии Perl 6 POD".
- ^ «Perl 6 POD (сокращенные блоки)».