WikiDer > Сравнение языков программирования (синтаксис)
Это сравнение языки программирования сравнивает особенности синтаксис языка (формат) для более чем 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 (сокращенные блоки)».