Сравнение языков программирования (синтаксис) - 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квалифицированный импорт Модуль так как MHaskellимпорт пакет.*Ява, 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 (сокращенные блоки)».