Birleştirilmiş Dil Bilgisi

Sözcük dilbilgisi

sözcüksel birim:
      sözcük temelli öğelertercihi
sözcük temelli öğeler:
      sözcük temelli öğe sözcük temelli-öğelertercihi
sözcük temelli öğe:
      boşluk
      token
      Yorum

Boşluk

Boşluk:
      Unicode sınıf Z'leri olan herhangi bir karakter
      Yatay sekme karakteri (U+0009)
      Dikey sekme karakteri (U+000B)
      Form akışı karakteri (U+000C)
      Satır başı karakteri (U+000D) ve ardından satır besleme karakteri (U+000A) yeni satır karakteri
new-line-character:

      Satır başı karakteri (U+000D)
      Satır besleme karakteri (U+000A)
      Sonraki satır karakteri (U+0085)
      Çizgi ayırıcı karakteri (U+2028)
      Paragraf ayırıcı karakteri (U+2029)

Yorum

Yorum:
      tek satırlı açıklama
      sınırlandırılmış açıklama

tek satırlı açıklama:
      //tek satırlı-açıklama-karakterlerseç
tek satırlı açıklama karakterleri:
      tek satırlı-açıklama-karakteri tek satır-açıklama-karakterleriseç
tek satırlı açıklama-karakteri:

      Yeni satır karakteri dışında herhangi bir Unicode karakteri
