Konszolidált nyelvhelyesség

Lexikális nyelvhelyesség

lexikális egység:
      lexikális elemekopt
lexikális elemek:
      lexikális-elem lexikális elemekopt
lexikális elem:
      Szóköz
      jogkivonat
      Megjegyzést

Üres terület

Szóköz:
      Bármely karakter Unicode-osztály Zs-sel
      Vízszintes tabulátor karakter (U+0009)
      Függőleges tabulátor karakter (U+000B)
      Űrlapcsatorna karaktere (U+000C)
      Kocsivissza karakter (U+000D) és vonalcsatorna karakter (U+000A) new-line-character
new-line-character:

      Kocsivissza karakter (U+000D)
      Vonalcsatorna karakter (U+000A)
      Következő sor karaktere (U+0085)
      Vonalelválasztó karakter (U+2028)
      Bekezdéselválasztó karakter (U+2029)

Megjegyzés

Megjegyzést:
      egysoros megjegyzés
      tagolt-megjegyzés

egysoros megjegyzés:
      //egysoros megjegyzéskarakterek
egysoros megjegyzéskarakterek:
      egysoros megjegyzés-karakter egysoros-megjegyzéskarakterek
egysoros megjegyzés karakter:

      Bármely Unicode-karakter, kivéve az új sorkarakte-karaktereket
