Отпремање презентације траје. Молимо да сачекате

Отпремање презентације траје. Молимо да сачекате

Синтакса програмских језика и опис синтаксе

Сличне презентације


Презентација на тему: "Синтакса програмских језика и опис синтаксе"— Транскрипт презентације:

1 Синтакса програмских језика и опис синтаксе
Бекус-Наурова форма (БНФ) и проширена БНФ Синтаксни дијаграми

2 Бекус-Наурова форма (БНФ) и проширена БНФ
Синтакса дефинише релације и везе између знакова и групе знакова, независно од њиховог смисла или начина коришћења и интерпретирања.

3 Бекус-Наурова форма (БНФ) и проширена БНФ
Семантика дефинише везе између знакова или група знакова али са њиховим смислом, независно до начина њиховог коришћења и интерпретације. Прагматика представља релације између знакова или група знакова са њиховом интерпретацијом и коришћењем.

4 Бекус-Наурова форма (БНФ) и проширена БНФ
Програмски језици имају формално дефинисану синтаксу, а за опис те синтаксе користе се тзв. метајезици. Два основна средства за опис синтаксе програмског језика су синтаксни дијаграми и Бекусова нотација.

5 Бекус-Наурова форма (БНФ) и проширена БНФ
Бекус-Наурова форма (БНФ) је нотација којом се описивала синтакса неких језика.

6 Бекус-Наурова форма (БНФ) и проширена БНФ
Важе следећа правила: Металингвистичка променљива (нетерминални симбол језика, тј. симболи који морају даље да се дефинишу) наводе се у угластим заградама. Металингвистички оператори (терминални симболи језика) су сви основни симболи језика као и речи језика, а записују се у оквиру двоструких наводника. Симболи [] указују на опционе елементе. Симбол | означава ИЛИ операцију, тј алтернативу. Симбол '::=' чита се ''по дефиницији је''.

7 Бекус-Наурова форма (БНФ) и проширена БНФ
<цео број> = "0" | [ "-" ] <природан број>

8 Бекус-Наурова форма (БНФ) и проширена БНФ
Проширена БНФ или ЕБНФ уместо '::=' користи '='; “{}” указују да се садржај унутар ових заграда може поновити 0 или више пута, док се свака продукција завршава знаком ';'. Знак ',' означава конкатенацију а '-' изузетак.

9 Бекус-Наурова форма (БНФ) и проширена БНФ
Нетерминални симболи записују као речи или групе речи евентуално повезане цртицом за подвлачење.

10 Бекус-Наурова форма (БНФ) и проширена БНФ
цео број = "0" | [ "-" ], природан број;

11 Синтаксни дијаграми Синтаксни дијаграми су алтернативни начин за представљање синтаксе програмских језика. Традиционално се користе за опис синтаксе програмског језика Паскал па ћемо их у наставку најчешће користити.

12 Синтаксни дијаграми Ради се о графичком опису погодном за интерпретацију. Њиме се дефинишу нетерминални симболи језика. У оквиру описа, нетерминални симболи су у правоугаоницима а терминални симболи у овалима.

13 Синтаксни дијаграми Елементи синтаксе повезани су линијама са стрелицама. Тиме сваки синтаксни дијаграм представља један усмерен граф којим има један улаз и један излаз. Исправним синтаксним конструкцијама одговара неки пут у одговарајућем синтаксном дијаграму.

14 Синтаксни дијаграми

15 Синтаксни дијаграми Поређења ради, исти описи у БНФ су:
<expression> ::= <term> | <expression> "+" <term> <term> ::= <factor> | <term> "*" <factor> <factor> ::= <constant> | <variable> | "(" <expression> ")“ <variable> ::= "x" | "y" | "z" <constant> ::= <digit> | <digit> <constant> <digit> ::= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"

16 Синтаксни дијаграми Слично, у ЕБНФ исти описи су:
expression = term , {"+" , term}; term = factor , {"*" , factor}; factor = constant | variable | "(" , expression , ")"; variable = "x" | "y" | "z"; constant = digit , {digit}; digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" |"9";


Скинути ppt "Синтакса програмских језика и опис синтаксе"

Сличне презентације


Реклама од Google