Dasturlash tillarini taqqoslash (sintaksis) - Comparison of programming languages (syntax)

Ushbu taqqoslash dasturlash tillari xususiyatlarini taqqoslaydi til sintaksisi (format) 50 dan ortiq kompyuter dasturlash tillari uchun.

Ifodalar

Dasturlash tili iboralar to'rtta sintaksis tuzilmalariga keng tasniflanishi mumkin:

prefiks belgisi
  • Lisp (* (+ 2 3) (expt 4 5))
infix notation
qo'shimchasi, postfiksi yoki Teskari Polsha yozuvlari
matematikaga o'xshash yozuv
  • TUTOR (2 + 3)(45) $$ eslatma ko'paytirish operatori

Bayonotlar

Dasturlash tili bayonotlar odatda quyidagilar uchun konventsiyalar mavjud:

  • bayonotlarni ajratuvchi vositalar;
  • bayonotni to'xtatuvchilar; va
  • chiziq davomi

Ikki alohida bayonotlar orasidagi chegaralarni belgilash uchun bayonot ajratuvchisi ishlatiladi. Shaxsiy bayonotning oxirini belgilash uchun bayonot terminatoridan foydalaniladi. Satrning oxirini bayonotning oxiri deb izohlaydigan tillarga "yo'nalishga yo'naltirilgan" tillar deyiladi.

"Chiziqni davom ettirish" - bu satrga yo'naltirilgan tillarda konventsiya bo'lib, unda yangi satr belgisi bayonot terminatori sifatida noto'g'ri talqin qilinishi mumkin. Bunday tillarda u bitta gapni bitta qatordan ko'proq qamrab olishga imkon beradi.