tagolt-megjegyzés:

      /*elválasztójeles-comment-textopt asterisks/
tagolt-megjegyzés-szöveg:
      elválasztójeles-comment-section elválasztójeles-comment-textopt
tagolt-comment-section:

      /
      a csillagoknem perjelet vagy csillagot választanak
Csillagocska:

      *csillag opt
nem perjel vagy csillag:

      Bármely Unicode-karakter, kivéve * vagy /

Tokenek

Token:
      Azonosító
      Kulcsszó
      Szó
      operátor vagy írásjel

Karakteres feloldósorozatok

karakter-escape-sequence:
      #(escape-sequence-list)
escape-sequence-list:
      egymeneküléses sorozat
      escape-sequence-list
,single-escape-sequence
egymeneküléses sorozat:
      long-unicode-escape-sequence
      rövid unicode-escape-sequence
      control-character-escape-sequence
      menekülési-menekülési
long-unicode-escape-sequence:
      hex-digit hex-digit hex-digit hex-digit hex-digit hex-digit hex-digit hex-digit hex-digit hex-digit
rövid unicode-escape-sequence:
      hex-digit hex-digit hex-digit hex-digit hex-digit
control-character-escape-sequence:
      vezérlőelem-karakter
vezérlőkarakte:

      cr
      lf
      tab
escape-escape:
      #

Literálok

Szó:
      logikai-literál
      szám-literál
      szövegkonstans
      null-literál
      verbatim-literál
logikai-literál:
      true
      false
szám-literál:
      decimális-szám-literál
      hexadecimális-szám-literál
tizedesjegyek:
      tizedesjegyes tizedesjegyek
decimális számjegy:
az egyik
      0 1 2 3 4 5 6 7 8 9
hexadecimális-szám-literál:
      0xhexa számjegyek
      0Xhexa számjegyek
hexa számjegyek:
      hex-digit hex-digitsopt
hexa-digit:
az egyik
      0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e f
decimális-szám-literál:
      decimális számjegyek
.decimális számjegyek exponent-part opt
      .decimal-digits exponent-partopt
      decimal-digits exponent-partopt
exponent-part:

      e a tizedesjegyek aláírása
      E a tizedesjegyek aláírása
jel:
az egyik
      + -
szövegkonstans:
      "szövegkonstans karakterekopt"
szövegkonstans karakterek:
      szöveg-literál-karakter szöveg-literál-karakteropt
szövegkonstans karakter:
      egy szöveges karakter
      karakter-escape-sequence
      dupla idézőjel-escape-sequence
egy szöveges karakter:

      Bármely karakter, kivéve " (U+0022) vagy # (U+0023) után ( (U+0028)
dupla idézőjel-escape-sorozat:
      "" (U+0022, U+0022)
null-literál:
      null
verbatim-literál:
      #!"szövegkonstans karakterekopt"

Identifiers

Azonosító:
      normál azonosító
      idézett azonosító
normál azonosító:
      available-identifier
      available-identifier dot-character regular-identifier
available-identifier:

      Olyan kulcsszó vagy azonosító , amely nem kulcsszó
kulcsszó vagy azonosító:
      betűjel
      aláhúzásjel
      identifier-start-character identifier-part-characters
identifier-start-character:
      betűjel
      aláhúzásjel
azonosító-részkarakterek:
      identifier-part-character identifier-part-charactersopt
azonosító-rész karakter:
      betűjel
      decimális-számjegy karakter
      aláhúzásjel
      connecting-character
      egyesítési karakter
      formázási karakter
generalized-identifier:
      generalized-identifier-part
      generalized-identifier
, csak üres (U+0020) generalized-identifier-part
generalized-identifier-part:
      generalized-identifier-segment
      decimal-digit-character generalized-identifier-segment
generalized-identifier-segment:
      kulcsszó vagy azonosító
      kulcsszó-vagy azonosító pont-karakter kulcsszó vagy azonosító
pont-karakter:

      . (U+002E)
aláhúzásjel:
      _ (U+005F)
betűjel:_
      A Lu, Ll, Lt, Lm, Lo vagy Nl osztály Unicode-karaktere
egyesítési karakter:
      Az Mn vagy Mc osztály Unicode-karaktere
decimális-számjegy karakter:
      Az Nd osztály Unicode-karaktere
connecting-character:
      A Pc osztály Unicode karaktere
formázási karakter:
      A Cf osztály Unicode karaktere
idézett azonosító:
      #"szövegkonstans karakterekopt"

Kulcsszavak és előre definiált azonosítók

Az előre definiált azonosítók és kulcsszavak nem definiálhatók újra. A hivatkozott azonosítók olyan azonosítók kezelésére használhatók, amelyek egyébként ütköznének előre definiált azonosítókkal vagy kulcsszavakkal.

kulcsszó: az egyik
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

Operátorok és írásjelek

operátor vagy írásjel: az egyik
      , ; = < <= > >= <> + - * / & ( ) [ ] { } @ ? ?? => .. ...

Szintaktikai nyelvtan

Dokumentumok

Dokumentum:
      szakasz-dokumentum
      kifejezés-dokumentum

Szakaszdokumentumok

szakasz-dokumentum:
      section
Szakasz:
      literal-attributesopt
sectionsection-name;section-members opt
szakasz neve:
      Azonosító
szakasztagok:
      a szakasztagok szekciótagok választhatnak
szakasztag:
      literal-attributesopt sharedopt section-member-name
=expression;
section-member-name:
      Azonosító

Kifejezésdokumentumok

Kifejezések

kifejezés-dokumentum:
      Kifejezés
Kifejezés:
      logikai vagy kifejezési
kifejezések
      függvény-kifejezés
      let-expression
      if-expression
      hibafelemelés-kifejezés
      error-handling-expression

Logikai kifejezések

logikai vagy kifejezés:
      logikai és kifejezési
      logikai és kifejezési
orlogikai vagy kifejezés
logikai és kifejezési:
      is-expression
      logikai és kifejezési
andis-kifejezés

Kifejezés is

is-expression:
      kifejezésként
      is-expression
isnullable-primitive-type
nullable-primitive-type:

      nullableopt primitív típusú

Kifejezésként

kifejezésként:
      egyenlőségi kifejezés
      as-expression
asnullable-primitive-type

Egyenlőségi kifejezés

egyenlőségi kifejezés:
      relációs kifejezés
      relációs-kifejezés
=egyenlőség-kifejezés
      relációs-kifejezés
<>egyenlőség-kifejezés

Relációs kifejezés

relációs kifejezés:
      additív kifejezés
      additív kifejezés
<relációs kifejezés
      additív kifejezés
>relációs kifejezés
      additív kifejezés
<=relációs kifejezés
      additív kifejezés
>=relációs kifejezés

Aritmetikai kifejezések

additív kifejezés:
      multiplicative-expression
      multiplicative-expression
+additive-expression
      multiplicative-expression
-additive-expression
      multiplicative-expression
& _additive-expression
multiplicative-expression:
      metaadat-kifejezés
      metadata-expression
*multiplicative-expression
      metadata-expression
/multiplicative-expression

Metaadat-kifejezés

metaadat-kifejezés:
      unary-expression
      unary-expression
metaunary-expression

Unary kifejezés

unary-expression:
      type-expression

      +unary-expression
      -unary-expression
      notunary-expression

Elsődleges kifejezés

elsődleges kifejezés:
      literális kifejezés
      listakifejezés
      rekordkifejezés
      azonosító-kifejezés
      section-access-expression
      zárójeles kifejezés
      mezőhozzáférés-kifejezés
      item-access-expression
      invoke-expression
      nem implementált kifejezés

Literális kifejezés

literális kifejezés:
      Szó

Azonosító kifejezés

azonosító-kifejezés:
      azonosító-hivatkozás
azonosító-hivatkozás:
      kizárólagos azonosítóra mutató hivatkozás
      inclusive-identifier-reference
kizárólagos azonosító-hivatkozás:
      Azonosító
inclusive-identifier-reference:

      @Azonosító

Szakaszelérési kifejezés

section-access-expression:
      azonosító
!azonosítója

Zárójeles kifejezés

zárójeles kifejezés:
      (Kifejezés)

Nem implementált kifejezés

nem implementált kifejezés:
      ...

Kifejezés meghívása

invoke-expression:
      primary-expression
(argument-listopt)
argumentumlista:
      Kifejezés
      kifejezés
,argumentumlistája

Listakifejezés

listakifejezés:
      {elemlistaopt}
elemlista:
      Cikk
      elemlista
,
Cikk:
      Kifejezés
      kifejezés
..

Rekordkifejezés

rekordkifejezés:
      [mezőlistaopt]
mezőlista:
      mező
      mezőlista
,
Mező:
      mezőnév
=kifejezés
mezőnév:
      generalized-identifier
      idézett azonosító

Elem-hozzáférési kifejezés

item-access-expression:
      elem kijelölése
      optional-item-selection
elemkijelölés:
primary-expression
{item-selector}
optional-item-selection:
      primary-expression
{item-selector} ?
elemválasztó:
      Kifejezés

Mezőelérési kifejezések

mező-access-kifejezés:
      mező kijelölése
      implicit-target-field-selection
      Vetítés
      implicit-target-projection
mezőválasztás:
      primary-expression field-selector
mezőválasztó:
      required-field-selector
      optional-field-selector
required-field-selector:

      [mezőnév]
optional-field-selector:
      [mezőnév] ?
implicit-target-field-selection:
      mezőválasztó
Vetítés:
      primary-expression required-projection
      primary-expression optional-projection
required-projection:_
      [required-selector-list]
opcionális vetítés:
      [required-selector-list] ?
required-selector-list:
      required-field-selector
      required-field-selector
,required-selector-list
implicit-target-projection:
      required-projection
      opcionális-vetítés

Függvénykifejezés

függvény-kifejezés:
      (parameter-listopt)return-typeopt=>function-body
függvénytörzs:
      Kifejezés
paraméterlista:
      fix-parameter-list
      fix-parameter-list
,optional-parameter-list
      optional-parameter-list
rögzített paraméterlista:
      paraméter
      paraméter
,fix-parameter-list
Paraméter:
      parameter-name primitive-parameter-typeopt
paraméter-név:
      Azonosító
primitív-paraméter típusú:
      primitív-helyesség
visszatérési típus:
      primitív-helyesség
primitív-helyesség:

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

      optionalParaméter

Minden kifejezés

minden-kifejezés:
      eachminden-kifejezéstörzs
minden-kifejezés törzse:
      függvénytörzs

Kifejezés hagyása

let-expression:
      letváltozólista-kifejezésin
változólista:
      változó
      változó
,változólistája
Változó:
      változónév
=kifejezés
változó neve:
      Azonosító

Ha kifejezés

if-kifejezés:
      ifif-conditionthentrue-expressionelsefalse-expression
if-condition:
      Kifejezés
true-expression:
      Kifejezés
hamis kifejezés:
      Kifejezés

Típuskifejezés

type-expression:
      elsődleges kifejezés

      typeelsődleges típus
type:
      elsődleges kifejezés
      elsődleges típus
elsődleges típus:
      primitív típusú
      rekordtípus
      listatípus
      függvénytípus
      táblatípus
      nullable-type
primitív típusú:
az egyik
      any anynonnull binary date datetime datetimezone duration function
      list logical none null number record table text time type
rekordtípus:
      [open-record-marker]
      [mező-specifikáció-listaopt]
      [mezőspecifikációs lista,open-record-marker]
mezőspecifikációs lista:
      mezős specifikáció
      mezőspecifikáció
,mezőspecifikációs listája
mezős specifikáció:

      optionalopt field-name field-type-specificationopt
mezőtípus-specifikáció:

      =mezőtípus
mezőtípus:
      típus
open-record-marker:

      ...
listatípus:
      {elemtípus}
elemtípus:
      típus
függvénytípus:

      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:
      paraméter-specifikáció
optional-parameter-specification-list:
      optional-parameter-specification
      optional-parameter-specification
,optional-parameter-specification-list
optional-parameter-specification:

      optionalparaméter-specifikáció
paraméter-specifikáció:
      paraméternév paramétertípusa
paramétertípus:
      követelés
Állítás:

      asTípus
táblatípus:

      tablesortípus
sortípus:

      [mező-specifikáció-listaopt]
nullable-type:
      nullabletype

Hibafelkeltő kifejezés

hibafelemelés-kifejezés:
      error Kifejezés_

Hibakezelési kifejezés

error-handling-expression:
      tryprotected-expression error-handleropt
védett kifejezés:
      Kifejezés
hibakezelő:
      egyéb záradék
      catch-clause
egyéb záradék:

      otherwisealapértelmezett kifejezés
alapértelmezett kifejezés:
      Kifejezés
fogási záradék:
      catchcatch-function
catch-function:
      (parameter-nameopt=>)function-body

Literális attribútumok

literális attribútumok:
      rekordkonstans
rekordkonstans:

      [konstans mezőlistaopt]
literális mezőlista:
      literális mező
      literál-mező
,–mezőlista
literális mező:
      mezőnév
=tetszőleges konstans
listakonstans:

      {literal-item-listopt}
literál-elemlista:
      bármely-literál
      tetszőleges literál-elemlista
,
bármely-literál:
      rekordkonstans
      listakonstans
      logikai-literál
      szám-literál
      szövegkonstans
      null-literál