\documentclass[a4paper]{article}
\textwidth 18cm \textheight 26cm \topmargin -3cm
\parindent 0.46in
\headsep 0.2in \oddsidemargin -2cm \evensidemargin 0cm
\hoffset0.8cm \voffset 1.8cm \pagestyle{empty}

\begin{document}
\begin{center}
\textbf{Prevodioci i interpretatori - Novembar 2003.}
\end{center}
\begin{enumerate}

\item Proveriti da li su jezici $L_1=(a^2+b^*a^+)^*$ i $L_2=((a^2)^*+b^*a)^*$ jednaki.
Odgovor obavezno dokazati.
\item U programskom jeziku C, tehnikom rekurzivnog spusta implementirati program koji sra\v cunava vrednosti niza
logi\v ckih formula zadatih u datoteci \v cije se ime prosledjuje sa standardnog ulaza. Formule
su definisane nad azbukom $$\Sigma=\{\&,|,=>,<=>,T,F,(,)\}$$ pri \v cemu se svi veznici zapisuju infiksno,
sa uobi\v cajenim prioritetom i asocijativno\v s\' cu. Prilikom sra\v cunavanja istinitosne vrednosti
koristiti tehniku lenjog izra\v cunvanja (\textit{lazy evaluation}).
\end{enumerate}
\vspace{1cm}
\begin{center}
\textbf{Prevodioci i interpretatori - Novembar 2003.}
\end{center}
\begin{enumerate}

\item Proveriti da li su jezici $L_1=(a^2+b^*a^+)^*$ i $L_2=((a^2)^*+b^*a)^*$ jednaki.
Odgovor obavezno dokazati.
\item U programskom jeziku C, tehnikom rekurzivnog spusta implementirati program koji sra\v cunava vrednosti niza
logi\v ckih formula zadatih u datoteci \v cije se ime prosledjuje sa standardnog ulaza. Formule
su definisane nad azbukom $$\Sigma=\{\&,|,=>,<=>,T,F,(,)\}$$ pri \v cemu se svi veznici zapisuju infiksno,
sa uobi\v cajenim prioritetom i asocijativno\v s\' cu. Prilikom sra\v cunavanja istinitosne vrednosti
koristiti tehniku lenjog izra\v cunvanja (\textit{lazy evaluation}).
\end{enumerate}
\vspace{1cm}
\begin{center}
\textbf{Prevodioci i interpretatori - Novembar 2003.}
\end{center}
\begin{enumerate}

\item Proveriti da li su jezici $L_1=(a^2+b^*a^+)^*$ i $L_2=((a^2)^*+b^*a)^*$ jednaki.
Odgovor obavezno dokazati.
\item U programskom jeziku C, tehnikom rekurzivnog spusta implementirati program koji sra\v cunava vrednosti niza
logi\v ckih formula zadatih u datoteci \v cije se ime prosledjuje sa standardnog ulaza. Formule
su definisane nad azbukom $$\Sigma=\{\&,|,=>,<=>,T,F,(,)\}$$ pri \v cemu se svi veznici zapisuju infiksno,
sa uobi\v cajenim prioritetom i asocijativno\v s\' cu. Prilikom sra\v cunavanja istinitosne vrednosti
koristiti tehniku lenjog izra\v cunvanja (\textit{lazy evaluation}).
\end{enumerate}
\vspace{1cm}
\begin{center}
\textbf{Prevodioci i interpretatori - Novembar 2003.}
\end{center}
\begin{enumerate}

\item Proveriti da li su jezici $L_1=(a^2+b^*a^+)^*$ i $L_2=((a^2)^*+b^*a)^*$ jednaki.
Odgovor obavezno dokazati.
\item U programskom jeziku C, tehnikom rekurzivnog spusta implementirati program koji sra\v cunava vrednosti niza
logi\v ckih formula zadatih u datoteci \v cije se ime prosledjuje sa standardnog ulaza. Formule
su definisane nad azbukom $$\Sigma=\{\&,|,=>,<=>,T,F,(,)\}$$ pri \v cemu se svi veznici zapisuju infiksno,
sa uobi\v cajenim prioritetom i asocijativno\v s\' cu. Prilikom sra\v cunavanja istinitosne vrednosti
koristiti tehniku lenjog izra\v cunvanja (\textit{lazy evaluation}).
\end{enumerate}