TilBayonnomani ajratuvchi-terminatorIkkilamchi ajratuvchi[1]
ABAPdavr ajratilgan
Adavergul tugadi
ALGOLvergul bilan ajratilgan
ALGOL 68vergul va vergul ajratilgan[2]
APLyangi raqam bekor qilindi ajratilgan
AppleScriptyangi raqam bekor qilindi
AutoHotkeyyangi raqam bekor qilindi
ASOSIYyangi raqam bekor qilindiyo'g'on ichak ajratilgan
Booyangi raqam bekor qilindi
Cnuqta-vergul bayonotlarni tugatadivergul ifodalarni ajratib turadi
C ++nuqta-vergul bayonotlarni tugatadivergul ifodalarni ajratib turadi
C #vergul tugatildi
COBOLbo'sh joy ajratilgan, ba'zan nuqta ajratilgan, ixtiyoriy ravishda vergul va yarim nuqta bilan ajratilgan.
Kobrayangi raqam bekor qilindi
CoffeeScriptyangi raqam bekor qilindi
CSSvergul bilan ajratilgan
D.vergul tugatildi
Eyfelyangi raqam bekor qilindivergul
Erlangyo'g'on ichak ajratilgan, muddat tugagan
F #yangi raqam bekor qilindivergul
Fortranyangi raqam bekor qilindivergul
To'rtinchinuqta-vergul so'z ta'riflarini bekor qiladi
GFA BASICyangi raqam bekor qilindi
Boringvergul bilan ajratilgan (kompilyator tomonidan kiritilgan)
Xaskell (notada)yangi qator ajratildi
Xaskell (brauzerlardan foydalanilganda)vergul bilan ajratilgan
Javavergul tugadi
JavaScriptvergul bilan ajratilgan (lekin ba'zida yangi qatorlarga bevosita kiritiladi)
Kotlinvergul bilan ajratilgan (lekin ba'zida yangi qatorlarga bevosita kiritiladi)
Luabo'sh joy ajratilgan (vergul-ixtiyoriy)
Matematikvergul bilan ajratilgan
MATLAByangi raqam bekor qilindivergul yoki vergul[3]
Ob'ekt Paskal (Delphi )vergul bilan ajratilgan
Maqsad-Cvergul tugatildi
OCamlvergul bilan ajratilgan
Paskalvergul bilan ajratilgan
Perlvergul bilan ajratilgan
PHPvergul tugatildi
Asosiyni tanlangyangi raqam bekor qilindivergul bilan ajratilgan
PowerShellyangi raqam bekor qilindivergul bilan ajratilgan
Prologvergul bilan ajratilgan (birikma), vergul bilan ajratilgan (disjunktsiya), nuqta tugadi (band)
Pythonyangi raqam bekor qilindivergul
Rakuvergul bilan ajratilgan
Qizilbo'sh joy ajratildi
Yoqutyangi raqam bekor qilindivergul
Zangnuqta-vergul bayonotlarni tugatadivergul ifodalarni ajratib turadi
Scalayangi satr bekor qilindi (nuqta-vergul ixtiyoriy)vergul
7. Urug 'vergul bilan ajratilgan (vergul bilan tugatishga ruxsat beriladi)
Simulavergul bilan ajratilgan
S-Langvergul bilan ajratilgan
Kichik munozarasidavr ajratilgan
Standart MLvergul bilan ajratilgan
Tezvergul bilan ajratilgan (kompilyator tomonidan kiritilgan)
Visual Basicyangi raqam bekor qilindiyo'g'on ichak ajratilgan
Visual Basic .NETyangi raqam bekor qilindiyo'g'on ichak ajratilgan
Wolfram tilivergul bilan ajratilgan
Xojoyangi raqam bekor qilindi
TilBayonnomani ajratuvchi-terminatorIkkilamchi ajratuvchi[1]

Chiziqning davomi

Chiziqni davom ettirish odatda bir qismi sifatida amalga oshiriladi leksik tahlil: yangi satr odatda token oqimiga belgi qo'shilishiga olib keladi, agar chiziq davomi aniqlanmasa.

Bo'shliq - davom ettirishga muhtoj bo'lmagan tillar
  • Ada - chiziqlar nuqta-vergul bilan tugaydi
  • C # - chiziqlar nuqta-vergul bilan tugaydi
  • JavaScript - chiziqlar nuqta-vergul bilan tugaydi (ular haqida xulosa qilish mumkin)
  • Lua
  • OCaml
Ampersand chiziqning oxirgi belgisi sifatida
Orqa chiziq chiziqning oxirgi belgisi sifatida
Backtick chiziqning oxirgi belgisi sifatida
Tire chiziqning oxirgi belgisi sifatida
Pastki chiziq chiziqning oxirgi belgisi sifatida
Ellipsis (uchta davr sifatida - bitta maxsus belgi emas)
  • MATLAB: Ellipsis belgisi satrdagi so'nggi belgilar bo'lmasligi kerak, ammo unga rioya qilingan har qanday kishi e'tiborga olinmaydi.[6] (Aslida, u kengaytirilgan sharhni boshlaydi orqali (ya'ni, shu jumladan) birinchi keyingi yangi satr belgisi. Buni kengaytirilgan ichki sharh bilan taqqoslang qadar birinchi keyingi yangi qator.)
Vergul bilan ajratuvchi chiziqning oxirgi belgisi sifatida
  • Ruby (izoh ajratuvchiga qarab ketishi mumkin)
