<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="sr">
	<id>https://siwiki.rs/w/index.php?action=history&amp;feed=atom&amp;title=%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%81%D0%BA%D0%B8_%D0%BF%D1%80%D0%B5%D0%B2%D0%BE%D0%B4%D0%B8%D0%BE%D1%86%D0%B8_1%2F%D0%9A2_2019</id>
	<title>Програмски преводиоци 1/К2 2019 - Историја измена</title>
	<link rel="self" type="application/atom+xml" href="https://siwiki.rs/w/index.php?action=history&amp;feed=atom&amp;title=%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%81%D0%BA%D0%B8_%D0%BF%D1%80%D0%B5%D0%B2%D0%BE%D0%B4%D0%B8%D0%BE%D1%86%D0%B8_1%2F%D0%9A2_2019"/>
	<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%81%D0%BA%D0%B8_%D0%BF%D1%80%D0%B5%D0%B2%D0%BE%D0%B4%D0%B8%D0%BE%D1%86%D0%B8_1/%D0%9A2_2019&amp;action=history"/>
	<updated>2026-06-04T04:48:28Z</updated>
	<subtitle>Историја измена ове странице на пројекту</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%81%D0%BA%D0%B8_%D0%BF%D1%80%D0%B5%D0%B2%D0%BE%D0%B4%D0%B8%D0%BE%D1%86%D0%B8_1/%D0%9A2_2019&amp;diff=5075&amp;oldid=prev</id>
		<title>KockaAdmiralac: Ispravljen SELECT(2)</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%81%D0%BA%D0%B8_%D0%BF%D1%80%D0%B5%D0%B2%D0%BE%D0%B4%D0%B8%D0%BE%D1%86%D0%B8_1/%D0%9A2_2019&amp;diff=5075&amp;oldid=prev"/>
		<updated>2022-12-04T14:35:08Z</updated>

		<summary type="html">&lt;p&gt;Ispravljen SELECT(2)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;sr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Старија измена&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Верзија на датум 4. децембар 2022. у 16:35&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l66&quot;&gt;Ред 66:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ред 66:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#: SELECT(1) = {f}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#: SELECT(1) = {f}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &amp;amp;lt;S&amp;gt; → ε&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &amp;amp;lt;S&amp;gt; → ε&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#: SELECT(2) = {&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;a&lt;/del&gt;}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#: SELECT(2) = {&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;─┤&lt;/ins&gt;}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &amp;amp;lt;A&amp;gt; → &amp;lt;A&amp;gt; &amp;lt;A&amp;gt; d&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &amp;amp;lt;A&amp;gt; → &amp;lt;A&amp;gt; &amp;lt;A&amp;gt; d&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#: SELECT(3) = {f}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#: SELECT(3) = {f}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l77&quot;&gt;Ред 77:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ред 77:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#: SELECT(1) = {f}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#: SELECT(1) = {f}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &amp;amp;lt;S&amp;gt; → ε&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &amp;amp;lt;S&amp;gt; → ε&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#: SELECT(2) = {&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;a&lt;/del&gt;}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#: SELECT(2) = {&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;─┤&lt;/ins&gt;}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &amp;amp;lt;A&amp;gt; → f &amp;lt;A&amp;#039;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &amp;amp;lt;A&amp;gt; → f &amp;lt;A&amp;#039;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#: SELECT(3) = {f}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#: SELECT(3) = {f}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>KockaAdmiralac</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%81%D0%BA%D0%B8_%D0%BF%D1%80%D0%B5%D0%B2%D0%BE%D0%B4%D0%B8%D0%BE%D1%86%D0%B8_1/%D0%9A2_2019&amp;diff=5053&amp;oldid=prev</id>
		<title>KockaAdmiralac: Trajanje</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%81%D0%BA%D0%B8_%D0%BF%D1%80%D0%B5%D0%B2%D0%BE%D0%B4%D0%B8%D0%BE%D1%86%D0%B8_1/%D0%9A2_2019&amp;diff=5053&amp;oldid=prev"/>
		<updated>2022-12-01T11:19:12Z</updated>

		<summary type="html">&lt;p&gt;Trajanje&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;sr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Старија измена&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Верзија на датум 1. децембар 2022. у 13:19&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Ред 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ред 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{tocright}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{tocright}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Drugi kolokvijum 2019. godine&amp;#039;&amp;#039;&amp;#039; održan je 2. decembra. Postavka roka dostupna je [http://ir4pp1.etf.rs/Rokovi/2019-2020/pp1-1920-k1k2.zip sa stranice predmeta] (arhiva).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Drugi kolokvijum 2019. godine&amp;#039;&amp;#039;&amp;#039; održan je 2. decembra &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;i trajao je 90 minuta&lt;/ins&gt;. Postavka roka dostupna je [http://ir4pp1.etf.rs/Rokovi/2019-2020/pp1-1920-k1k2.zip sa stranice predmeta] (arhiva).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== 1. zadatak ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== 1. zadatak ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key si:diff::1.12:old-5048:rev-5053 --&gt;
