Лекция 01. Тема Общая характеристика языков программирования высокого уровня


a*(a+I0)   a*(a+I00)  a*(a+b00)


Download 4.1 Mb.
Pdf ko'rish
bet54/57
Sana12.11.2023
Hajmi4.1 Mb.
#1767546
TuriЛекция
1   ...   49   50   51   52   53   54   55   56   57
Bog'liq
Lektsii po YaP Lukinova 2 sem

 
a*(a+I0) 

a*(a+I00)

a*(a+b00).
 
2. Порождение цепочки (b0101)*(a101):
Е

E*E

(E)*E

(E)*(E)

(I)*(E)

(I)*(I)

(I1)*(I)

(I01)*(I)

(I101)*(I)

(I0101)*(I) 

(b0101)*(I) 

(b0101)*(I1) 

(b0101)*(I01)

(b0101)*(I101) 

(b0101)*(a101).
6.2.Основные понятия формы Бекуса-Наура (БНФ). 
Определение. 
Язык 
программирования 
– 
это 
множество 
последовательностей символов некоторого алфавита, удовлетворяющих 


правилам синтаксиса и задающих последовательность вычислений в 
соответствии с правилами семантики.
Далее приведена интерпретация понятий КС-грамматики для языка 
программирования.
Алфавит ЯП – набор символов, включающий в себя буквы, цифры, 
специальные символы и лексемы.
Лексема – синтаксическая единица нижнего уровня, имеющая смысл. 
Для языка программирования лексемами являются идентификаторы, 
ключевые слова, знаки операций и т.п.
Ключевые слова – множество зарезервированных в языке слов, 
определяют семантические понятия языковых конструкций или их частей.
Идентификаторысимволические имена, которыми именуются 
объекты программы.
Помимо синтаксической лексемы грамматика БНФ оперирует термином 
«грамматическая 
лексема», 
которая 
определяет 
смысл 
лексемы 
синтаксической, например, для оператора
i := i + 1
грамматическими лексемами будут являться следующие: 
i – идентификатор; 
:= – знак оператора присваивания; 
+ – знак операции; 
1 – текстовая константа.
Списки идентификаторов или объектов переменной длины описываются 
в БНФ следующим образом:
1) рекурсивными правилами, т.е. правилами, в которых левая часть 
входит в правую:
<список идентификаторов>

<идентификатор>

<идентификатор>,<список 
идентификаторов>;


2) фигурными скобками, которые указывают на то, что заключенная в 
них часть, может повторяться неограниченное количество раз или 
отсутствовать:
<список идентификаторов>

<идентификатор>{идентификатор};
Квадратными скобками обозначается необязательная часть правой части 
цепочки символов (оператора языка): 
if <логическое выражение> then <оператор> [else <оператор>];
Круглыми скобками обозначают выбор из группы одного элемента:
for <переменная>:=<выражение>(to 

downto)<выражение> do 
<оператор>;
Так же как и в КС-грамматике, в БНФ используются нетерминалы, 
которые определяют типы тех или иных операторов ЯПВУ. Например, 
оператор присваивания в терминах множества переменных V в БНФ 
представляется переменными <присвоить> и <выражение> следующим 
образом:

Download 4.1 Mb.

Do'stlaringiz bilan baham:
1   ...   49   50   51   52   53   54   55   56   57




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling