EBNF: Malsamoj inter versioj

[kontrolita revizio][kontrolita revizio]
Enhavo forigita Enhavo aldonita
formatigo de titoloj, +Projektoj, kosmetikaj ŝanĝoj
Linio 1:
En [[komputado]], '''Plivastigita notacio de Backs-Naur Formo (EBNF)''' estas familio de sintaksa notacio por esprimi senkuntekstan gramatikon, t.e. formalan manieron priskribi [[programlingvoj|programlingvojn]] kaj aliajn formalajn lingvojn. Ili estas plivastigitaj formoj de Backs-Naur Formo (BNF).
 
La plej frua EBNF estis origine disvolvita de [[Niklaus Wirth]]. Ekzistas pluraj variantoj de EBNF. La [[Internacia Organizo por Normigado]] adaptis EBNF kiel normo ([http://standards.iso.org/ittf/PubliclyAvailableStandards/s026153_ISO_IEC_14977_1996(E).zip ISO/IEC 14977]). Tiu ĉi artikolo uzas en ekzemploj, EBNF priskribitan en ISO normo.
 
==Bazo==
 
== Bazo ==
EBNF estas kodo kiu priskribas gramatikon de komputada lingvo.
EBNF konsistas el finformaj simboloj kaj nefinformaj produktoreguloj kiuj estas limigoj regantaj kiel la finformaj simboloj povas esti kombinitaj en laŭleĝan esprimon.
Linio 44 ⟶ 43:
 
<nowiki>''</nowiki>, 'a1c', 'bda' ktp.
 
Opcio povas esti esprimita per rektaj krampoj <code>[ ... ]</code>.
Ĉi, kio troviĝas inter rektaj krampoj povas aperi unu fojon aŭ tute ne:
Linio 66 ⟶ 65:
konsonanto = litero - vokalo ;
 
=== Tabelo de simboloj ===
 
===Tabelo de simboloj===
 
EBNF uzas la jenajn operatorojn (montritaj laŭ prioritatoj):
 
{| class="wikitable"
|-
! simbolo !! funkcio
|-
| <code>*</code> || obligosimbolo
Linio 92 ⟶ 89:
{| class="wikitable"
|-
! simbolo !! funkcio
|-
| <code>'...'</code> || finforma esprimo (unua formo)
Linio 109 ⟶ 106:
|}
 
== Ekzemploj ==
 
aa = "A";
bb = 3 * aa, "B";
Linio 131 ⟶ 127:
hh: AH AAH AAAH AAAAH AAAAAH ktp.
 
== Alternativo ==
 
La normo [http://standards.iso.org/ittf/PubliclyAvailableStandards/s026153_ISO_IEC_14977_1996(E).zip ISO/IEC 14977] difinas ankaŭ alternativajn simbolojn.
Ili estu uzataj se en komputiloj aŭ skribmaŝinoj mankas bazajn simbolojn.
Linio 141 ⟶ 136:
! priskribo !! baza simbolo !! alternativa simbolo
|-
| kunmeto || <code>,</code> (komo) ||
|-
| difino || <code>=</code> (egalsigno) ||
Linio 161 ⟶ 156:
| fino de grupigo || <code>(</code> (fina krampo) ||
|-
| komenco de komento || <code>(*</code> (komenca krampo, steleto) ||
|-
| fino de komento || <code>*)</code> (steleto, fina krampo) ||
|-
| komenco de opcio || <code>[</code> (komenca rekta krampo) || <code>(/</code> (komenca krampo, oblikva streko)
Linio 178 ⟶ 173:
|}
 
== Referencoj ==
 
* La internacia normo ([http://www.iso.org/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUMBER=26153 ISO 14977]) difinanta EBNF senpage akirebla kiel [http://standards.iso.org/ittf/PubliclyAvailableStandards/s026153_ISO_IEC_14977_1996(E).zip Zip-densigita PDF dosiero].
 
{{Projektoj}}
 
[[Kategorio:Formalaj lingvoj]]