Лекция 01. Тема Общая характеристика языков программирования высокого уровня
Download 4.1 Mb. Pdf ko'rish
|
Lektsii po YaP Lukinova 2 sem
Пример 4.
Однозначная грамматика для вывода того же оператора присваивания А:=В+С*А, в которой учтен привычный приоритет арифметических операций, представляется следующим образом: <присвоить> < идентификатор > := <выражение> < идентификатор > A | B | C <выражение> < выражение > + <терм > | <терм > <терм > <терм > * < множитель > | < множитель > < множитель > (< выражение > ) | < идентификатор > Вывод предложения А:= В + С*А и однозначное дерево (рис.5.7). <присвоить> => < идентификатор > := <выражение> => А := <выражение> => А := <выражение> + < терм > => А := < терм > + < терм > => А := < множитель > + < терм > => А := < идентификатор > + < терм > => А := В + < терм > => А := В + < терм > * < множитель > => А := В + < идентификатор > * < множитель > ) => А := В + С * < множитель > ) => А := В + С * < идентификатор > ) => А := В + С * А Синтаксическое дерево изображено на рисунке 6.3. Рисунок 6.3. Синтаксическое дерево к порождению цепочки А:= В+С*А в однозначной грамматике Контрольные вопросы: 1. Определение КС-грамматики 2. Определение языка, заданного КС-грамматикой. 3. Что такое форма Бэкуса-Наура? 4. Привести примеры грамматики для вывода арифметического выражения, оператора присваивания. 5. Сделать вывод оператора присваивания, в грамматике, определенной в п.5. 6. Определение синтаксического дерева, 7. Что такое крона синтаксического дерева? 8. В чем заключается проблема неоднозначности грамматики арифметических выражений? 9. Как решается проблема неоднозначности грамматики арифметических выражений? := < присвоить > < идентификатор> < выражение> А <терм> А * <идентификатор> <множитель> C <множитель> <идентификатор> + < выражение > < терм > В < терм > <множитель> <идентификатор> Download 4.1 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling