
- •4. Таблица идентификаторов.
- •5. Кэш адресация
- •6. Формальные языки и грамматики.
- •7. Понятие языка
- •8. Запись грамматики в форме Бэкуса-Наура.
- •9. Запись правил грамматики с использованием метасимволов.
- •10. Запись правил гр-ки в граф-м виде
- •11. Классификация грамматик
- •12. Классификация языков.
- •Цепочки вывода
- •Дерево вывода
- •Правила задающие неоднозначность грамматик
- •Распознаватель
- •Задача разбора
- •Этапы семантического анализа
6. Формальные языки и грамматики.
Цепочки символов и операции над ними.
Ц.с. – это произвольная последовательность символов,записанных один за другим.
Для цс важен состав, кол-во символов и порядок. Цс α и β равны α=β или совпадают,если они имеют один и тот же состав символов,одно и то же их кол-во,одинак-ый порядок следованиясимволов в цепочке.Кол-во символов в цепочке наз длиной.
Цс обладают след св-ми:
1)Конкатенация – объединение или сложение 2-х цепочек αβ
α=“BA”
β=“CL” => αβ=“BACL”
Операция конкатенации не обл св-вом коммут-ти αβ≠βα. Обл св-м ассоциат-ти (αβ)γ=α(βγ)
2)обращение цепочки – запись символов цепочки в обр порядке αR, α=“ВАСЯ” => αR=“ЯСАВ” Для данной операции справедливо (αβ)R=αRβR
3)итерация – повторение цепочки n раз
4)пустая цепочка символов – это цепочка, не сод-щая ни одного символа – λ для пустой цепочки справедливо: 1) |λ|=0; 2) для любого α: λα=αλ=α; 3)λR=λ; 4) для любого n≥0:λn=λ; 5)для любого α: α0=λ
7. Понятие языка
Язык – это заданный набор символов и правил,уст-х способы комб-ции этих симв-в м/у собой для записи осмысленных текстов.
Алфавит – счетное множ-во допустимых символов языка – V.
Цепочка сисмволов α явл цепочкой над алфавитом α(V), если в неё входят только символы принадлежащие мн-ву символов V.
V+ - мн-во всех цепочек над алф-м V без λ
V* - мн-во всех цепочек над алф-м с λ
V*=V+U{λ}
Язык L над алф-м V – L(V) это некоторое счетное подмн-во цепочек конечной длины из мн-ва всех цепочек над алф V.
Цепочку символов,принадлеж-ую заданному языку,наз предложением.
Язык можно задать 3 способами:1)перечисление всех допустимых цепочек; 2)указ-ие способа порождения предложений языка(грамматика); 3)опр-ие метода распознавания языка(распознаватель,автомат)
Лексика – сов-ть слов(слов запас)
Синтаксис – набор правил,определяющий допустимые конструкции языка(опр-ет форму языка)
Семантика – раздел языка,опр-щий значение предложений языка(опр-ет сод-ие языка)
Часто формальные языки лишены смысла.
Для задания языка прогр-ия необх решить след задачи:1)опр-ть допустимое мн-во символов языка;2)опр-ть мн-во правильных программ языка;3)задать смысл для каждой прав-ой программы
Определение грамматики языка.
Грамматика – это описание способа построения предложений некоторого языка.
Правило или продукция – это упор-ая пара цепочек симв-в (α,β), в пр-лах важен порядок цепочек (α→β α порождает β). Язык заданной грамматикой G=L(G). Грамматика опр-ся черверкой: G(VT,VN,P,S),где VT-мн-во терм симв-в, VN-мн-во нетерм симв-в, P-мн-во правил, S-целевой символ грамматики.
Рекурсия выр-ся в том,что 1 из нетермин символов опр-ся сам через себя. Рекурсия м.б. явной и не явной.
8. Запись грамматики в форме Бэкуса-Наура.
Данная форма записи предполагает:
1)α→β1, α→β2, …, α→βn
α→β1| β2|… |βn
2)все нетерм символы закл-ся в угл. скобках <A>
9. Запись правил грамматики с использованием метасимволов.
1.() – из всех перечисл-х внутри них цепочек в данном месте пр-ла гр-ки может стоять только одна
2.[] – указ-я в них цепочка может встр-ся в данном месте,а может и не встр-ся
3.{} – указ-я в них цепочка симв-в в данном месте правила гр-ки может не встр,встр 1 раз или много раз
4. , - исп-ся для того,чтобы разд-ть цепочку симв-в внутри ()
5. “ ” исп в тех случаях,когда 1 из метасимволов нужно вкл в цепочку обычным образом.