\newpage
\begin{enumerate}
\item[3]
Data je slede\' ca podklasa C-datoteka: na po\v cetku se nalaze deklaracije globalnih promenljivih
koje mogu biti samo osnovnog tipa \verb"(int, char, float)",  pri \v cemu eventualno mogu biti inicijalizovane
odgovaraju\' cim konstantama. Za deklaracijama sledi niz definicija funkcija osnovnog tipa, koje sadr\v ze
eventualno deklaracije lokalnih promenljivih i  iskaze dodele oblika
\begin{verbatim}
                                  prom = PozivFunkcije(....);
\end{verbatim}
Napisati program (kori\v s\' enjem flex-a i yacc-a) koji proverava da li su promenljive inicijalizovane konstantama
odgovaraju\' ceg tipa i da li su ispravne dodele vrednosti funkcija promenljivama u okviru naredbi
(funkcija treba da bude prethodno deklarisana u datoteci,
kao i da bude istog tipa kao i promenqiva).
U slu\v caju da neka od promenljivih nije deklarisana (ni kao lokalna ni kao globalna) javiti gre\v sku.
\end{enumerate}

\vspace{0.5cm}

\begin{enumerate}
\item[3]
Data je slede\' ca podklasa C-datoteka: na po\v cetku se nalaze deklaracije globalnih promenljivih
koje mogu biti samo osnovnog tipa \verb"(int, char, float)",  pri \v cemu eventualno mogu biti inicijalizovane
odgovaraju\' cim konstantama. Za deklaracijama sledi niz definicija funkcija osnovnog tipa, koje sadr\v ze
eventualno deklaracije lokalnih promenljivih i  iskaze dodele oblika
\begin{verbatim}
                                  prom = PozivFunkcije(....);
\end{verbatim}
Napisati program (kori\v s\' enjem flex-a i yacc-a) koji proverava da li su promenljive inicijalizovane konstantama
odgovaraju\' ceg tipa i da li su ispravne dodele vrednosti funkcija promenljivama u okviru naredbi
(funkcija treba da bude prethodno deklarisana u datoteci,
kao i da bude istog tipa kao i promenqiva).
U slu\v caju da neka od promenljivih nije deklarisana (ni kao lokalna ni kao globalna) javiti gre\v sku.
\end{enumerate}

\vspace{0.5cm}
\begin{enumerate}
\item[3]
Data je slede\' ca podklasa C-datoteka: na po\v cetku se nalaze deklaracije globalnih promenljivih
koje mogu biti samo osnovnog tipa \verb"(int, char, float)",  pri \v cemu eventualno mogu biti inicijalizovane
odgovaraju\' cim konstantama. Za deklaracijama sledi niz definicija funkcija osnovnog tipa, koje sadr\v ze
eventualno deklaracije lokalnih promenljivih i  iskaze dodele oblika
\begin{verbatim}
                                  prom = PozivFunkcije(....);
\end{verbatim}
Napisati program (kori\v s\' enjem flex-a i yacc-a) koji proverava da li su promenljive inicijalizovane konstantama
odgovaraju\' ceg tipa i da li su ispravne dodele vrednosti funkcija promenljivama u okviru naredbi
(funkcija treba da bude prethodno deklarisana u datoteci,
kao i da bude istog tipa kao i promenqiva).
U slu\v caju da neka od promenljivih nije deklarisana (ni kao lokalna ni kao globalna) javiti gre\v sku.
\end{enumerate}
\vspace{0.5cm}
\begin{enumerate}
\item[3]
Data je slede\' ca podklasa C-datoteka: na po\v cetku se nalaze deklaracije globalnih promenljivih
koje mogu biti samo osnovnog tipa \verb"(int, char, float)",  pri \v cemu eventualno mogu biti inicijalizovane
odgovaraju\' cim konstantama. Za deklaracijama sledi niz definicija funkcija osnovnog tipa, koje sadr\v ze
eventualno deklaracije lokalnih promenljivih i  iskaze dodele oblika
\begin{verbatim}
                                  prom = PozivFunkcije(....);
\end{verbatim}
Napisati program (kori\v s\' enjem flex-a i yacc-a) koji proverava da li su promenljive inicijalizovane konstantama
odgovaraju\' ceg tipa i da li su ispravne dodele vrednosti funkcija promenljivama u okviru naredbi
(funkcija treba da bude prethodno deklarisana u datoteci,
kao i da bude istog tipa kao i promenqiva).
U slu\v caju da neka od promenljivih nije deklarisana (ni kao lokalna ni kao globalna) javiti gre\v sku.
\end{enumerate}


\end{document}
