Skip to content

Commit

Permalink
Fix hrubka
Browse files Browse the repository at this point in the history
  • Loading branch information
Vaško authored Dec 11, 2016
1 parent f6a50c4 commit d0a421d
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions doc/dokumentace.tex
Original file line number Diff line number Diff line change
Expand Up @@ -43,12 +43,12 @@
\newgeometry{margin=2.5cm}

\begin{abstract}
Dokumentacia popisuje implementáciu interpretu jayzka IFJ16, ako podmnožinu jazyka java8, bez podpory objektového programovania.Projekt sa dá rozdeliť na štyri hlavné časti, z ktorých bude každej venovaná osobitná kapitola.
Dokumentácia popisuje implementáciu interpretu jayzka IFJ16, ako podmnožinu jazyka java8, bez podpory objektového programovania.Projekt sa dá rozdeliť na štyri hlavné časti, z ktorých bude každej venovaná osobitná kapitola.
\begin{itemize}
\item Lexikálny analyzátor, ktorý zo zdrojového programu získava tokeny
\item Syntaktický analzátor, ktorý rozdeľujeme na dve podčasti- syntaktický analyzátor jazykových konštrukcií a na analyzátor výrazov.
\item Sémantický analyzátor, ktorý v zdrojovom programe zisťuje, či konštrukcie s ktorými sa pracuje v programe nachádzajú v globálnom resp. lokálnom priestore.
\item Interpret, ktorź ma za úlohu previesť interpretáciu programu.
\item Interpret, ktorý ma za úlohu previesť interpretáciu programu.
\end{itemize}
\end{abstract}

Expand All @@ -57,7 +57,7 @@
\chapter{Štruktúra projektu}

\section{Lexikálna analýza}
Lexikálna analýza alebo teda Scanner funguje na princípe konečného automatu. Postupne načitáva znaky zo vstupného súboru a posiela ich syntaktickému analýzatoru vo forme tokenov.Poslany token obsahuje informácie o type, obsahu a pozicii(riadok,stĺpec) na ktorej sa v interpretovanom subore nachádza.Všetky tieto informácie su potrebné pre uľahčenie práce parseru.V prípade ,že načítame niečo čo nezapadá do pravidiel programovacieho jazyka IFJ16 nastane lexikálna chyba. Náš scanner podporuje aj všetky dostupne a povolené rozšírenia ako napríklad unárne operatory či rozširenie BASE a dalšie. Diagram konečného automatu si možete prezrieť v priloženej prílohe.V diagrame došlo k upravám, kvôli prehľadnosti stavov, preto stavy v diagrame úplne nezodpovedajú stavom v kóde.
Lexikálna analýza alebo teda Scanner funguje na princípe konečného automatu. Postupne načitáva znaky zo vstupného súboru a posiela ich syntaktickému analýzatoru vo forme tokenov.Poslaný token obsahuje informácie o type, obsahu a pozícii(riadok,stĺpec), na ktorej sa v interpretovanom súbore nachádza.Všetky tieto informácie potrebné pre uľahčenie práce parseru.V prípade ,že načítame niečo, čo nezapadá do pravidiel programovacieho jazyka IFJ16 nastane lexikálna chyba. Náš scanner podporuje aj všetky dostupne a povolené rozšírenia ako napríklad unárne operatory alebo rozširenie BASE a dalšie. Diagram konečného automatu si možete prezrieť v priloženej prílohe.V diagrame došlo k upravám, kvôli prehľadnosti stavov, preto stavy v diagrame úplne nezodpovedajú stavom v kóde.
\section{Syntaktická analýza}
Syntaktická analýza byla původně psaná jako pokus o reimplementaci Parsecu
(\url{https://hackage.haskell.org/package/parsec}) v C. Pak mi někdo připomněl,
Expand Down Expand Up @@ -122,14 +122,14 @@ \section{Komunikačné kanály}
\par Ako tím sme mali naplánované stretnutia pravidelne každé 2 až 3 týždne, kde sme preberali náš aktuálny stav a prognózu do ďalších dní, riešili rozhrania jednotlivých modulov a implementáciu rozšírení.

\chapter{Záver}
Tento projekt, implementácia interpretu IFJ16, bol veľkou výzvou hlavne po kooperatívnej stránke. Najväčsí problém pri kooperácii bolo zdielanie zdrojových kódov,cez verziovací systém, ktorý sme sa ku koncu projektu naučili lepšie používať. Náš interpret bol testovaný viacerými testami z vlastnej dielne a taktiež na viacerých operačných systémoch AntergOS, Fedora 22, Ubuntu 16.04.
Tento projekt, implementácia interpretu IFJ16, bol veľkou výzvou hlavne po kooperatívnej stránke. Najväčsí problém pri kooperácii bolo zdielanie zdrojových kódov,cez verziovací systém, ktorý sme sa ku koncu projektu naučili lepšie používať. Náš interpret bol testovaný viacerými testami z vlastnej dielne a taktiež na viacerých operačných systémoch AntergOS, Fedora 22, Ubuntu 16.04.Nevýhodou bola taktiež online komunikácia, kde sa zanášali nejasnosti, ktoré sa najlepšie riešia priamou interakciou. Naproti tomu urýchlila v určitých prípadoch vývoj ľahkých častí projektu.

\section{Metriky}

\begin{itemize}
\item Počet súborov: \textbf{97} (\textbf{27} v C)
\item celkový počet riadkov zdrojového kódu: \textbf{6622} (\textbf{5272} v C)
\item Počet Git commitov: \textbf{392}
\item Počet Git commitov: \textbf{396}
\end{itemize}


Expand Down

0 comments on commit d0a421d

Please sign in to comment.