Formo de Backus–Naur

Formo de Backus–Naur estas maniero prezenti formalan gramatikon senkuntekstan. La ideo apartenas al John Backus, ĝin iom modifis Peter Naur, kaj unue ĝi estis uzita por priskribi la sintakson de Algolo 60.

Jen kiel ĝin priskribas la «Reviziita Raporto pri Algolo 60"»:
1.1. Formala sistemo por sintaksa priskribo

La sintakso estos priskribata per metalingvistikaj formulojJ. W. Backus. The syntax and semantics of the proposed international algebraic language of the Zurich ACM-CAMM conference. ICIP Paris, June 1959.. Ilian interpretadon plej bone klarigas ekzemplo:

 ‹ab› ::= ( | [ | ‹ab› ( | ‹ab› ‹d›

Vicoj da signoj enfermitaj inter angulaj krampoj prezentas metalingvistikajn variablojn kies valoroj estas vicoj da simboloj. La metasimboloj ::= kaj | (ĉi-lasta signifas aŭ) estas metalingvistikaj ligiloj. Ĉiu formulero, kiu ne estas variablo aŭ ligilo, prezentas sin mem (aŭ la aron da al ĝi similaj simboloj).

Apudmeto de simboloj kaj (aŭ) variabloj en formulo signifas apudmeton de la prezentataj vicoj. Do, la supra formulo donas rekursian regulon por formi valorojn de la variablo ‹ab›. Ĝi indikas, ke ( kaj [ estas taŭgaj valoroj por ‹ab›, kaj ke el ĉiu tia valoro oni povas formi pluajn aldonante post ĝin la signon ( aŭ iun ajn valoron de la variablo ‹d›. Se la valoroj de ‹d› estas dekumaj ciferoj, jen estas kelkaj valoroj por ‹ab›:

 [((1(37(
 (12345(
 (((
 [86

Por plifaciligi la studon, la simboloj elektitaj por distingi la metalingvistikajn variablojn (t.e. signovicoj inter la angulaj krampoj, kia ab en la antaŭa ekzemplo) estas vortoj, proksimume priskribantaj la sencon de la responda variablo.

 Piednoto 

Kategorio:Formalaj lingvoj
Kategorio:Programlingvaj temoj