&lt;/table&gt;</summary>
		<author><name>KockaAdmiralac</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%81%D0%BA%D0%B8_%D0%BF%D1%80%D0%B5%D0%B2%D0%BE%D0%B4%D0%B8%D0%BE%D1%86%D0%B8_1/%D0%9A2_2019&amp;diff=5048&amp;oldid=prev</id>
		<title>KockaAdmiralac: Moja rešenja K2 2019</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%81%D0%BA%D0%B8_%D0%BF%D1%80%D0%B5%D0%B2%D0%BE%D0%B4%D0%B8%D0%BE%D1%86%D0%B8_1/%D0%9A2_2019&amp;diff=5048&amp;oldid=prev"/>
		<updated>2022-12-01T10:59:50Z</updated>

		<summary type="html">&lt;p&gt;Moja rešenja K2 2019&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Нова страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{tocright}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Drugi kolokvijum 2019. godine&amp;#039;&amp;#039;&amp;#039; održan je 2. decembra. Postavka roka dostupna je [http://ir4pp1.etf.rs/Rokovi/2019-2020/pp1-1920-k1k2.zip sa stranice predmeta] (arhiva).&lt;br /&gt;
&lt;br /&gt;
== 1. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# Kojoj gramatici odgovara dati rekurzivni prepoznavač napisan na pseudojeziku?&lt;br /&gt;
# Nalaženjem SELECT skupova proveriti da li je gramatika iz tačke a) tipa LL(1).&lt;br /&gt;
# Ukoliko već nije, transformisati gramatiku iz tačke a) da bude LL(1).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
glavni program:&lt;br /&gt;
    INP = prvi ulazni simbol&lt;br /&gt;
    call PROCS;&lt;br /&gt;
    if (INP &amp;lt;&amp;gt; &amp;#039;─┤&amp;#039;)&lt;br /&gt;
        then REJECT;&lt;br /&gt;
        else ACCEPT;&lt;br /&gt;
    end if;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
procedure PROCS:&lt;br /&gt;
    case INP of&lt;br /&gt;
        &amp;#039;c&amp;#039;, &amp;#039;f&amp;#039;: {&lt;br /&gt;
            call PROCA;&lt;br /&gt;
            if (INP &amp;lt;&amp;gt; &amp;#039;a&amp;#039;)&lt;br /&gt;
                then REJECT;&lt;br /&gt;
                else call ADVANCE;&lt;br /&gt;
            end if;&lt;br /&gt;
        }&lt;br /&gt;
        &amp;#039;─┤&amp;#039;: /* ništa */ return;&lt;br /&gt;
        &amp;#039;a&amp;#039;, &amp;#039;d&amp;#039;: REJECT;&lt;br /&gt;
    end case;&lt;br /&gt;
end procedure;&lt;br /&gt;
&lt;br /&gt;
procedure PROCA:&lt;br /&gt;
    case INP of&lt;br /&gt;
        &amp;#039;c&amp;#039;: {&lt;br /&gt;
            call PROCA;&lt;br /&gt;
            call PROCA;&lt;br /&gt;
            if (INP &amp;lt;&amp;gt; &amp;#039;d&amp;#039;)&lt;br /&gt;
                then REJECT;&lt;br /&gt;
                else ADVANCE;&lt;br /&gt;
            end if;&lt;br /&gt;
        }&lt;br /&gt;
        &amp;#039;f&amp;#039;: call PROCB;&lt;br /&gt;
        &amp;#039;a&amp;#039;, &amp;#039;d&amp;#039;, &amp;#039;─┤&amp;#039;: REJECT;&lt;br /&gt;
    end case;&lt;br /&gt;
end procedure;&lt;br /&gt;
&lt;br /&gt;
procedure PROCB:&lt;br /&gt;
    case INP of&lt;br /&gt;
        &amp;#039;c&amp;#039;: ADVANCE;&lt;br /&gt;
        &amp;#039;f&amp;#039;: ADVANCE;&lt;br /&gt;
        &amp;#039;a&amp;#039;, &amp;#039;d&amp;#039;, &amp;#039;─┤&amp;#039;: REJECT;&lt;br /&gt;
    end case;&lt;br /&gt;
end procedure;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Ovaj rekurzivni prepoznavač odgovara gramatici sa mrtvim neterminalom &amp;amp;lt;A&amp;gt;. Ako bismo izbacili mrtve neterminale, dobili bismo gramatiku koja izgleda ovako:&lt;br /&gt;
# &amp;amp;lt;S&amp;gt; → &amp;amp;lt;A&amp;gt; a&lt;br /&gt;
# &amp;amp;lt;S&amp;gt; → ε&lt;br /&gt;
# &amp;amp;lt;A&amp;gt; → f&lt;br /&gt;
Ipak, ovo verovatno nije ono što je bio očekivani odgovor na ovu stavku. Bolja formulacija prve stavke bi bila &amp;quot;Kada bi se gramatika tehnikom rekurzivnog spusta prebacila u kod parsera, dobija se sledeći izvorni kod. Odrediti izvornu gramatiku.&amp;quot; U ovom slučaju dobija se gramatika koja izgleda ovako:&lt;br /&gt;
# &amp;amp;lt;S&amp;gt; → &amp;amp;lt;A&amp;gt; a&lt;br /&gt;
#: SELECT(1) = {f}&lt;br /&gt;
# &amp;amp;lt;S&amp;gt; → ε&lt;br /&gt;
#: SELECT(2) = {a}&lt;br /&gt;
# &amp;amp;lt;A&amp;gt; → &amp;lt;A&amp;gt; &amp;lt;A&amp;gt; d&lt;br /&gt;
#: SELECT(3) = {f}&lt;br /&gt;
# &amp;amp;lt;A&amp;gt; → f&lt;br /&gt;
#: SELECT(4) = {f}&lt;br /&gt;
Četvrta smena ove gramatike može biti samo f, zato što se PROCB iz originalnog parsera ne poziva u slučaju da na ulazu dođe terminal c.&lt;br /&gt;
&lt;br /&gt;
Ova gramatika nije LL(1) zbog prisustva leve rekurzije. Kada eliminišemo levu rekurziju, ova gramatika izgleda ovako:&lt;br /&gt;
# &amp;amp;lt;S&amp;gt; → &amp;amp;lt;A&amp;gt; a&lt;br /&gt;
#: SELECT(1) = {f}&lt;br /&gt;
# &amp;amp;lt;S&amp;gt; → ε&lt;br /&gt;
#: SELECT(2) = {a}&lt;br /&gt;
# &amp;amp;lt;A&amp;gt; → f &amp;lt;A&amp;#039;&amp;gt;&lt;br /&gt;
#: SELECT(3) = {f}&lt;br /&gt;
# &amp;amp;lt;A&amp;#039;&amp;gt; → &amp;lt;A&amp;gt; d &amp;lt;A&amp;#039;&amp;gt;&lt;br /&gt;
#: SELECT(4) = {f}&lt;br /&gt;
# &amp;amp;lt;A&amp;#039;&amp;gt; → ε&lt;br /&gt;
#: SELECT(5) = {a}&lt;br /&gt;
Na ovaj način se SELECT skupovi smena ne preklapaju, i zato je ova gramatika LL(1).&lt;br /&gt;
&lt;br /&gt;
== 2. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Za datu gramatiku sa neterminalima S i A:&lt;br /&gt;
# &amp;amp;lt;S&amp;gt; → &amp;amp;lt;A&amp;gt;&lt;br /&gt;
# &amp;amp;lt;S&amp;gt; → b c &amp;amp;lt;A&amp;gt; c&lt;br /&gt;
# &amp;amp;lt;A&amp;gt; → b&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# Popuniti sadržaje stanja karakterističnog LR(0) automata na datoj slici (ne popunjavati unutar {})&lt;br /&gt;
# Popuniti predikcione skupove {} unutar stanja na slici da bi se dobio karakteristični LALR(1) automat.&lt;br /&gt;
# Popuniti kontrolnu tabelu SLR(1) parsera.&lt;br /&gt;
# Popuniti kontrolnu tabelu LALR(1) parsera&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
[[Датотека:PPR K2 2019 zadatak 2 automat.svg|thumb|Dijagram iz stavki a i b zadatka.]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Kontrolna tabela SLR(1) parsera&lt;br /&gt;
! Stanje                     !! b     !! c                  !! ─┤&lt;br /&gt;
|-&lt;br /&gt;
| ∇                          || SHIFT ||                    ||&lt;br /&gt;
|-&lt;br /&gt;
| b&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;b&amp;lt;sub&amp;gt;4&amp;lt;/sub&amp;gt; ||       || &amp;#039;&amp;#039;&amp;#039;S/R konflikt&amp;#039;&amp;#039;&amp;#039; || REDUCE(3)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;lt;S&amp;gt;&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;         ||       ||                    || SHIFT&lt;br /&gt;
|-&lt;br /&gt;
| ─┤&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;             ||       ||                    || ACCEPT&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;lt;A&amp;gt;&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;         ||       ||                    || REDUCE(1)&lt;br /&gt;
|-&lt;br /&gt;
| c&amp;lt;sub&amp;gt;21&amp;lt;/sub&amp;gt;             || SHIFT ||                    ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;lt;A&amp;gt;&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;         ||       || SHIFT              ||&lt;br /&gt;
|-&lt;br /&gt;
| c&amp;lt;sub&amp;gt;22&amp;lt;/sub&amp;gt;             ||       ||                    || REDUCE(2)&lt;br /&gt;
|-&lt;br /&gt;
| b&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;              ||       || REDUCE(3)          || REDUCE(3)&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Kontrolna tabela LALR(1) parsera&lt;br /&gt;
! Stanje                     !! b     !! c         !! ─┤&lt;br /&gt;
|-&lt;br /&gt;
| ∇                          || SHIFT ||           ||&lt;br /&gt;
|-&lt;br /&gt;
| b&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;b&amp;lt;sub&amp;gt;4&amp;lt;/sub&amp;gt; ||       || SHIFT     || REDUCE(3)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;lt;S&amp;gt;&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;         ||       ||           || SHIFT&lt;br /&gt;
|-&lt;br /&gt;
| ─┤&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;             ||       ||           || ACCEPT&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;lt;A&amp;gt;&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;         ||       ||           || REDUCE(1)&lt;br /&gt;
|-&lt;br /&gt;
| c&amp;lt;sub&amp;gt;21&amp;lt;/sub&amp;gt;             || SHIFT ||           ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;lt;A&amp;gt;&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;         ||       || SHIFT     ||&lt;br /&gt;
|-&lt;br /&gt;
| c&amp;lt;sub&amp;gt;22&amp;lt;/sub&amp;gt;             ||       ||           || REDUCE(2)&lt;br /&gt;
|-&lt;br /&gt;
| b&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;              ||       || REDUCE(3) ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 3. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Data je gramatika koja opisuje niz koji se sastoji od jednog ili više celih brojeva razdvojenih zarezima. Datoj gramatici dodeliti atribute i akcije ukoliko je potrebno tako da startni neterminal &amp;amp;lt;niz&amp;gt; ima sintetizovani atribut u kome se nalazi duzina&amp;lt;sup&amp;gt;[sic]&amp;lt;/sup&amp;gt; najduze&amp;lt;sup&amp;gt;[sic]&amp;lt;/sup&amp;gt; neopadajuće sekvence u nizu. Smatrati da terminal BROJ ima sintetizovani atribut sa vrednošću tog broja. Za svaki uvedeni atribut potrebno je naznačiti njegov tip.&lt;br /&gt;
# &amp;amp;lt;niz&amp;gt; → BROJ , &amp;amp;lt;niz&amp;gt;&lt;br /&gt;
# &amp;amp;lt;niz&amp;gt; → BROJ&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Uvode se tri sintetizovana atributa, maksimalna dužina neopadajućeg niza brojeva (&amp;lt;math&amp;gt;ml&amp;lt;/math&amp;gt;), trenutna dužina neopadajućeg niza brojeva (&amp;lt;math&amp;gt;l&amp;lt;/math&amp;gt;) i prvi broj u nizu (&amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt;).&lt;br /&gt;
# &amp;amp;lt;niz&amp;gt;&amp;lt;sub&amp;gt;ml,l,n&amp;lt;/sub&amp;gt; → BROJ&amp;lt;sub&amp;gt;val&amp;lt;/sub&amp;gt; , &amp;amp;lt;niz&amp;gt;&amp;lt;sub&amp;gt;ml&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;,l&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;,n&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;&amp;lt;/sub&amp;gt;&lt;br /&gt;
#: &amp;lt;math&amp;gt;l \leftarrow (l_1 + 1) \cdot (val \leq n_1) + 1 \cdot (val &amp;gt; n_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
#: &amp;lt;math&amp;gt;ml \leftarrow l \cdot (l &amp;gt; ml_1) + ml_1 \cdot (l \leq ml_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
#: &amp;lt;math&amp;gt;n \leftarrow val&amp;lt;/math&amp;gt;&lt;br /&gt;
# &amp;amp;lt;niz&amp;gt;&amp;lt;sub&amp;gt;ml,l,n&amp;lt;/sub&amp;gt; → BROJ&amp;lt;sub&amp;gt;val&amp;lt;/sub&amp;gt;&lt;br /&gt;
#: &amp;lt;math&amp;gt;ml \leftarrow 1&amp;lt;/math&amp;gt;&lt;br /&gt;
#: &amp;lt;math&amp;gt;l \leftarrow 1&amp;lt;/math&amp;gt;&lt;br /&gt;
#: &amp;lt;math&amp;gt;n \leftarrow val&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Рокови]]&lt;br /&gt;
[[Категорија:Програмски преводиоци 1]]&lt;/div&gt;</summary>
		<author><name>KockaAdmiralac</name></author>
	</entry>
</feed>