Porovnání programovacích jazyků (syntaxe) - Comparison of programming languages (syntax)
Toto srovnání programovací jazyky porovnává vlastnosti jazyková syntaxe (formát) pro více než 50 počítačových programovacích jazyků.
Výrazy
Programovací jazyk výrazy lze obecně rozdělit do čtyř struktur syntaxe:
- prefixový zápis
- Lisp (* (+ 2 3) (kromě 4 5))
- infixová notace
- Fortran (2 + 3) * (4 ** 5)
- přípona, postfix nebo Reverzní polská notace
- Forth 2 3 + 4 5 ** *
- matematický zápis
- TUTOR (2 + 3)(45) $$ poznámka implicitní operátor násobení
Prohlášení
Programovací jazyk prohlášení obvykle mají konvence pro:
- oddělovače výpisů;
- terminátory prohlášení; a
- pokračování řádku
Oddělovač příkazů se používá k vymezení hranic mezi dvěma samostatnými příkazy. Terminátor příkazu se používá k vymezení konce jednotlivého příkazu. Jazyky, které interpretují konec řádku jako konec příkazu, se nazývají „řádkově orientované“ jazyky.
„Pokračování řádku“ je konvence v řádkově orientovaných jazycích, kde by znak nového řádku mohl být nesprávně interpretován jako zakončení příkazu. V takových jazycích umožňuje jednomu příkazu překlenout více než jen jeden řádek.
Jazyk | Oddělovač-terminátor prohlášení | Sekundární oddělovač[1] |
---|---|---|
ABAP | období oddělené | |
Ada | středník ukončen | |
ALGOL | oddělené středníkem | |
ALGOL 68 | oddělené středníkem a čárkou[2] | |
APL | nový řádek ukončen | ⋄ oddělené |
AppleScript | nový řádek ukončen | |
AutoHotkey | nový řádek ukončen | |
ZÁKLADNÍ | nový řádek ukončen | dvojtečka oddělena |
Vypískat | nový řádek ukončen | |
C | středník ukončuje příkazy | čárka odděluje výrazy |
C ++ | středník ukončuje příkazy | čárka odděluje výrazy |
C# | středník ukončen | |
COBOL | oddělené mezerami, někdy odděleny tečkami, volitelně odděleny čárkami a středníky. | |
Kobra | nový řádek ukončen | |
CoffeeScript | nový řádek ukončen | |
CSS | středník oddělena | |
D | středník ukončen | |
Eiffelova | nový řádek ukončen | středník |
Erlang | oddělené tlusté střevo, období ukončeno | |
F# | nový řádek ukončen | středník |
Fortran | nový řádek ukončen | středník |
Forth | středníky ukončují definice slov | |
GFA BASIC | nový řádek ukončen | |
Jít | oddělené středníkem (vloženo překladačem) | |
Haskell (v notaci) | nový řádek oddělen | |
Haskell (v notaci, když jsou použity závorky) | oddělené středníkem | |
Jáva | středník ukončen | |
JavaScript | oddělené středníkem (ale někdy implicitně vložené na nové řádky) | |
Kotlin | oddělené středníkem (ale někdy implicitně vložené na nové řádky) | |
Lua | oddělené mezerami (volitelný středník) | |
Mathematica | oddělené středníkem | |
MATLAB | nový řádek ukončen | středník nebo čárka[3] |
Objekt Pascal (Delphi ) | oddělené středníkem | |
Cíl-C | středník ukončen | |
OCaml | oddělené středníkem | |
Pascal | středník oddělena | |
Perl | oddělené středníkem | |
PHP | středník ukončen | |
Vyberte základní | nový řádek ukončen | oddělené středníkem |
PowerShell | nový řádek ukončen | oddělené středníkem |
Prolog | oddělené čárkou (spojka), oddělené středníkem (disjunkce), tečka ukončena (klauzule) | |
Krajta | nový řádek ukončen | středník |
Raku | oddělené středníkem | |
Červené | oddělené mezery | |
Rubín | nový řádek ukončen | středník |
Rez | středník ukončuje příkazy | čárka odděluje výrazy |
Scala | nový řádek ukončen (středník volitelný) | středník |
7. semeno | oddělené středníkem (ukončení středníkem je povoleno) | |
Simula | oddělené středníkem | |
Slang | oddělené středníkem | |
Pokec | období oddělené | |
Standardní ML | oddělené středníkem | |
Rychlý | oddělené středníkem (vloženo překladačem) | |
Visual Basic | nový řádek ukončen | dvojtečka oddělena |
Visual Basic .NET | nový řádek ukončen | dvojtečka oddělena |
Wolfram jazyk | oddělené středníkem | |
Xojo | nový řádek ukončen | |
Jazyk | Oddělovač-terminátor prohlášení | Sekundární oddělovač[1] |
Pokračování řádku
Pokračování řádku se obvykle provádí jako součást lexikální analýza: nový řádek obvykle vede k přidání tokenu do proudu tokenu, pokud není detekováno pokračování řádku.
- Mezery - Jazyky, které nepotřebují pokračování
- Ada - Řádky končí středníkem
- C# - Řádky končí středníkem
- JavaScript - Řádky končí středníkem (což lze odvodit)
- Lua
- OCaml
- Ampersand jako poslední znak řádku
- Obrácené lomítko jako poslední znak řádku
- bash[4] a další unixové granáty
- C a C ++ preprocesor
- Mathematica a Wolfram jazyk
- Krajta[5]
- Rubín
- JavaScript - pouze v řetězcích s jednoduchými nebo dvojitými uvozovkami
- Backtick jako poslední znak řádku
- Pomlčka jako poslední znak řádku
- Podtržítko jako poslední znak řádku
- Elipsa (jako tři tečky - ne jeden speciální znak)
- MATLAB: Token se třemi tečkami nemusí být posledními znaky na řádku, ale všechny následující znaky budou ignorovány.[6] (V podstatě začíná komentář, který se rozšiřuje.) přes (tj. včetně) prvního následujícího znaku nového řádku. Porovnejte to s vloženým komentářem, který se rozšiřuje dokud první následující nový řádek.)
- Oddělovač čárky jako poslední znak řádku
- Ruby (komentář může následovat oddělovač)
- Oddělovač levé závorky jako poslední znak řádku
- Dávkový soubor: spuštění bloku v závorkách může umožnit pokračování řádku[7]
- Rubín: levá závorka, levá hranatá závorka nebo levá složená závorka
- Operátor jako poslední objekt řádku
- Ruby (operátor může sledovat komentář)
- Operátor jako první znak pokračování řádku
- AutoHotkey: Libovolné operátory výrazů kromě ++ a -, stejně jako čárka nebo tečka[8]
- Obrácené lomítko jako první znak pokračování řádku
- Nějaká forma vložený komentář slouží jako pokračování řádku
- Turbo Assembler:
- m4:
dnl
- TeX:
%
- Pozice postavy
- Fortran 77: Řádek bez komentářů je pokračováním předchozího řádku bez komentářů, pokud se ve sloupci 6 objeví jakýkoli znak bez mezer. V řádcích komentářů nelze pokračovat.
- COBOL: Řetězcové konstanty mohou pokračovat tak, že původní řetězec v klauzuli PICTURE neukončíte
'
, poté vložte a-
ve sloupci 7 (stejná poloha jako*
pro komentář se používá.) - TUTOR: Řádky začínající tabulátorem (po každém odsazení vyžadovaném kontextem) pokračují v předchozím příkazu.
- [Konec a začátek] pomocí běžných uvozovek
Knihovny
![]() | Tato sekce potřebuje expanzi. Můžete pomoci přidávat k tomu. (Prosince 2009) |
Na import A knihovna je způsob, jak číst externí, případně kompilované rutiny, programy nebo balíčky. Importy lze klasifikovat podle úrovně (modul, balíček, třída, procedura, ...) a podle syntaxe (název směrnice, atributy, ...)
- Import souborů
addpath (adresář)
MATLAB [9]COPY název souboru.
COBOL:-zahrnout("název souboru").
Prolog#include file = "název souboru"
ASP#zahrnout "název souboru"
, AutoHotkey, AutoIt, C, C ++#include <název souboru>
AutoHotkey, AutoIt, C, C ++#import "název souboru"
, Cíl-C#import <název souboru>
Cíl-CImport ["název souboru"]
Mathematica a Wolfram jazykzahrnout „název souboru“
Fortranzahrnout "název souboru";
PHPzahrnout program [název_souboru]
, Vyberte základní# zahrnout [název souboru] program
Vyberte základnízahrnout!( "název souboru");
Reznačíst "název souboru"
Sokolnačíst% název souboru
Červenévyžadovat("název souboru")
Luavyžadovat "název souboru";
Perl, PHPzdroj ("" název souboru "")
R
- Import balíčku
#zahrnout název souboru
C, C ++# [cesta = "název souboru"] mod altname;
, Rez@import modul;
Cíl-C<<název
Mathematica a Wolfram jazyk: -use_module (modul).
Prolog:z modul import *
Krajtaexterní přepravka libname;
, Rezexterní přepravka libname tak jako altname;
Rezmod modname;
, Rezknihovna („balíček“)
R:zatížení modul
, Sokolzatížení modul.submodul
SokolIMPORT modul
Oberonimport altname "balíček / název"
Jít:import balíček.modul;
, Dimport altname = balíček.modul;
Dimport Modul
, Haskelldovoz kvalifikován Modul tak jako M
Haskellimport balík.*
Jáva, MATLAB, kotlinimport "modname";
JavaScript:import altname z "modname";
, JavaScript:import balík
Scalaimport balík._
, Scalaimport modul
Rychlýimport modul
, Krajtavyžadovat("modname")
Lua:použití modul
, Fortran 90 +použití modul, pouze : identifikátor
Fortran 90 +použít modul;
, Perlpoužijte modul qw (možnosti importu);
Perlpoužijte Package.Name
Kobrapoužívá jednotka
Pascals balík
Ada
- Import třídy
z modul import třída
Krajtaimport třída
Sokolimport balík.třída
Jáva, MATLAB, kotlinimport třída z "modname";
, JavaScriptimport {třída} z "modname";
, JavaScriptimport {třída tak jako altname} z "modname";
JavaScriptimport balík.třída
, Scalaimport balík.{ třída1 => alternativní jméno, třída2 }
, Scalaimport balík._
Scalapoužití NamespaceClassName;
, PHPpoužití NamespaceClassName jako AliasName;
PHP
- Import procedury / funkce
z modul import funkce
Krajta:import balíček.modul : symbol;
, D:import balíček.modul : altsymbolname = symbol;
D:import Modul (funkce)
Haskell:import funkce z "modname";
, JavaScript:import {funkce} z "modname";
, JavaScript:import {funkce tak jako altname} z "modname";
JavaScript:import balík.funkce
MATLAB:import balík.třída.funkce
, Scala:import balík.třída.{ funkce => alternativní jméno, další funkce }
Scala:použijte modul („symbol“);
Perl:použít funkci Namespacefunction_name;
, PHP:použití Namespacefunction_name jako function_alias_name;
PHP:použití modul::submodul::symbol;
, Rez:použití modul::submodul::{symbol1, symbol2};
, Rez:použití modul::submodul::symbol tak jako altname;
Rez:
- Konstantní import
použijte konst Obor názvů CONST_NAME;
PHP
Výše uvedená tvrzení lze také klasifikovat podle toho, zda se jedná o syntaktické pohodlí (umožňující, aby věci byly označovány kratším názvem, ale stále je lze označovat nějakým plně kvalifikovaným názvem bez importu), nebo zda jsou skutečně vyžadovány pro přístup kód (bez kterého není možné získat přístup ke kódu, a to ani s plně kvalifikovanými jmény).
- Syntaktické pohodlí
- Vyžadováno pro přístupový kód
import altname "balíček / název"
Jítimport altname z "modname";
JavaScriptimport modul
Krajta
Bloky
A blok je zápis pro skupinu dvou nebo více příkazů, výrazů nebo jiných jednotek kódu, které spolu souvisejí tak, aby obsahovaly jeden celek.
- Šle (také složené závorky)
{
...}
- Programovací jazyky složených závorek: C, C ++, Cíl-C, Jít, Jáva, JavaScript /ECMAScript, C#, D, Perl, PHP (
pro
&smyčka
smyčky, nebo předat blok jako argument), Rez, Scala, Slang, Rychlý, Windows PowerShell, Haskell (v notaci), AutoHotkey
- Závorky
(
...)
- Hranaté závorky
[
...]
- Pokec (bloky jsou objekty první třídy. aka uzávěry)
začít
...konec
dělat
...konec
dělat
...Hotovo
- Bash (
pro
&zatímco
smyčky), Visual Basic, Fortran, TUTOR (s povinným odsazením těla bloku), Vizuální prolog
dělat
...konec
- Lua, Rubín (předat bloky jako argumenty,
pro
smyčka), 7. semeno (uzavírá těla smyčky mezidělat
akonec
)
- X ...
konec
(např.-li
...konec
):
- Rubín (
-li
,zatímco
,dokud
,def
,třída
,modul
prohlášení), OCaml (pro
&zatímco
smyčky), MATLAB (-li
&přepínač
podmíněné,pro
&zatímco
smyčky,Snaž se
doložka,balík
,třída
,vlastnosti
,metody
,Události
, &funkce
bloky), Lua (pak
/jiný
&funkce
)
- (
začít
...)
- (progn ...)
- (
dělat
...)
- Odsazení
- Jazyky mimostranních pravidel: Kobra, CoffeeScript, F#, Haskell (v notaci, když jsou složené závorky vynechány), occam, Krajta
- Volné jazyky: většina potomků z ALGOL (počítaje v to C, Pascal, a Perl ); Lisp jazyky
- Ostatní
- Ada, Visual Basic, 7. semeno:
-li
...skončit, pokud
- APL:
:Li
...: EndIf
nebo:Li
...:Konec
- Bash, sh, a ksh:
-li
...fi
,dělat
...Hotovo
,případ
...esac
; - ALGOL 68:
začít
...konec
,(
...)
,-li
...fi
,dělat
...od
- Lua, Pascal, Modula-2, 7. semeno:
opakovat
...dokud
- COBOL:
LI
...END-IF
,PROVÉST
...KONEC VÝKONU
atd. pro výpisy; ....
pro věty. - Síť Visual Basic:
Li
...Konec, pokud
,Pro
...další
,Dělat
...Smyčka
- Malý základní:
Li
...EndIf
,Pro
...EndFor
,Zatímco
...Konec
Komentáře
Komentáře lze klasifikovat podle:
- styl (vložený / blok)
- analyzovat pravidla (ignorovaná / interpolovaná / uložená v paměti)
- rekurzivita (vnořitelná / nevnořitelná)
- používá (docstrings / vyhoditelné komentáře / jiné)
Vložené komentáře
Vložené komentáře jsou obecně ty, které používají a nový řádek znak označující konec komentáře a libovolný oddělovač nebo posloupnost žetony k označení začátku komentáře.
Příklady:
Blokovat komentáře
Blokové komentáře jsou obecně ty, které používají oddělovač k označení začátku komentáře a další oddělovač k označení konce komentáře. V tomto kontextu, mezery a nový řádek znaky se nepočítají jako oddělovače.
Příklady:
Symbol | Jazyky |
---|---|
komentář ~ ; | ALGOL 60, SIMULA |
¢ ~ ¢ ,# ~ # , co ~ co ,komentář ~ komentář | ALGOL 68[12][13] |
/* ~ */ | ActionScript, AutoHotkey, C, C ++, C #, D,[14] Jít, Jáva, JavaScript, kotlin, Cíl-C, PHP, PL / I., Prolog, Rexx, Rez (lze vnořit), Scala (lze vnořit), SAS, SASS, SQL, Swift (lze vnořit), Vizuální prolog, CSS |
#cs ~ #ce | AutoIt[15] |
/+ ~ +/ | D (lze vnořit)[14] |
/# ~ #/ | Kobra (lze vnořit) |
<# ~ #> | Powershell |
<!-- ~ --> | HTML, XML |
= začít ~ = střih | Perl |
#`( ~ ) | Raku (znaky v závorkách mohou být (), <>, {}, [], libovolné znaky Unicode se zrcadlením BiDi nebo znaky Unicode s vlastnostmi Ps / Pe / Pi / Pf) |
= začít ~ = konec | Rubín |
#<ŠTÍTEK > ~ #</ŠTÍTEK > , #stop ~ EOF ,#iffalse ~ #endif , # jestli je to pravda ~ #endif ,#if false ~ #endif , #if! pravda ~ #endif | Slang[16] |
{- ~ -} | Haskell (lze vnořit) |
(* ~ *) | Delphi, ML, Mathematica, Object Pascal, Pascal, 7. semeno, Jablko, OCaml (lze vnořit), standardní ML (lze vnořit), javor, Newspeak, F# |
{ ~ } | Delphi, Object Pascal, Pascal, Červené |
{# ~ #} | Nunjucks, Větvička |
{{! ~ }} | Knír, Řídítka |
{{!-- ~ --}} | Řídítka (nelze vnořit, ale mohou obsahovat) {{ a }} ) |
|# ~ #| | Kučera |
%{ ~ %} | MATLAB[11] (symboly musí být na samostatném řádku) |
#| ~ |# | Lisp, Systém, Raketa (lze vnořit do všech tří). |
#[ ~ ]# | Nim[17] |
--[[ ~ ]] ,--[=[ ~ ]=] ,--[= ...=[ ~ ]= ...=] | Lua (závorky mohou mít libovolný počet odpovídajících = znaků; mohou být vnořeny do neodpovídajících oddělovačů) |
" ~ " | Pokec |
(komentář ~ ) | Clojure |
Unikátní varianty
- Fortran
- Odsazení řádků do Fortran 66/77 je významný. Skutečný výpis je ve sloupcích 7 až 72 řádku. Jakýkoli znak bez mezery ve sloupci 6 naznačuje, že tento řádek je pokračováním předchozího řádku. A '
C
„ve sloupci 1 označuje, že celý tento řádek je komentář. Sloupce 1 až 5 mohou obsahovat číslo, které slouží jako štítek. Sloupce 73, i když 80, jsou ignorovány a mohou být použity pro komentáře; v dny děrných štítků, tyto sloupce často obsahovaly pořadové číslo, takže balíček karet mohl být tříděn do správného pořadí, pokud někdo omylem karty odhodil. Fortran 90 odstranil potřebu pravidla odsazení a přidal vložené komentáře pomocí!
znak jako oddělovač komentářů.
- COBOL
- V kódu s pevným formátem je řádkové odsazení významné. Sloupce 1–6 a sloupce od 73 dále jsou ignorovány. Pokud
*
nebo/
je ve sloupci 7, pak je tento řádek komentářem. Do COBOL 2002, pokud aD
nebod
byl ve sloupci 7, definoval by „ladicí řádek“, který by byl ignorován, pokud by kompilátor nedostal pokyn k jeho kompilaci.
- Kobra
- Cobra podporuje blokování komentářů pomocí „
/#
...#/
„což je jako“/*
...*/
"často se nachází v jazycích založených na jazyce C, ale se dvěma rozdíly#
znak je znovu použit z formuláře pro jednořádkový komentář "#
... “a komentáře k bloku lze vnořit, což je vhodné pro komentování velkých bloků kódu.
- Kučera
- Curl podporuje blokové komentáře pomocí uživatelem definovaných značek jako v
| foo # ... #foo |
.
- Lua
- Stejně jako nezpracované řetězce, mezi hranatými závorkami může být libovolný počet znaků rovná se, za předpokladu, že otevírací i zavírací značky mají odpovídající počet znaků rovná se; to umožňuje vnoření, pokud vnořené blokové komentáře / nezpracované řetězce používají jiný počet znaménka rovná se než jejich přiložený komentář:
- [[komentář - [= [vnořený komentář] =]]]
. Lua zahodí první nový řádek (pokud je přítomen), který přímo navazuje na úvodní značku.
- Perl
- Blokové komentáře v Perlu jsou považovány za součást dokumentace a jsou pojmenovány Prostá stará dokumentace (LUSK). Technicky Perl nemá konvenci pro zahrnutí blokových komentářů do zdrojového kódu, ale POD se běžně používá jako řešení.
- PHP
- PHP podporuje standardní komentáře ve stylu C / C ++, ale podporuje také styl Perl.
- Krajta
- Použití trojitých uvozovek k komentování řádků zdroje ve skutečnosti netvoří komentář.[18] Z uzavřeného textu se stane řetězcový literál, který Python obvykle ignoruje (kromě případů, kdy se jedná o první příkaz v těle modulu, třídy nebo funkce; viz docstring ).
- Raku
- Raku používá
#`(...)
k označení blokových komentářů.[19] Raku ve skutečnosti umožňuje použití jakýchkoli „pravých“ a „levých“ spárovaných závorek#`
(tj.#`(...)
,#`[...]
,#`{...}
,#`<...>
, a dokonce i složitější#`{{...}}
jsou všechny platné blokové komentáře). Závorky je také možné vnořit do komentářů (tj.# `{a {b} c}
přejde na poslední uzavírací závorku).
- Rubín
- Blokovat komentář v Ruby se otevře v
= začít
linka a zavírá se v= konec
čára.
- Slang
- Oblast řádků uzavřených
#
a#
oddělovače jsou interpretem ignorovány. Název značky může být jakákoli posloupnost alfanumerických znaků, kterou lze použít k označení způsobu dešifrování přiloženého bloku. Například,#
může označovat začátek bloku dokumentace ve formátu LaTeX.
- Schéma a raketa
- K další úplné syntaktické složce (výrazu s) lze přidat komentář
#;
.
- ABAP
ABAP podporuje dva různé druhy komentářů. Pokud je první znak řádku, včetně odsazení, hvězdička (*
) celý řádek je považován za komentář, zatímco jednoduchá dvojitá uvozovka ("
) začíná řádkovou kometu, která funguje až do konce řádku. Mezi prohlášeními nejsou možné komentáře ABAP EXEC SQL
a ENDEXEC
protože Native SQL má pro tyto znaky jiné využití. Ve většině dialektů SQL dvojitá pomlčka (--
) místo toho lze použít.
- Esoterické jazyky
- Mnoho esoterické programovací jazyky postupujte podle konvence, že jakýkoli text nevykonaný ukazatel instrukce (např., Befunge ) nebo jinak přiřazený význam (např. Brainfuck ), je považován za „komentář“.
Porovnání komentářů
Pro deklaraci komentářů ve zdrojovém kódu existuje široká škála stylů syntaxe.BlockComment
kurzíva se zde používá k označení stylu blokového komentáře.InlineComment
kurzíva se zde používá k označení stylu vloženého komentáře.
Jazyk | Řádkový komentář | Blokovat komentář |
---|---|---|
Ada, Eiffelova, Euforie, Occam, JISKRA, ANSI SQL, a VHDL | -- InlineComment | |
ALGOL 60 | komentář BlockComment; | |
ALGOL 68 | ¢ BlockComment ¢
| |
APL | ⍝ InlineComment | |
AppleScript | -- InlineComment | (* BlockComment *) |
Montážní jazyk (liší se) | ; InlineComment jeden příklad (většina montážních jazyků používá pouze řádkové komentáře) | |
AutoHotkey | ; InlineComment | /* BlockComment */ |
AWK, Bash, Bourneova skořápka, C shell, Javor, R, Tcl, a Windows PowerShell | # InlineComment | <# BlockComment #> |
ZÁKLADNÍ (různé dialekty): | 'InlineComment (ne všechny dialekty)
| |
C (K&R, ANSI / C89 / C90), CHLAD, PL / I., a REXX | /* BlockComment */ | |
C (C99), C ++, Jít, Rychlý a JavaScript | // InlineComment | /* BlockComment */ |
C# | // InlineComment /// InlineComment (Komentář k dokumentaci XML) | /* BlockComment */ /** BlockComment */ (Komentář k dokumentaci XML) |
COBOL I na COBOL 85 | * InlineComment (* ve sloupci 7) | |
COBOL 2002 | *> InlineComment | |
Kučera | || InlineComment | |# BlockComment #|
|
Kobra | # InlineComment | /# BlockComment #/ (vnořitelný) |
D | // InlineComment /// Dokumentace InlineComment (ddoc komentáře) | /* BlockComment */ / ** Dokumentace BlockComment */ (ddoc komentáře)
|
DCL | $! InlineComment | |
ECMAScript (JavaScript, ActionScript, atd.) | // InlineComment | /* BlockComment */ |
Forth | InlineComment | ( BlockComment ) (jednořádkový i víceřádkový)
|
FORTRAN I do FORTRANU 77 | C InlineComment (C ve sloupci 1) | |
Fortran 90 | ! InlineComment | |
Haskell | -- InlineComment | {- BlockComment -} |
Jáva | // InlineComment | /* BlockComment */
|
Lisp a Systém | ; InlineComment | #| BlockComment |# |
Lua | -- InlineComment | --[==[ BlockComment]==] (variabilní počet = znaků) |
Javor | # InlineComment | (* BlockComment *) |
Mathematica | (* BlockComment *) | |
Matlab | % InlineComment | %{ Poznámka: Oba symboly procenta – závorka musí být jedinými znaky bez mezer na příslušných řádcích. |
Nim | # InlineComment | #[ BlockComment ]# |
Objekt Pascal (Delphi) | // InlineComment | (* BlockComment *) { BlockComment } |
OCaml | (* BlockComment (* nestable *) *) | |
Pascal, Modula-2, Modula-3, Oberon, a ML: | (* BlockComment *) | |
Perl a Rubín | # InlineComment | = začít (= konec v Ruby) (LUSK komentář k dokumentaci)
|
PHP | # InlineComment // InlineComment | /* BlockComment */ / ** Dokumentace BlockComment */ (Komentáře k dokumentu PHP ) |
PILOT | R:InlineComment | |
PLZ / SYS | ! BlockComment ! | |
PL / SQL a TSQL | -- InlineComment | /* BlockComment */ |
Prolog | % InlineComment | /* BlockComment */ |
Krajta | # InlineComment | ''' BlockComment ''' (Řetězec dokumentace když první řádek modulu, třídy, metody nebo funkce) |
Raku | # InlineComment | #`{
|
Červené | ; InlineComment | { BlockComment } |
Rez | // InlineComment
| /* BlockComment */ (vnořitelný)
|
SAS | * BlockComment; /* BlockComment */ | |
7. semeno | # InlineComment | (* BlockComment *) |
Simula | komentář BlockComment; ! BlockComment; | |
Pokec | "BlockComment" | |
Chytrý | {* BlockComment *} | |
Standardní ML | (* BlockComment *) | |
TeX, Latex, PostScript, Erlang, Elixír a Slang | % InlineComment | |
Texinfo | @C InlineComment
| |
TUTOR | * InlineComment příkaz $$ InlineComment | |
Visual Basic | ' InlineComment Rem InlineComment | |
Visual Basic .NET | ' InlineComment
| |
Vizuální prolog | % InlineComment | /* BlockComment */ |
Wolfram jazyk | (* BlockComment *) | |
Xojo | ' InlineComment // InlineComment rem InlineComment |
Viz také
- C syntaxe
- Syntaxe C ++
- Programovací jazyky složených závorek, široká rodina syntaxí programovacího jazyka
- Syntaxe Java
- Syntaxe JavaScriptu
- Syntaxe a sémantika PHP
- Syntaxe a sémantika jazyka Python
Reference
- ^ A b Pro více příkazů na jednom řádku
- ^ Tři různé druhy vět, z nichž každá odděluje fráze a jednotky odlišně:
- použití sériové klauzule go-on-token (viz středník): začít A; b; C konec - jednotky jsou prováděny v pořadí.
- vedlejší doložka pomocí a také token (viz. ","): začít a, b, c konec - pořadí provedení má být optimalizováno překladačem.
- paralelní klauzule pomocí a také token (viz. ","): par začít a, b, c konec - jednotky musí běžet v paralelních vláknech.
- ^ středník - výsledek ustupujícího příkazu skrytý, čárka - zobrazený výsledek
- ^ Referenční příručka Bash, 3.1.2.1 Úniková postava
- ^ Dokumentace Pythonu, 2. Lexikální analýza: 2.1.5. Explicitní spojení řádků
- ^ Mathworks.com Archivováno 7. února 2010 v Wayback Machine
- ^ https://ss64.com/nt/syntax-brackets.html
- ^ https://autohotkey.com/docs/Scripts.htm#continuation
- ^ Aby byl soubor M (zdroj MATLAB) přístupný podle názvu, musí být jeho nadřazený adresář ve vyhledávací cestě (nebo v aktuálním adresáři).
- ^ https://nim-lang.org/docs/manual.html#lexical-analysis-comments
- ^ A b „Mathworks.com“. Archivovány od originál dne 21. listopadu 2013. Citováno 25. června 2013.
- ^ „Algol68_revised_report-AB.pdf na PDF str. 61–62, původní dokument str. 121–122“ (PDF). Citováno 27. května 2014.
- ^ „HTML verze revidované zprávy Algol68 AB“. Archivovány od originál dne 17. března 2013. Citováno 27. května 2014.
- ^ A b „DLang.org, Lexical“. Citováno 27. května 2014.
- ^ „AutoItScript.com Reference klíčových slov, # comments-start“. Citováno 27. května 2014.
- ^ „slang-2.2.4 / src / slprepr.c - řádek 43 až 113“. Citováno 28. května 2014.
- ^ "Nim Manual".
- ^ „Tip v Pythonu: Víceřádkové řetězce můžete použít jako víceřádkové komentáře“, 11. září 2011, Guido van Rossum
- ^ „Dokumentace Perl 6 (syntaxe)“. docs.perl6.org. Komentáře. Citováno 5. dubna 2017.
- ^ „Komentáře Perl 6 POD“.
- ^ „POD 6 Perl (zkrácené bloky)“.