Металингвистичка формула

У Бекусовој нотацији синтакса програмског језика описује се помоћу коначног скупа металингвистичких формула (МЛФ). Металингвистичка формула се састоји из леве и десне стране раздвојене специјалним, тзв. „универзалним“ метасимболом (симболом метајезика који се користи у свим МЛФ)"::=" који се чита „по дефиницији је“, тј. МЛФ је облика

А::=а

где је А-металингвистичка променљива, а а-металингвистички израз. МЛФ има значење:МЛ променљива А по дефиницији је МЛ израз а.

Металингвистичка променљива уреди

Металингвистичка променљива (МЛ променљива) је фраза природног језика у угластим заградама (<,>), и она представља појам, тзв. синтаксну категорију објект-језика. Она одговара помоћном симболу формалне граматике. Нпр. у програмском језику, синтаксне категорије су <програм>, <цео број>, <цифра>, <знак броја>, <име променљиве>, итд. У природном језику, синтаксне категорије су <реч>, <реченица>, <интерпукцијски знак>, итд. Металингвистичка променљива не припада објект језику.

"Ситније“ синтаксне категорије називају се лексичким категоријама или речима (имају значење али не стоје самостално; нпр. идентификатор, константа у програмском језику). „Крупније“ синтаксне категорије називају се реченицама (осим што имају одређено значење, егзистирају самостално; нпр. исказ у програмском језику).

Металингвистички израз уреди

Металингвистички израз (МЛ израз) се гради од металингвистичких променљивих и металингвистичких константи, уз коришћење других специјалних, тј. универзалних металингвистичких симбола.

Металингвистичке константе су симболи објект језика. То су, нпр., 0, 1, 2, +, -, али и резервисане речи програмског језика, нпр. IF, THEN, BEGIN, FUNCTION, итд.

Металингвистички израз може се састојати од једне металинвистичке променљиве или једне металингвистичке константе, а може се изградити и на један од следећа два начина:

1. на већформирани металингвистички израз допише се МЛ променљива или МЛ константа и тако се добије нови МЛ израз; 2. коначни низ претходно формираних МЛ израза раздвојених специјалним, тј. универзалним метасимболом (чита се или) представља нови МЛ израз.


Напомена уреди

Свака МЛ променљива која се појављује у МЛ изразу а мора се дефинисати посебном МЛФ.


Пример уреди

Језик целих бројева у декадном бројном систему може се описати следећим скупом МЛФ:

<цео број>::=<неозначени цео број> | <знак броја> <неозначени цео број>
<неозначени цео број>::= <цифра> | <неозначени цео број> <цифра>
<цифра>::=0|1|2|3|4|5|6|7|8|9 
<знак броја>::= +|-

Наведене МЛФ могу се прочитати на следећи начин: Цео број је по дефиницији неозначен цео број за којим следи цифра. Неозначен цео број је по дефиницији цифра или неозначен цео број за којим следи цифра. Цифра је по дефиницији 0 или 1 или 2 или 3 или 4 или 5 или 6 или 7 или 8 или 9. Знак броја је по дефиницији + или -.

Употреба универзалног метасимбола '|' само скраћује запис МЛФ а не повећава изражајну моћ нотације.

Извори уреди

  • Основи програмирања-Проф. др Гордана Павловић-Лажетић.

Види још уреди