Chap qavsni ajratuvchi chiziqning oxirgi belgisi sifatida
Operator chiziqning so'nggi ob'ekti sifatida
  • Ruby (izoh operatorni ta'qib qilishi mumkin)
Operator davom etgan qatorning birinchi belgisi sifatida
  • AutoHotkey: ++ va - dan tashqari har qanday ifoda operatorlari, shuningdek vergul yoki nuqta[8]
Orqa chiziq davom etgan qatorning birinchi belgisi sifatida
Ba'zi shakllari ichki sharh chiziq davomi sifatida xizmat qiladi
Belgining pozitsiyasi
  • Fortran 77: 6-ustunda bo'sh joy bo'lmagan belgi paydo bo'lsa, sharhlanmagan satr oldingi sharhlanmagan satrning davomi.
  • COBOL: String konstantalarini PICTURE bandidagi asl satrni tugatmasdan davom ettirish mumkin ', keyin a qo'shib qo'ying - 7-ustunda (. bilan bir xil holat * izoh uchun ishlatiladi.)
  • TUTOR: Yorliqdan boshlanadigan satrlar (kontekst talab qiladigan har qanday kirishdan keyin) oldingi buyruqni davom ettiradi.
Oddiy tirnoqlardan foydalanib [End va Begin]
  • C va C ++ oldingi protsessor: mag'lubiyat normal tugaydi va keyingi satrda tirnoq bilan boshlanib davom etadi.

Kutubxonalar

Kimga Import a kutubxona tashqi, ehtimol tuzilgan, muntazam ravishda, dasturlarni yoki paketlarni o'qish usuli. Import darajasi (modul, paket, sinf, protsedura, ...) va sintaksis (direktiv nomi, atributlar, ...) bo'yicha tasniflanishi mumkin.

Faylni import qilish


Paketni import qilish


Sinf importi
Protsedura / funktsiyalarni import qilish
  • dan modul Import funktsiya Python:
  • Import paket.module : belgi;, D.:
  • Import paket.module : altsymbolname = belgi; D.:
  • Import Modul (funktsiya) Xaskell:
  • Import funktsiya "modname" dan;, JavaScript:
  • Import {funktsiya} "modname";, JavaScript:
  • Import {funktsiya kabi familiya} "modname";JavaScript:
  • Import paket.funktsiya MATLAB:
  • Import paket.sinf.funktsiya, Scala:
  • Import paket.sinf.{ funktsiya => muqobilName, otherFunction }Scala:
  • moduldan foydalaning ('belgi');Perl:
  • funktsiyadan foydalanish Ism maydoni funktsiyasi_name;, PHP:
  • foydalanish Namespacefunction_name function_alias_name sifatida; PHP:
  • foydalanish modul::submodule::belgi;, Zang:
  • foydalanish modul::submodule::{belgi1, belgi2};, Zang:
  • foydalanish modul::submodule::belgi kabi familiya; Zang:


Doimiy import
  • constdan foydalaning Ism maydoniCONST_NAME; PHP

Yuqoridagi bayonotlar, shuningdek, sintaktik qulaylik (narsalar qisqartirilgan nom bilan atalishiga imkon beradi, lekin ularni import qilinmasdan ham to'liq malakali ism bilan atalishi mumkin) yoki ular aslida kirish huquqiga ega bo'ladimi-yo'qligi bilan tasniflanishi mumkin. kod (bu holda, hatto to'liq malakali ismlar bilan ham kodga kirish mumkin emas).

Sintaktik qulaylik
Kodga kirish uchun talab qilinadi

Bloklar

A blokirovka qilish bu bir butunni o'z ichiga oladigan tarzda bog'langan ikki yoki undan ortiq bayonotlar, iboralar yoki boshqa kod birliklari guruhi uchun yozuvdir.

Qavslar (a.a. jingalak qavslar) { ... }
Qavslar ( ... )
Kvadrat qavslar [ ... ]
boshlash ... oxiri
qil ... oxiri
qil ... amalga oshirildi
qil ... oxiri
  • Lua, Yoqut (bloklarni argument sifatida o'tkazing, uchun pastadir), 7. Urug ' (orasidagi tsikl tanalarini qamrab oladi qil va oxiri)
X ... oxiri (masalan, agar ... oxiri):
  • Yoqut (agar, esa, qadar, def, sinf, modul bayonotlar), OCaml (uchun & esa ilmoqlar), MATLAB (agar & almashtirish shartli, uchun & esa ilmoqlar, harakat qilib ko'ring band, paket, classdef, xususiyatlari, usullari, voqealar, & funktsiya bloklar), Lua (keyin / boshqa & funktsiya)
(boshlash ...)
(prognoz ...)
(qil ...)
Chiziq
Boshqalar

Izohlar

Izohlar quyidagicha tasniflanishi mumkin:

  • uslubi (ichki / blok)
  • tahlil qoidalari (e'tiborsiz / interpolatsiya qilingan / xotirada saqlanadi)
  • rekursivlik (joylashiladigan / joylashtirilmaydigan)
  • ishlatadi (dokstringlar / sharhlar / boshqa)

Ichki sharhlar

Ichki izohlar odatda a dan foydalanadigan sharhlardir yangi qator izohning oxirini ko'rsatadigan belgi va o'zboshimchalik bilan ajratuvchi yoki ketma-ketligi nishonlar sharhning boshlanishini ko'rsatish uchun.

Misollar:

BelgilarTillar
CFortran I to Fortran 77 gacha (1-ustundagi S)
REMASOSIY, Ommaviy fayllar
::Ommaviy fayllar, COMMAND.COM, cmd.exe
NB.J; (tarixiy jihatdan) umumiy qisqartirishdan Nota bene, lotincha "nota yaxshi" degan ma'noni anglatadi.
APL; mnemonik - glif (poyabzal pastga urilgan) stol chiroqchasiga o'xshaydi va shuning uchun yuqorida aytib o'tilganlarni "yoritadi".
#Bourne shell va boshqalar UNIX chig'anoqlari, Kobra, Perl, Python, Yoqut, 7. Urug ', Windows PowerShell, PHP, R, Qil, Chinor, Elixir, Nim[10]
%TeX, Prolog, MATLAB,[11] Erlang, S-Lang, Visual Prolog
//ActionScript, FZR (C99), C ++, C #, D., F #, Boring, Java, JavaScript, Kotlin, Ob'ekt Paskal (Delphi), Maqsad-C, PHP, Zang, Scala, SASS, Tez, Xojo
'Maymun, Visual Basic, VBScript, Kichik asosiy, Gambalar, Xojo
!Fortran, Basic Plus, xabar bering, Asosiyni tanlang
;O'rnatish x86, AutoHotkey, AutoIt, Lisp, Umumiy Lisp, Klojure, Rebol, Qizil, Sxema
--Eyforiya, Xaskell, SQL, Ada, AppleScript, Eyfel, Lua, VHDL, SGML, PureScript
*Assembler S / 360 (* 1-ustunda), COBOL Men COBOL 85 ga, PAW, Fortran IV dan Fortran 77 gacha (* 1-ustunda), Asosiyni tanlang
||Jingalak
"Vimscript, ABAP
To'rtinchi
*>COBOL 90

Fikrlarni bloklash

Bloklangan sharhlar, odatda, sharhning boshlanishini belgilash uchun ajratuvchi va sharhning oxirini ko'rsatish uchun boshqa ajratuvchidan foydalanadigan sharhlardir. Shu nuqtai nazardan, bo'sh joy va yangi qator belgilar ajratuvchi sifatida hisobga olinmaydi.

Misollar:

BelgilarTillar
sharh ~ ;ALGOL 60, SIMULA
¢ ~ ¢,
# ~ #, ko ~ ko,
sharh ~ sharh
ALGOL 68[12][13]
/* ~ */ActionScript, AutoHotkey, C, C ++, C #, D,[14] Boring, Java, JavaScript, kotlin, Maqsad-C, PHP, PL / I, Prolog, Rexx, Zang (joylashtirilgan bo'lishi mumkin), Scala (joylashtirilgan bo'lishi mumkin), SAS, SASS, SQL, Swift (joylashtirilishi mumkin), Visual Prolog, CSS
# dona ~ #ceAutoIt[15]
/+ ~ +/D (joylashtirilgan bo'lishi mumkin)[14]
/# ~ #/Kobra (joylashtirilgan bo'lishi mumkin)
<# ~ #>Kuchli qobiq
<!-- ~ -->HTML, XML
= boshlash ~ = kesilganPerl
#`( ~ )Raku (parantez belgilar (), <>, {}, [], BiDi oynali har qanday Unicode belgilar yoki Ps / Pe / Pi / Pf xususiyatlarga ega Unicode belgilar bo'lishi mumkin)
= boshlash ~ = oxiriYoqut
#<TAG > ~ #</TAG >, #To'xta ~ EOF,
#false ~ #endif, #fntrue ~ #endif,
# yolg'on bo'lsa ~ #endif, #if! rost ~ #endif
S-Lang[16]
{- ~ -}Xaskell (joylashtirilgan bo'lishi mumkin)
(* ~ *)Delphi, ML, Mathematica, Ob'ekt Paskal, Paskal, 7. Urug ', Olma, OCaml (joylashtirilgan bo'lishi mumkin), standart ML (joylashtirilgan bo'lishi mumkin), Maple, Gazeta, F #
{ ~ }Delphi, Ob'ekt Paskal, Paskal, Qizil
{# ~ #}Nunjaklar, Twig
{{! ~ }}Mo'ylov, Rullar
{{!-- ~ --}}Rullar (joylashtirilmaydi, lekin o'z ichiga olishi mumkin {{ va }})
|# ~ #|Jingalak
%{ ~ %}MATLAB[11] (belgilar alohida satrda bo'lishi kerak)
#| ~ |#Lisp, Sxema, Raketka (uchalasida ham joylashtirilgan bo'lishi mumkin).
#[ ~ ]#Nim[17]
--[[ ~ ]],
--[=[ ~ ]=],
--[=...=[ ~ ]=...=]
Lua (qavslar har qanday mos keladigan = belgidan iborat bo'lishi mumkin; mos kelmaydigan ajratuvchilar ichida joylashtirilishi mumkin)
" ~ "Kichik munozarasi
(sharh ~ )Klojure

Noyob variantlar

Fortran
  • Chiziq chiziqlari Fortran 66/77 ahamiyatli. Haqiqiy bayon satrning 7 dan 72 gacha ustunlarida joylashgan. 6-ustundagi har qanday bo'sh joy bo'lmagan belgi bu satr oldingi satrning davomi ekanligini ko'rsatadi. A 'C1-ustunda ushbu satr izoh ekanligini bildiradi. 5-ustunlardagi 1-ustunda yorliq vazifasini bajaradigan raqam bo'lishi mumkin. 73-ustunlar, ammo 80 ga e'tibor berilmaydi va sharhlar uchun ishlatilishi mumkin; ichida perforatorlar kunlari, ushbu ustunlar ko'pincha tartib raqamini o'z ichiga olgan, shuning uchun kimdir kartalarni tasodifan tashlab yuborgan bo'lsa, kartalar pastki qismi to'g'ri tartibda saralanishi mumkin. Fortran 90 indentatsiya qoidasini bekor qildi va ichidagi sharhlarni qo'shdi ! izoh ajratuvchi sifatida belgi.
COBOL
  • Ruxsat etilgan formatdagi kodda chiziq chizig'i muhim ahamiyatga ega. 1-6 ustunlar va 73 dan boshlab ustunlar e'tiborga olinmaydi. Agar a * yoki / 7-ustunda, keyin bu satr sharhdir. COBOL 2002 yilgacha, agar a D. yoki d 7-ustunda bo'lgan bo'lsa, u "tuzatuvchi satr" ni belgilaydi, agar kompilyatorga uni kompilyatsiya qilish bo'yicha ko'rsatma berilmasa, e'tiborga olinmaydi.
Kobra
  • Cobra blokirovka qilingan sharhlarni "bilan qo'llab-quvvatlaydi./# ... #/"bu o'xshash"/* ... */"ko'pincha C-ga asoslangan tillarda uchraydi, lekin ikkita farq bilan # belgi bir qatorli sharh shaklidan qayta foydalanilgan "# ... ", va blokirovka qilingan izohlar joylashtirilishi mumkin, bu kodning katta bloklarini sharhlash uchun qulaydir.
Jingalak
  • Curl, foydalanuvchi tomonidan belgilangan teglar bilan blokirovka qilingan sharhlarni qo'llab-quvvatlaydi | foo # ... #foo |.
Lua
  • Xom simlar singari, to'rtburchak qavslar orasida har qanday tenglik belgilari bo'lishi mumkin, agar ikkala ochilish va yopish teglari teng keladigan belgilarga ega bo'lsa; bu ichki joylashtirilgan blokli sharhlar / xom satrlar o'zlarining qo'shib qo'yilgan sharhlaridan farqli o'laroq tenglik belgilaridan foydalangan ekan, bu joylashtirishga imkon beradi: - [[sharh - [= [ichki sharh] =]]]. Lua ochilish yorlig'iga to'g'ridan-to'g'ri ergashgan birinchi yangi qatorni (agar mavjud bo'lsa) yo'q qiladi.
Perl
  • Perl-dagi blokirovka qilingan sharhlar hujjatning bir qismi hisoblanadi va ularga nom beriladi Oddiy eski hujjatlar (POD). Texnik jihatdan Perl-da blokirovka qilingan izohlarni manba kodiga qo'shish bo'yicha kelishuv mavjud emas, ammo POD muntazam ravishda vaqtinchalik echim sifatida ishlatiladi.
PHP
  • PHP standart C / C ++ uslubidagi sharhlarni qo'llab-quvvatlaydi, ammo Perl uslubini ham qo'llab-quvvatlaydi.
Python
  • Manba satrlarini sharhlash uchun uchta kotirovkadan foydalanish aslida sharh hosil qilmaydi.[18] Yopiq matn Python odatda e'tiborsiz qoldiradigan satr harfiga aylanadi (agar u modul, sinf yoki funktsiya tanasida birinchi gap bo'lsa, bundan tashqari; qarang dokstring ).
Raku
  • Raku foydalanadi #`(...) bloklangan sharhlarni belgilash uchun.[19] Raku aslida har qanday "o'ng" va "chap" juft qavslardan foydalanishga ruxsat beradi #` (ya'ni #`(...), #`[...], #`{...}, #`<...>va undan ham murakkabroq #`{{...}} barchasi blokli sharhlardir). Qavslarni sharhlar ichiga joylashtirishga ruxsat beriladi (ya'ni.) # `{a {b} c} oxirgi yopuvchi qavsga o'tadi).
Yoqut
  • Ruby-dagi sharhni bloklash soatida ochiladi = boshlash chiziq va yopiladi = oxiri chiziq.
S-Lang
  • Bilan yopilgan chiziqlar mintaqasi # va # ajratuvchilar tarjimon tomonidan e'tiborga olinmaydi. Yorliq nomi ilova qilingan blokni qanday ochilishini ko'rsatish uchun ishlatilishi mumkin bo'lgan harf-raqamli belgilar ketma-ketligi bo'lishi mumkin. Masalan, # LaTeX formatlangan hujjatlar blokining boshlanishini ko'rsatishi mumkin.
Sxema va raketka
  • Keyingi to'liq sintaktik komponent (s-ifodasi) bilan izohlash mumkin #; .
ABAP

ABAP ikki xil sharhlarni qo'llab-quvvatlaydi. Agar chiziqning birinchi belgisi, shu jumladan chiziq, yulduzcha bo'lsa (*) butun satr sharh sifatida qaraladi, bitta qo'shiq tirnoq (") satr oxirigacha harakat qiladigan in-line commet boshlanadi. ABAP izohlari bayonotlar orasida mumkin emas EXEC SQL va ENDEXEC chunki Native SQL-da ushbu belgilar uchun boshqa qo'llanmalar mavjud. Ko'pgina SQL dialektlarida ikkita chiziqcha (--) o'rniga ishlatilishi mumkin.

Ezoterik tillar

Izohlarni taqqoslash

Manba kodida izohlarni e'lon qilish uchun turli xil sintaksis uslublari mavjud.BlockComment blokirovka qilingan sharh uslubini ko'rsatish uchun kursivda bu erda ishlatiladi.InlineComment kursivda bu erda ichki izoh uslubini ko'rsatish uchun foydalaniladi.

TilQatorli sharhIzohni bloklash
Ada, Eyfel, Eyforiya, Okkam, Uchqun, ANSI SQL va VHDL-- InlineComment
ALGOL 60sharh BlockComment;
ALGOL 68¢ BlockComment ¢

sharh BlockComment sharh
ko BlockComment ko
# BlockComment #
£ BlockComment £

APLInlineComment
AppleScript-- InlineComment(* BlockComment *)
Assambleya tili (farq qiladi); InlineComment bitta misol (aksariyat yig'ilish tillarida faqat satr izohlari ishlatiladi)
AutoHotkey; InlineComment/* BlockComment */
AWK, Bosh, Bourne shell, C qobig'i, Chinor, R, Tcl va Windows PowerShell# InlineComment<# BlockComment #>
ASOSIY (turli lahjalar):'InlineComment (hamma shevalarda emas)

REM InlineComment

C (K&R, ANSI / C89 / C90), CHILL, PL / I va REXX/* BlockComment */
FZR (C99), C ++, Boring, Tez va JavaScript// InlineComment/* BlockComment */
C #// InlineComment
/// InlineComment (XML hujjatlari sharhi)
/* BlockComment */
/** BlockComment */ (XML hujjatlari sharhi)
COBOL Men COBOL 85 ga * InlineComment (* 7-ustunda)
COBOL 2002 yil*> InlineComment
Jingalak|| InlineComment|# BlockComment #|

| foo # BlockComment #|

Kobra# InlineComment/# BlockComment #/ (uylanadigan)
D.// InlineComment
/// Hujjatlar InlineComment (ddoc Izohlar)
/* BlockComment */
/ ** Hujjatlar BlockComment */ (ddoc Izohlar)

/+ BlockComment +/ (uylanadigan)
/ ++ Hujjatlar BlockComment +/ (uylanadigan, ddoc Izohlar)

DCL$! InlineComment
ECMAScript (JavaScript, ActionScript, va boshqalar.)// InlineComment/* BlockComment */
To'rtinchi InlineComment( BlockComment ) (bitta qator va ko'p qatorli)

( oldin -- keyin ) stack comment konvensiyasi

FORTRAN Men FORTRAN 77 gaC InlineComment (1-ustundagi S)
Fortran 90! InlineComment
Xaskell-- InlineComment{- BlockComment -}
Java// InlineComment/* BlockComment */

/** BlockComment */ (Javadoc hujjatlar sharhi)

Lisp va Sxema; InlineComment#| BlockComment |#
Lua-- InlineComment --[==[ BlockComment]==] (o'zgaruvchan soni = belgilar)
Chinor# InlineComment(* BlockComment *)
Matematik(* BlockComment *)
Matlab% InlineComment%{
BlockComment (joylashtiriladigan)
%}

Izoh: Qavslar foizining ikkala belgisi ham o'z satrlarida bo'sh joy bo'lmagan yagona belgi bo'lishi kerak.
Nim# InlineComment#[ BlockComment ]#
Ob'ekt Paskal (Delphi)// InlineComment(* BlockComment *)
{ BlockComment }
OCaml(* BlockComment (* nestable *) *)
Paskal, Modula-2, Modula-3, Oberon va ML:(* BlockComment *)
Perl va Yoqut# InlineComment= boshlash
BlockComment
= kesilgan
(= oxiri Ruby-da) (POD hujjatlar sharhi)

__OXIRI__
Kod tugaganidan keyin sharhlar

PHP# InlineComment
// InlineComment
/* BlockComment */
/ ** Hujjatlar BlockComment */ (PHP Doc sharhlari )
Uchuvchi samolyotR:InlineComment
PLZ / SYS! BlockComment !
PL / SQL va TSQL-- InlineComment/* BlockComment */
Prolog% InlineComment/* BlockComment */
Python# InlineComment''' BlockComment '''
""" BlockComment """

(Hujjatlar qatori birinchi qatorda modul, sinf, usul yoki funktsiya)

Raku# InlineComment#`{
BlockComment
}

= sharh
Ushbu sharh xatboshisi keyingi POD ko'rsatmasiga qadar davom etadi
yoki birinchi bo'sh satr.
[20][21]

Qizil; InlineComment{ BlockComment }
Zang// InlineComment

/// InlineComment ("Tashqi" rustdoc izohi)
//! InlineComment ("Ichki" rustdoc izohi)

/* BlockComment */ (uylanadigan)

/** BlockComment */ ("Tashqi" rustdoc izohi)
/*! BlockComment */ ("Ichki" rustdoc izohi)

SAS* BlockComment;
/* BlockComment */
7. Urug '# InlineComment(* BlockComment *)
Simulasharh BlockComment;
! BlockComment;
Kichik munozarasi"BlockComment"
Aqlli{* BlockComment *}
Standart ML(* BlockComment *)
TeX, LaTeX, PostScript, Erlang, Elixir va S-Lang% InlineComment
Texinfo@c InlineComment

@ sharh InlineComment

TUTOR* InlineComment
buyruq $$ InlineComment
Visual Basic' InlineComment
Rem InlineComment
Visual Basic .NET' InlineComment

''' InlineComment (XML hujjatlari sharhi)
Rem InlineComment

Visual Prolog% InlineComment/* BlockComment */
Wolfram tili(* BlockComment *)
Xojo' InlineComment
// InlineComment
rem InlineComment

Shuningdek qarang

Adabiyotlar

  1. ^ a b Bir satrda bir nechta bayonotlar uchun
  2. ^ Uch xil turdagi iboralar, ularning har biri iboralarni va birliklarni turlicha ajratadi:
      1. ketma-ket foydalanish belgi (ya'ni vergul): boshlash a; b; v oxiri - birliklar tartibda bajariladi.
      2. foydalanish garov-bandi va-token (ya'ni ","): boshlash a, b, c oxiri - bajarish tartibi kompilyator tomonidan optimallashtirilishi kerak.
      3. parallel-band yordamida va-token (ya'ni ","): par boshlanadi a, b, c oxiri - birliklar parallel iplarda bajarilishi kerak.
  3. ^ nuqta-vergul - qaytarib olingan natija yashiringan, vergul - natija ko'rsatiladi
  4. ^ Bash uchun qo'llanma, 3.1.2.1 Qochish belgisi
  5. ^ Python hujjatlari, 2. Leksik tahlil: 2.1.5. Aniq qo'shilish
  6. ^ Mathworks.com Arxivlandi 2010 yil 7 fevral Orqaga qaytish mashinasi
  7. ^ https://ss64.com/nt/syntax-brackets.html
  8. ^ https://autohotkey.com/docs/Scripts.htm#continuation
  9. ^ M-faylga (MATLAB manbasiga) nom bilan kirish uchun uning ota-katalogi qidiruv yo'lida (yoki joriy katalogda) bo'lishi kerak.
  10. ^ https://nim-lang.org/docs/manual.html#lexical-analysis-comments
  11. ^ a b "Mathworks.com". Arxivlandi asl nusxasi 2013 yil 21-noyabrda. Olingan 25 iyun 2013.
  12. ^ "Algol68_revised_report-AB.pdf PDF-dagi 61-62 betlar, hujjatning asl nusxasi 121-122 betlar." (PDF). Olingan 27 may 2014.
  13. ^ "Algol68 qayta ko'rib chiqilgan AB hisobotining HTML versiyasi". Arxivlandi asl nusxasi 2013 yil 17 martda. Olingan 27 may 2014.
  14. ^ a b "DLang.org, leksik". Olingan 27 may 2014.
  15. ^ "AutoItScript.com kalit so'ziga havola, # ta sharh-boshlash". Olingan 27 may 2014.
  16. ^ "slang-2.2.4 / src / slprepr.c - qator 43 dan 113 gacha". Olingan 28 may 2014.
  17. ^ "Nim qo'llanma".
  18. ^ "Python maslahati: Ko'p qatorli satrlarni ko'p satrli izoh sifatida ishlatishingiz mumkin", 2011 yil 11 sentyabr, Gido van Rossum
  19. ^ "Perl 6 hujjatlari (sintaksis)". docs.perl6.org. Izohlar. Olingan 5 aprel 2017.
  20. ^ "Perl 6 POD sharhlari".
  21. ^ "Perl 6 POD (qisqartirilgan bloklar)".