<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="lt">
	<id>https://www.pipedija.com/index.php?action=history&amp;feed=atom&amp;title=Backus-Naur_forma</id>
	<title>Backus-Naur forma - Versijų istorija</title>
	<link rel="self" type="application/atom+xml" href="https://www.pipedija.com/index.php?action=history&amp;feed=atom&amp;title=Backus-Naur_forma"/>
	<link rel="alternate" type="text/html" href="https://www.pipedija.com/index.php?title=Backus-Naur_forma&amp;action=history"/>
	<updated>2026-04-28T15:57:29Z</updated>
	<subtitle>Šio puslapio versijų istorija projekte</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://www.pipedija.com/index.php?title=Backus-Naur_forma&amp;diff=83843&amp;oldid=prev</id>
		<title>ESM: Naujas puslapis: '''Backus-Naur forma''' - tai tokia matematinė metametakalba, kuri skirta kitų matematinių metakalbų apibrėžinėjimui. Kadangi tipiškiausias matematinės metakalbos atvejis yra visokios programavimo kalbos, tai ta šita metametakalba ir yra tam skirta.  Backus-Naur forma atsirado, kai žiloje senovėje būrelis programuotojų per kažkokią savo konferenciją bandė sudėlioti kokią tai normalią programavimo kalbą, kuri būtų patogi program...</title>
		<link rel="alternate" type="text/html" href="https://www.pipedija.com/index.php?title=Backus-Naur_forma&amp;diff=83843&amp;oldid=prev"/>
		<updated>2025-02-16T18:53:04Z</updated>

		<summary type="html">&lt;p&gt;Naujas puslapis: &amp;#039;&amp;#039;&amp;#039;Backus-Naur forma&amp;#039;&amp;#039;&amp;#039; - tai tokia matematinė &lt;a href=&quot;/index.php?title=Metametakalba&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Metametakalba (puslapis neegzistuoja)&quot;&gt;metametakalba&lt;/a&gt;, kuri skirta kitų matematinių &lt;a href=&quot;/index.php?title=Metakalbos&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Metakalbos (puslapis neegzistuoja)&quot;&gt;metakalbų&lt;/a&gt; apibrėžinėjimui. Kadangi tipiškiausias matematinės metakalbos atvejis yra visokios &lt;a href=&quot;/index.php/Programavimo_kalbos&quot; title=&quot;Programavimo kalbos&quot;&gt;programavimo kalbos&lt;/a&gt;, tai ta šita metametakalba ir yra tam skirta.  Backus-Naur forma atsirado, kai žiloje senovėje būrelis programuotojų per kažkokią savo konferenciją bandė sudėlioti kokią tai normalią programavimo kalbą, kuri būtų patogi program...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Naujas puslapis&lt;/b&gt;&lt;/p&gt;&lt;div&gt;'''Backus-Naur forma''' - tai tokia matematinė [[metametakalba]], kuri skirta kitų matematinių [[metakalbos|metakalbų]] apibrėžinėjimui. Kadangi tipiškiausias matematinės metakalbos atvejis yra visokios [[programavimo kalbos]], tai ta šita metametakalba ir yra tam skirta.&lt;br /&gt;
&lt;br /&gt;
Backus-Naur forma atsirado, kai žiloje senovėje būrelis programuotojų per kažkokią savo konferenciją bandė sudėlioti kokią tai normalią programavimo kalbą, kuri būtų patogi programavimui. Tuo metu pagrindinė programavimo kalba buvo [[Fortran]], bet ji nebuvo patogi - tuometinė Fortran buvo visai nestruktūruota ir panašesnė į kažkokius mašinų kodus ar [[asembleris|asemblerį]]. Tai tie programuotojai sutarė, kad gal ir neišeis normalios programavimo kalbos padaryti, bet reikia bent jau susikurti tokią, kuria jie galėtų rašyti visokius algoritmus ir jais dalintis, kad būtų lengvai suprantama.&lt;br /&gt;
&lt;br /&gt;
Tai štai šitaip jiems ir gavosi pirma [[Algol]] kalbos versija - Algol-58. O kartu su ta versija jiems prireikė apsibrėžti ir kalbos gramatiką, tai tai gramatikai padarė tokią išplėstą Algol versiją, kuri skirtųsi tiek, kad ja kažką užrašius, matytųsi, jog tai jau nėra Algol programa, bet kartu būtų panašiai į Algol. Kadangi pirmas tą idėją iškėlė ir surašė toksai John Backus, tai pavadinimas gavosi nuo jo, bet paskui viską supaprastino ir davedė toksai Peter Naur, tai galų gale gavosi pavadinimas &amp;quot;Backus-Naur form&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Visa Backus-Naur forma yra labai paprasta:&lt;br /&gt;
&lt;br /&gt;
Bet koks apibrėžimas yra sudarytas iš trijų nuosekliai einančių dalių:&lt;br /&gt;
* '''&amp;lt;simbolis&amp;gt;''' - tam tikras pavadinimas, arba [[ženklas]], kuris visada įskliaudžiamas į kampinius skliaustus &amp;lt;&amp;gt;&lt;br /&gt;
* '''::=''' - pakeitimo ženklas reiškia, kad tas simbolis arba ženklas kairėje nuo pakeitimo ženklo yra pakeičiamas į ekspresiją, kuri yra dešinėje nuo šio ženklo&lt;br /&gt;
* '''__ekspresija__''' - tai vienas ar daugiau simbolių, kurie gali būti skiriami ženklu &amp;quot;|&amp;quot;, jei yra pasirinkimas tarp jų, o visa ekspresija gali būti panaudota tam, kad pakeistų apibrėžimo kairėje pusėje esantį simbolį&lt;br /&gt;
&lt;br /&gt;
Štai pvz.:&lt;br /&gt;
* &amp;lt;Pipedija&amp;gt; ::= tokia [[enciklopedija]]&lt;br /&gt;
* &amp;lt;Enciklopedija&amp;gt; ::= tokia [[knyga]] | toksai [[tinklapis]]&lt;br /&gt;
* &amp;lt;Knyga&amp;gt; ::= daug popieriaus su [[raidės|raidėmis]]&lt;br /&gt;
* &amp;lt;Tinklapis&amp;gt; ::= daug ekrano su [[raidės|raidėmis]]&lt;br /&gt;
* &amp;lt;Daug&amp;gt; ::= daugiau, negu 3&lt;br /&gt;
* &amp;lt;Raidė&amp;gt; ::= toksai kringelis&lt;br /&gt;
* &amp;lt;Toksai&amp;gt; ::= bereikšmis [[žodis]]&lt;br /&gt;
* &amp;lt;Popierius&amp;gt; ::= plokščias celiuliozės lakštas&lt;br /&gt;
* &amp;lt;Ekranas&amp;gt; ::= toksai daiktas, kuris šviečia ir ant jo rodosi dalykai&lt;br /&gt;
&lt;br /&gt;
Reikalas tas, kad gana panašiais apibrėžimais galima aprašyti kokią tai [[programavimo kalba|programavimo kalbą]] taip, kad ją paskui galėtų sugeneruoti programavimo kalboms generuoti skirtas softas, ir taip gautųsi koksai tai [[transliatorius]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Programavimas]]&lt;br /&gt;
[[Category:Kalbos]]&lt;/div&gt;</summary>
		<author><name>ESM</name></author>
	</entry>
</feed>