Построение грамматики и вывод цепочек / Лаб1 / Отчет лаб1
.docФедеральное агентство по образованию РФ
Санкт-Петербургский Государственный Электротехнический Университет
«ЛЭТИ»
Кафедра ВТ
Отчет
по лабораторной работе №1:
«Построение грамматики и вывод цепочек».
Выполнил:
Фадеев С.
Преподаватель:
Холод И. И..
Санкт-Петербург
2007 г.
-
Цель: Получение практических навыков по составлению правил грамматики и проверка их правильности.
-
Задание (вариант №34): (F) Последовательность описания переменных (int, float ), условных операторов (if, then) и операторов присваивания с арифметическими выражениями (+, -).
-
Грамматика:
<I> ::= <begin><I>
<I> ::= $
<begin> ::= b<begin1>
<begin1> ::= e<begin2>
<begin2> ::= g<begin3>
<begin3> ::= i<begin4>
<begin4> ::= n<begin5>
<begin5> ::= {<Описание>}<end>
<end> ::= e<end1>
<end1> ::= n<end2>
<end2> ::= d<end0>
<Описание> ::= <var><if><end0>
<var> ::= real_<value>;<var1>|int_<value1>;<var1>|$
<var1> ::= <var>
<value1> ::= <int>
<value> ::= <int><frac>
<frac> ::= .<int>
<int> ::= 1|2|3|4|5|6|7|8|9
<if> ::= <if1><char3>
<if1> ::= _if_"("<char1>")"<char2>
<char2> ::= _then"("<S>")"
<char3> ::= _else_"("<S>")"
<char1> ::= <char><Znak>
<Znak> ::= "<" <char>|"=" <char>
<char> ::= a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z
<S> ::= <char><B2>|<if1>
<B2> ::= ":=" <H>
<H> ::= <char><znak><char>
<znak> ::= +|-
<end0> ::= $
-
Примеры цепочек:
-
begin{_if_"("v"="g")"_then"("a":="c+f")"_else_"("_if_"("c"<"u")"_then"("o":="s+t")"")"}end
-
begin{real_8.7;int_9;int_7;_if_"("e"="o")"_then"("p":="i-e")"_else_"("u":="m-k")"}end
-
begin{real_6.8;real_5.6;int_3;_if_"("k"="s")"_then"("_if_"("r"="a")"_then"("n":="t+f")"")"_else_"("_if_"("f"<"d")"_then"("v":="l+m")"")"}end
-
begin{int_8;_if_"("r"<"q")"_then"("_if_"("i"<"i")"_then"("i":="c+e")"")"_else_"("_if_"("p"="d")"_then"("_if_"("t"<"u")"_then"("_if_"("q"="w")"_then"("h":="d-x")"")"")"")"}end
-
Выводы: В данной лабораторной работе мы освоили программу ОСА (Учебная САПР Трансляторов). Научились строить грамматики, которые требуется получить в задании. Убедились в том, что данная грамматика построена правильно, путем просмотра примеров выводимых цепочек.