sınırlandırılmış açıklama:

      /*delimited-comment-textopt yıldız işareti/
sınırlandırılmış-açıklama-metni:
      delimited-comment-section delimited-comment-textopt
delimited-comment-section:

      /
      yıldız işaretitercihi eğik çizgi veya yıldız işareti değil
Yıldız:

      *yıldız işareti tercihi
eğik çizgi veya yıldız işareti değil:

      veya dışında * herhangi bir Unicode karakteri /

Belirteçler

Belirte -ci:
      identifier
      Anahtar kelime
      değişmez değer
      işleç veya noktalama işareti

Karakter kaçış dizileri

character-escape-sequence:
      #(escape-sequence-list)
escape-sequence-list:
      tek kaçış dizisi
      escape-sequence-list
,single-escape-sequence
tek kaçış dizisi:
      long-unicode-escape-sequence
      short-unicode-escape-sequence
      control-character-escape-sequence
      kaçış-kaçış
long-unicode-escape-sequence:
      onaltılık basamaklı onaltılık basamaklı onaltılık basamak onaltılık onaltılık basamak
short-unicode-escape-sequence:
      onaltılık basamaklı onaltılık basamaklı onaltılık basamak
control-character-escape-sequence:
      control-character
control-character:

      cr
      lf
      tab
kaçış-kaçış:
      #

Değişmez Değerler

Literal:
      mantıksal değişmez değer
      sayı değişmez değeri
      metin değişmez değeri
      null-değişmez değer
      verbatim-literal
mantıksal-değişmez değer:
      true
      false
sayı değişmez değeri:
      ondalık-sayı-değişmez değeri
      onaltılık-sayı-değişmez değeri
ondalık basamaklar:
      ondalık-basamak ondalık-basamaklaropt
ondalık basamak:
biri
      0 1 2 3 4 5 6 7 8 9
onaltılık-sayı-değişmez değeri:
      0xonaltılık basamaklar
      0Xonaltılık basamaklar
onaltılık basamaklar:
      onaltılık basamaklı onaltılık basamaklaropt
onaltılık basamak:
biri
      0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e f
ondalık-sayı-değişmez değeri:
      ondalık basamaklar
.ondalık basamaklar üstel-bölümtercihi
      .ondalık basamaklar üs bölümütercihi
      ondalık basamaklar üs bölümütercihi
üs bölümü:

      esignopt decimal-digits
      Esignopt decimal-digits
sign:
biri
      + -
metin değişmez değeri:
      "text-literal-charactersopt"
text-literal-characters:
      text-literal-character text-literal-charactersopt
metin-değişmez-karakteri:
      tek metinli karakter
      character-escape-sequence
      çift tırnak-kaçış dizisi
tek metin karakterli:

      () veya # (U+0022U+0023) dışında " ve ardından ( (U+0028) gelen herhangi bir karakter
double-quote-escape-sequence:
      "" (U+0022, U+0022)
null-değişmez değer:
      null
verbatim-literal:
      #!"text-literal-charactersopt"

Identifiers

Tanımlayıcı:
      normal tanımlayıcı
      quoted-identifier
normal tanımlayıcı:
      available-identifier
      kullanılabilir-tanımlayıcı nokta karakter normal-tanımlayıcı
available-identifier:

      Anahtar sözcük olmayan anahtar sözcük veya tanımlayıcı
anahtar sözcük veya tanımlayıcı:
      harf karakteri
      alt çizgi-karakter
      identifier-start-character identifier-part-characters
identifier-start-character:
      harf karakteri
      alt çizgi-karakter
identifier-part-characters:
      identifier-part-character identifier-part-charactersopt
identifier-part-character:
      harf karakteri
      ondalık basamak-karakter
      alt çizgi-karakter
      bağlantı karakteri
      combining-character
      biçimlendirme karakteri
genelleştirilmiş tanımlayıcı:
      genelleştirilmiş-tanımlayıcı-bölümü
      yalnızca boşluklarla ayrılmış genelleştirilmiş-tanımlayıcı
(U+0020) genelleştirilmiş-tanımlayıcı-bölümü
generalized-identifier-part:
      genelleştirilmiş-tanımlayıcı-segment
      decimal-digit-character generalized-identifier-segment
genelleştirilmiş-tanımlayıcı-segment:
      anahtar sözcük veya tanımlayıcı
      anahtar sözcük-veya-tanımlayıcı nokta karakter anahtar sözcük-veya-tanımlayıcı
nokta karakteri:

      . (U+002E)
underscore-character:
      _ (U+005F)
letter-character:_
      Lu, Ll, Lt, Lm, Lo veya Nl sınıflarının Unicode karakteri
combining-character:
      Mn veya Mc sınıflarının Unicode karakteri
decimal-digit-character:
      Nd sınıfının Unicode karakteri
connecting-character:
      Pc sınıfının Unicode karakteri
biçimlendirme karakteri:
      Cf sınıfının Unicode karakteri
quoted-identifier:
      #"text-literal-charactersopt"

Anahtar sözcükler ve önceden tanımlanmış tanımlayıcılar

Önceden tanımlanmış tanımlayıcılar ve anahtar sözcükler yeniden tanımlanamaz. Tırnak içine alınmış bir tanımlayıcı, önceden tanımlanmış tanımlayıcılar veya anahtar sözcüklerle aksi takdirde çakılan tanımlayıcıları işlemek için kullanılabilir.

anahtar sözcük: biri
and as each else error false if in is let meta not null or otherwise
      section shared then true try type #binary #date #datetime
      #datetimezone #duration #infinity #nan #sections #shared #table #time

İşleçler ve noktalama işaretleri

işleç veya noktalama işareti: şunlardan biri
      , ; = < <= > >= <> + - * / & ( ) [ ] { } @ ? ?? => .. ...

Bozulmamış dil bilgisi

Belgeler

Belge:
      bölüm-belge
      ifade-belge

Bölüm Belgeleri

section-document:
      section
Bölüm:
      değişmez-değer öznitelikleri,
sectionbölüm-adı;bölüm-üyelerini seç
bölüm adı:
      identifier
bölüm üyeleri:
      section-member section-membersopt
section-member:
      değişmez-değer öznitelikleri, paylaşılanopt section-member-name
=ifadesini tercih eder;
section-member-name:
      Tanımlayıcı

İfade Belgeleri

İfadeler

expression-document:
      ifade
Ifa -de:
      mantıksal veya ifade
her ifade
      işlev-ifadesi
      let-expression
      if-ifadesi
      error-raising-expression
      hata işleme-ifadesi

Mantıksal ifadeler

mantıksal veya ifade:
      mantıksal ve ifade
      mantıksal ve ifade
ormantıksal veya ifade
mantıksal ve ifade:
      is-ifadesi
      mantıksal ve-ifade
andis-ifadesi

is ifadesi

is-ifadesi:
      ifade olarak
      is-expression
isnullable-primitive-type
nullable-primitive-type:

      nullableilkel türü seç

İfade olarak

ifade olarak:
      eşitlik-ifade
      as-expression
asnullable-primitive-type

Eşitlik ifadesi

eşitlik-ifade:
      ilişkisel ifade
      ilişkisel-ifade
=eşitlik-ifadesi
      ilişkisel-ifade
<>eşitlik-ifadesi

İlişkisel ifade

ilişkisel ifade:
      additive-expression
      ekleme-ifadesi
<ilişkisel-ifade
      ekleme-ifadesi
>ilişkisel-ifade
      ekleme-ifadesi
<=ilişkisel-ifade
      ekleme-ifadesi
>=ilişkisel-ifade

Aritmetik ifadeler

additive-expression:
      çarpımlı ifade
      çarpımsal-ifade
+ekleme-ifadesi
      çarpımsal-ifade
-ekleme-ifadesi
      multiplicative-expression
& _additive-expression
çarpımlı ifade:
      meta veri-ifade
      meta veri-ifadesi
*çarpımlı-ifade
      meta veri-ifadesi
/çarpımlı-ifade

Meta veri ifadesi

meta veri-ifadesi:
      birli ifade
      birli ifade
metabirli ifade

Birli ifade

birli ifade:
      type-expression

      +birli ifade
      -birli ifade
      notbirli ifade

Birincil ifade

birincil ifade:
      değişmez-değer ifadesi
      list-expression
      kayıt ifadesi
      tanımlayıcı-ifade
      section-access-expression
      parantezli ifade
      field-access-expression
      item-access-expression
      invoke-expression
      uygulanmamış-ifade

Değişmez değer ifadesi

değişmez-değer ifadesi:
      Literal

Tanımlayıcı ifadesi

identifier-expression:
      tanımlayıcı-başvuru
identifier-reference:
      exclusive-identifier-reference
      inclusive-identifier-reference
exclusive-identifier-reference:
      identifier
inclusive-identifier-reference:

      @identifier

Bölüm erişimi ifadesi

section-access-expression:
      tanımlayıcı tanımlayıcısı
!

Parantez içinde ifade

parantez-ifade:
      (Ifa -de)

Uygulanmamış ifade

not-implemented-expression:
      ...

İfadeyi çağırma

invoke-expression:
      birincil-ifade
(bağımsız değişken-listesitercihi)
argument-list:
      ifade
      ifade
,bağımsız değişken-listesi

Liste ifadesi

list-expression:
      {öğe listesitercihi}
öğe-listesi:
      öğe
      öğe
,öğesi-listesi
Öğe:
      ifade
      ifade
..ifadesi

Kayıt ifadesi

kayıt-ifadesi:
      [alan listesitercihi]
alan-listesi:
      alan
      alan
,alanı-listesi
Alan:
      alan adı
=ifadesi
alan-adı:
      genelleştirilmiş tanımlayıcı
      quoted-identifier

Öğe erişim ifadesi

item-access-expression:
      öğe seçimi
      isteğe bağlı-öğe-seçimi
öğe seçimi:
birincil-ifade
{öğe seçicisi}
isteğe bağlı-öğe-seçimi:
      birincil-ifade
{öğe seçicisi} ?
öğe seçici:
      Ifa -de

Alan erişim ifadeleri

field-access-expression:
      alan seçimi
      örtük hedef-alan-seçimi
      Projeksiyon
      örtük hedef yansıtma
alan seçimi:
      birincil-ifade alan seçicisi
alan seçici:
      required-field-selector
      isteğe bağlı-alan seçici
required-field-selector:

      [alan adı]
optional-field-selector:
      [alan adı] ?
örtük-hedef-alan-seçimi:
      alan seçici
Projeksiyon:
      birincil-ifade gerekli-projeksiyon
      birincil-ifade isteğe bağlı-projeksiyon
required-projection:_
      [required-selector-list]
isteğe bağlı yansıtma:
      [required-selector-list] ?
required-selector-list:
      required-field-selector
      required-field-selector
,required-selector-list
örtük hedef-projeksiyon:
      gerekli yansıtma
      isteğe bağlı yansıtma

İşlev ifadesi

işlev-ifadesi:
      (parametre-listesiopt)dönüş türüopt=>işlev gövdesi
işlev gövdesi:
      ifade
parameter-list:
      fixed-parameter-list
      fixed-parameter-list
,optional-parameter-list
      optional-parameter-list
fixed-parameter-list:
      parametre
      parameter
,fixed-parameter-list
Parametre:
      parametre-adı primitive-parameter-typeopt
parametre-adı:
      identifier
primitive-parameter-type:
      primitive-assertion
dönüş türü:
      primitive-assertion
primitive-assertion:

      asnullable-primitive-type
optional-parameter-list:
      optional-parameter
      optional-parameter
,optional-parameter-list
optional-parameter:

      optionalParametre

Her ifade

her ifade:
      eacheach-expression-body
each-expression-body:
      işlev gövdesi

let ifadesi

let-expression:
      letdeğişken-listeinifadesi
değişken listesi:
      değişken
      değişken
,değişken-listesi
Değişken:
      değişken-ad
=ifadesi
değişken-adı:
      Tanımlayıcı

If ifadesi

if-ifadesi:
      ifif-conditionthentrue-expressionelsefalse-expression
if-condition:
      ifade
true-expression:
      ifade
yanlış ifade:
      Ifa -de

Tür ifadesi

tür-ifadesi:
      birincil ifade

      typebirincil tür
type:
      birincil ifade
      birincil tür
birincil tür:
      ilkel tür
      kayıt türü
      liste türü
      işlev türü
      tablo türü
      nullable-type
ilkel tür:
biri
      any anynonnull binary date datetime datetimezone duration function
      list logical none null number record table text time type
kayıt türü:
      [open-record-marker]
      [field-specification-listopt]
      [alan belirtimi-listesi,open-record-marker]
field-specification-list:
      alan belirtimi
      alan belirtimi
,alan-belirtimi-listesi
alan belirtimi:

      optionalopt alan-adı alan-türü-belirtimiopt
alan türü belirtimi:

      =alan türü
alan türü:
      Tür
open-record-marker:

      ...
liste türü:
      {öğe türü}
öğe türü:
      Tür
işlev türü:

      function (parameter-specification-listopt)return-type
parameter-specification-list:
      required-parameter-specification-list
      required-parameter-specification-list
,optional-parameter-specification-list
      optional-parameter-specification-list
required-parameter-specification-list:
      required-parameter-specification
      required-parameter-specification
,required-parameter-specification-list
required-parameter-specification:
      parametre belirtimi
optional-parameter-specification-list:
      optional-parameter-specification
      optional-parameter-specification
,optional-parameter-specification-list
optional-parameter-specification:

      optionalparametre belirtimi
parametre belirtimi:
      parametre-adı parametre-türü
parametre türü:
      assertion
Iddia:

      asTürü
tablo türü:

      tablesatır türü
satır türü:

      [field-specification-listopt]
null atanabilir tür:
      nullabletype

İfade oluşturma hatası

error-raising-expression:
      error Ifa -de_

Hata işleme ifadesi

error-handling-expression:
      tryprotected-expression error-handleropt
protected-expression:
      ifade
hata işleyicisi:
      otherwise yan tümcesi
      catch-yan tümcesi
otherwise-yan tümcesi:

      otherwisedefault-expression
default-expression:
      Ifa -de
catch-yan tümcesi:
      catchcatch-function
catch-function:
      (parametre-adıopt=>)işlev gövdesi

Değişmez Değer Öznitelikleri

değişmez-değer öznitelikleri:
      kayıt değişmez değeri
kayıt değişmez değeri:

      [değişmez-değer-alan-listesiopt]
değişmez-değer-alan-listesi:
      değişmez değer alanı
      değişmez-değer-alan
,değişmez-alan-listesi
değişmez değer alanı:
      alan-adı
=any-değişmez değeri
list-literal:

      {değişmez-değer-öğe-listesiopt}
değişmez-değer-öğe-listesi:
      herhangi bir değişmez değer
      herhangi bir değişmez değer
,değişmez-öğe-listesi
herhangi bir değişmez değer:
      kayıt değişmez değeri
      list-literal
      mantıksal değişmez değer
      sayı değişmez değeri
      metin değişmez değeri
      null-değişmez değer